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
Dependencies
section 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 install
To activate your virtualenv
run poetry shell
.
After you run make install
you can execute the automatic code formatting.
make format-code
Many 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-code
to format your changes. - Run
STRICT=1 make check-style
to ensure that types and docs are correct - Run
STRICT=1 make check-safety
to 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.