All contributors are obliged to follow Pook's Code of Conduct.
First, clone the repository:
git clone git@github.com:h2non/pook.git
Pook uses hatch
for script and environment management. Run the ci
script to set up a development virtual environment and verify your local setup:
hatch run ci
Running the ci
script will:
- Cause Hatch to set up a development virtual environment
- Install pre-commit hooks
- Run the pre-commit hooks, including type checks
- Run the unit tests
Now you are ready to contribute to Pook! If there is a specific issue you'd like to work on, leave a comment expressing your interest and any questions you have for maintainers regarding implementation details.
When contributing code, please add unit tests for all changes and documentation for any non-internal changes.
Pook supports all actively supported CPython versions, as well as the latest Pypy version. To run Pook's test suite for each supported interpreter, run the following:
hatch run test:test
Note that each interpreter requires a new virtual environment, and hatch will automatically handle creating these.
To run tests only for a specific version, affix the version designation to the environment name (the left side of the :
):
hatch run test.pypy3.10:test
Generate the documentation site by running:
hatch run docs:build
Use Hatch's build tools to create the Pook distribution:
hatch build -c