All contributions, ideas and bug reports are more than welcome! We encourage you to open an issue for any change you would like to make on this project.
If you wish to contribute, please follow this process:
- Fork the main branch of the repository.
- Clone your fork locally.
- Set up your environment (see
Dependenciessection below). - Commit your work after ensuring it meets the guidelines described below (code style, checks).
- Push to your fork.
- Open a pull request from your fork back to the original main branch.
We use poetry to manage the dependencies.
If you dont have poetry installed, you should run the command below.
make download-poetry; export PATH="$HOME/.poetry/bin:$PATH"To install dependencies and prepare pre-commit hooks you would need to run install command:
make installTo activate your virtualenv run poetry shell.
After you run make install you can execute the automatic code formatting.
make format-codeMany checks are configured for this project. Command make check-style will run black diffs, darglint docstring style and mypy.
The make check-safety command will look at the security of your code.
You can also use STRICT=1 flag to make the check be strict.
Before submitting your code please do the following steps:
- Add any changes you want
- Add tests for the new changes
- Edit documentation if you have changed something significant
- Run
make format-codeto format your changes. - Run
STRICT=1 make check-styleto ensure that types and docs are correct - Run
STRICT=1 make check-safetyto ensure that security of your code is correct
You can also contribute by spreading a word about this library. We would be very interested to hear how you are using the app and what are your best practices.