Skip to content

Latest commit

 

History

History
107 lines (69 loc) · 2.59 KB

CONTRIBUTING.md

File metadata and controls

107 lines (69 loc) · 2.59 KB

Contributor Guide

Thank you for your interest in improving this project. This page is for developers wishing to contribute to this project.

Here is a list of important resources for contributors:

How to report a bug

Report bugs in the Issue Tracker.

When filing an issue, make sure to answer these questions:

  • Which operating system and Python version are you using?
  • Which version of this project are you using?
  • What did you do?
  • What did you expect to see?
  • What did you see instead?

The best way to get your bug fixed is to provide a test case, and/or steps to reproduce the issue.

How to request a feature

Request features on the Issue Tracker.

How to set up your development environment

You need Python 3.9+ and the following tools:

Install the package with development requirements:

# install package with development requirements
$ poetry install
# setup pre-commit hooks
$ nox --session=pre-commit -- install

Note that most python IDEs has support for poetry as the intepreter.

How to setup pre-commit-hooks

To run linting and code formatting checks before committing your change, you can install pre-commit as a Git hook by running the following command:

$ nox --session=pre-commit -- install

How to test the project

Run the full test suite:

$ pytest

Unit tests are located in the tests directory, and are written using the pytest testing framework.

How to submit changes

Open a pull request to submit changes to this project.

Your pull request needs to meet the following guidelines for acceptance:

  • The tests must pass without errors and warnings.
  • Include unit tests.
  • If your changes add functionality, update the documentation accordingly.

How to add a new library

To add a new library, run:

poetry add <library>
poetry update

Changes are made to the pyproject.toml file.

How to perform a release

To do a release:

  • Create a new branch, ie release-v-1-0-6
  • Run poetry version <version> (replacing <version> with the actual new version)
  • Push change and create pull request
  • Merge pull request - release and pypi deployment will be performed automatically