Contributingπ
Thank you for your interest in contributing to autopypath! We always welcome contributions from the community to help improve the project.
Code of Conductπ
We expect all contributors to adhere to the Code of Conduct of this project.
Ways to Contributeπ
There are several ways you can contribute to autopypath:
Reporting Issues: If you encounter any bugs or have suggestions for new features, please open an issue on the GitHub repository.
Submitting Pull Requests: If you would like to contribute code, please fork the repository, make your changes, and submit a pull request. Please ensure that your code follows the projectβs coding standards and includes appropriate tests.
Improving Documentation: Good documentation is crucial for any project. If you find areas where the documentation can be improved, please submit a pull request with your changes.
Testing: Help us ensure the quality of autopypath by testing new features and reporting any issues you encounter.
Getting Startedπ
To contribute code or documentation updates to autopypath, follow these steps:
Fork the autopypath repository on GitHub.
Clone your fork to your local machine:
git clone https://github.com/<your-username>/python-autopypath.git
Change into the project directory:
cd python-autopypath
Create a new branch for your changes. Please use descriptive names for your branches to indicate the purpose of your changes such as
feature/my-feature-branchorfix/issue-123,docs/update-readme, etc.git checkout -b feature/my-feature-branch
Setup the development environment as described in the Development Installation section by running the
bootstrap.pyscript and activating the virtual environment.This will install all necessary dependencies for development and testing including current versions of tox, ruff, mypy, sphinx, etc.
Running the bootstrap scriptπpython bootstrap.py
Activating the virtual environment on Linux/macOSπsource .venv/bin/activate
Activating the virtual environment on Windowsπ.venv\Scripts\activate
Activating the virtual environment on Windows PowerShellπ.\.venv\Scripts\Activate.ps1
Make your changes and test them thoroughly using the existing test suite and by adding new tests if necessary. Our goal is to maintain high code quality and ensure that all code is tested and all tests pass before merging any contributions.
We use ruff and mypy for linting, code style, and type checking, so please ensure your code adheres to the projectβs coding standards. This is largely automated via tox and the
toxconfiguration already includes ruff and mypy checks as part of the test suite.If the tests donβt pass or donβt cover your changes, the pull request may be delayed or rejected.
You can run the test suite using
tox:tox runIt checks your code against multiple Python versions and runs all tests to ensure compatibility and correctness.
Update the documentation if your changes affect the user experience or introduce new features. Changes to the documentation should be clear and concise. Pull requests that do not include necessary documentation updates may be delayed or rejected.
The documentation is built using Sphinx and the source files are located in the docs_source directory of the project.
You can locally build the documentation using
tox run -e docsto verify your changes. The built documentation will be available in thedocumentationdirectory.tox run -e docs
Push your changes to your fork:
git push origin my-feature-branch
Open a pull request on the
python-autopypathrepository.Make sure to provide a clear description of your changes, the problem they solve, and any relevant context. Link to any related issues if applicable.
Please try to make your pull requests focused and concise to facilitate easier review.
Huge pull requests that cover multiple unrelated changes are harder to review and could be delayed or rejected.
Checklist for Pull Requests
Before submitting a pull request, please ensure the following:
β All tests pass.
β Code is properly formatted and adheres to coding standards.
β Documentation is updated if necessary.
β Pull request description is clear and comprehensive.
β Changes are linked to relevant issues if applicable.
Engage in the code review process and make any necessary changes based on feedback.
uv.lockπ
uv.lock is included in the source distribution to support reproducible
builds and independent verification. Use of uv is optional for contributors.
Need Help?π
If you have any questions or need assistance with contributing to autopypath, open an issue on the GitHub repository or reach out to the maintainers.