👏🎉 First off all, Thanks for your interest in contributing to our project! 🎉👏
The following is a set of guidelines for contributing to Cookiecutter Modern PyPackage. These are mostly guidelines, not rules. Use your best judgment, and feel free to propose changes to this document in a pull request.
We take our open source community seriously and hold ourselves and other contributors to high standards of communication. By participating and contributing to this project, you agree to uphold our Code of Conduct.
We use poetry
to manage and install dependencies. Poetry provides a custom installer that will install poetry
isolated from the rest of your system.
curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/install-poetry.py | python -
We'll also need nox
for automated testing in multiple Python environments so install that too.
To install the local development requirements inside a virtual environment run:
$ poetry install
$ poetry run inv install-hooks
For more information about
poetry
check the docs.
We use invoke to wrap up some useful tasks like formatting, linting, testing and more.
Execute inv[oke] --list
to see the list of available commands.
We use GitHub issues to track public bugs/enhancements. Report a new one by opening a new issue.
In this repository, we provide a couple of templates for you to fill in for:
- Bugs
- Feature Requests/Enhancements
Please read each section in the templates and provide as much information as you can. Please do not put any sensitive information, such as personally identifiable information, connection strings or cloud credentials. The more information you can provide, the better we can help you.
Please follow these steps to have your contribution considered by the maintainers:
- Fork the repo and create your branch from
develop
locally with a succinct but descriptive name. - Add tests for the new changes
- Edit documentation if you have changed something significant
- Make sure to follow the styleguides
- Open a PR in our repository and follow the PR template so that we can efficiently review the changes
- After you submit your pull request, verify that all status checks are passing
While the prerequisites above must be satisfied prior to having your pull request reviewed, the reviewer(s) may ask you to complete additional design work, tests, or other changes before your pull request can be ultimately accepted.
All Python code is linted with Ruff and formated with
Isort and Black. You can
execute inv[oke] lint
and inv[oke] format
.
If you have any question feel free to contact us at [email protected].