Thank you for your interest in contributing to Taxonomy Resolver! We welcome all contributions to make this project better and more useful for the community. This document will guide you through the steps required to contribute to this project.
To start contributing:
Fork the repository from taxonomy-resolver.
Clone your fork locally:
git clone https://github.com/your-username/taxonomy-resolver.git
Install the necessary dependencies:
pip install -r requirements.txt
Alternatively, use Poetry to install the necessary dependencies:
poetry install
Make sure to check the issues list before contributing. It helps to discuss your contribution idea beforehand, either by opening a new issue or commenting on an existing one.
If you encounter any bugs or unexpected behavior, feel free to open an issue on GitHub. When submitting an issue:
- Use a clear and descriptive title.
- Describe the steps to reproduce the problem.
- Mention the Python version and platform you're using.
- Include any relevant logs, screenshots, or error messages.
We welcome new feature suggestions! If you have an idea to improve Taxonomy Resolver, open an issue with:
- A detailed description of the feature.
- Potential use cases for the feature.
- Why the feature would be useful for the community.
If you'd like to contribute code, follow these steps:
Fork the repository by clicking the "Fork" button on the top right of the repository page.
Clone the forked repository to your local machine:
git clone https://github.com/your-username/taxonomy-resolver.git
Always create a new branch for your changes. Choose a descriptive name for the branch based on the feature or fix you're working on:
git checkout -b feature/my-feature-name
- Add or modify functionality in the appropriate module.
- Ensure your code follows the Code Style guidelines.
- Write or update tests for your changes.
Before submitting your contribution, run the test suite to ensure your changes don't break existing functionality:
pytest tests/test_*.py
# or simply
pytest
If you're adding new functionality, be sure to include tests to cover that behavior.
Once you're ready to submit your changes:
Push the changes to your branch on your forked repository:
git push origin feature/my-feature-name
Open a pull request (PR) from your fork to the original repository. In your PR description: - Explain the purpose of the changes. - Link to the relevant issue if it exists. - Provide any additional context or background for reviewers.
We follow PEP 8 for Python code style. Please ensure your code adheres to these guidelines. Additionally, we use the following tools to maintain code quality:
Black for code formatting:
black .
We use the pytest
framework for testing. Please ensure that all new features and changes are covered by unit tests.
To run the test suite:
pytest
You are encouraged to write tests that cover edge cases and typical usage patterns. All tests should pass before you submit a pull request.
Documentation is important! If you make changes to the codebase, please ensure the relevant documentation is updated. Documentation is currently provided as part of the main README.rst
- Ensure all public methods, functions, and classes are well-documented with docstrings.
- If adding a new feature or CLI command, update the README or other relevant documentation.
By contributing to this project, you agree that your contributions will be licensed under the Apache License 2.0.
Thank you for your contributions!