Contributing¶
Contributions to BUSCOlite are welcome! Here's how you can contribute:
Setting Up Development Environment¶
-
Fork the repository on GitHub
-
Clone your fork locally:
- Install the package in development mode:
- Install development dependencies:
Running Tests¶
BUSCOlite uses pytest for testing. To run the tests:
# Run all tests
pytest
# Run with coverage report
pytest --cov=buscolite
# Run only unit tests
pytest tests/test_*.py
# Run only integration tests
pytest tests/integration/
Code Style¶
BUSCOlite follows the PEP 8 style guide. You can use black and flake8 to ensure your code meets these standards:
# Format code with black
black buscolite tests
# Check code style with flake8
flake8 buscolite tests
Pull Request Process¶
- Create a new branch for your feature or bugfix:
-
Make your changes and commit them with descriptive commit messages
-
Push your branch to your fork:
-
Create a pull request on GitHub
-
Wait for the automated tests to pass
-
Address any review comments
Adding Documentation¶
BUSCOlite uses MkDocs with Material theme for documentation. To build the documentation:
- Install MkDocs and dependencies:
- Serve the documentation locally:
-
View the documentation in your browser at
http://127.0.0.1:8000 -
Build the documentation:
Adding New Features¶
When adding new features, please also add:
- Tests for the new feature
- Documentation for the new feature
- An entry in the changelog
Reporting Issues¶
If you find a bug or have a feature request, please open an issue on GitHub:
https://github.com/nextgenusfs/buscolite/issues
When reporting bugs, please include:
- Your operating system and version
- Python version
- BUSCOlite version
- Steps to reproduce the issue
- Expected behavior
- Actual behavior
- Any error messages or logs