We are happy that you are interested in contributing to QURI Parts! Please read the following contribution guidelines.
Issues are managed on GitHub. Please search existing issues before opening a new one.
Contributor License Agreement#
We ask you to sign our Contributor License Agreement (CLA) upon submitting your contributions. By signing the CLA you permit us (QunaSys) to use and redistribute your contributions as part of the project. When you create a pull request for QURI Parts, you will be asked in a pull request comment to sign the CLA (unless you have already signed it). You can sign the CLA by posting a comment on the pull request. Once you sign the CLA, it will cover your future contributions submitted to QunaSys.
We use Poetry to manage dependencies and packaging.
Install the latest version and run
poetry install to create a virtualenv and install dependencies.
Linting and testing#
We use following tools for linting and testing. Please make sure to run those tools and check if your code passes them. All commands can be run in the Poetry virtualenv by:
poetry run: for example
poetry run black ., or
Activate the virtualenv by
poetry shelland run the command.
poetry run isort .
poetry run black .
poetry run docformatter -i -r .
poetry run flake8
poetry run mypy .
Note: when you run mypy in a package directory (
packages/*/), you need to specify the config file
poetry run mypy --config-file ../../mypy.ini .
poetry run pytest
You can build documentation by:
poetry run make html
# For live preview
poetry run make livehtml
Continuous integration (CI)#
Once you create a pull request, the above linting and testing are executed on GitHub Actions. All the checks need to be passed before merging the pull request.