Skip to content

Contributor Guide

Thank you for your interest in improving this project. This project is open-source under the MIT license and welcomes contributions in the form of bug reports, feature requests, and pull requests.

Here is a list of important resources for contributors:

How to report a bug

Report bugs on 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 set up your development environment

You need Python 3.8+ and Hatch.

Install the package with development requirements:

hatch run dev:init

How to test the project

Run the full test suite:

hatch run test:test

Run the tests for only one version of Python:

hatch run +py=3.12 test:test

List the available commands:

hatch env show

Unit tests are located in the tests directory, and are written using the ward 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 Nox test suite must pass without errors and warnings.
  • Include unit tests. This project maintains code coverage.
  • If your changes add functionality, update the documentation accordingly.

Feel free to submit early, though—we can always iterate on this.