Thank you for considering contributing to pycellga! We welcome contributions from the community and are excited to collaborate with you.
If you find a bug, please report it by creating an issue in the issue tracker. Include detailed information about the bug, including steps to reproduce it, the expected behavior, and what actually happens.
If you have an idea for an enhancement or a new feature, please open an issue in the issue tracker to discuss it. Provide as much detail as possible, including the problem the enhancement would solve and any suggested solutions.
- Fork the Repository: Fork the repository on GitHub and clone it to your local machine.
- Create a Branch: Create a new branch for your work.
git checkout -b feature-branch
- Make Changes: Make your changes to the codebase. Ensure your code adheres to the project's coding standards.
- Commit Changes: Commit your changes with a descriptive commit message.
git commit -m "Description of the feature or fix"
- Push Changes: Push your changes to your forked repository.
git push origin feature-branch
- Create a Pull Request: Open a pull request to merge your changes into the main repository. Provide a clear and detailed description of your changes.
Please ensure your code follows the project's coding standards. Use PEP 8 as a guideline for Python code.
Before submitting a pull request, ensure that your changes pass all the tests and do not introduce any regressions. Here's how to test your changes:
-
Set up your environment:
- Install all necessary dependencies from
requirements.txt
:pip install -r requirements.txt
- Install any additional developer dependencies:
pip install pytest pytest-cov
- Install all necessary dependencies from
-
Run the tests:
- Execute the test suite using
pytest
:pytest
- Verify that all tests pass without errors.
- Execute the test suite using
-
Check code coverage:
- Run tests with coverage reporting:
pytest --cov=pycellga
- Ensure that your changes do not significantly reduce the code coverage. A minimum of 90% coverage is recommended.
- Run tests with coverage reporting:
-
Add new tests (if applicable):
- If your changes introduce new features or modify existing functionality, write additional test cases to cover these changes.
- Place your tests in the appropriate subdirectory within the
tests
folder, following the naming conventiontest_<feature_name>.py
.
-
Review testing guidelines:
- Ensure your tests follow the existing style and structure used in the project. Use descriptive function names and provide comments where necessary to clarify the test's purpose.
Update documentation as necessary to reflect your changes. This includes updating the README.md file and any relevant docstrings in the code.
Please read and adhere to the Code of Conduct for contributing to this project.
Thank you for your contributions! We appreciate your effort and look forward to collaborating with you.