Contributing

Thank you for your interest in contributing to n-fold-edge and we welcome all pull request. To get set for development on n-fold-edge see the following.

Development uses uv and pre-commit for code linting and formatting. To setup development with uv and pre-commit follow these steps after cloning the repository:

Let uv create a virtual environment:

uv sync --all-extras

Install pre-commit hooks

uv run pre-commit install

You are now ready to contribute.

Running Test

Test is automatically run when making a commit, but can also be run with:

uv run pytest

This will also generate a html coverage report in test_coverage.

Generating Documentation

To generate this documentation, in the docs folder run:

uv run make html

This will generate html documentation in the docs/build/html folder.

Creating Github Release

When a new release is desired from the commits to the master branch, the following steps will create a new release and bump the version number:

  • Change version number in src/n_fold_edge/__init__.py and commit to master.

  • Tag the commit with the version number: git tag vXX.XX.XX.

  • Push the changes to github: git push origin (where origin is the name of github upstream).

  • push the tag to github: git push origin tag vXX.XX.XX.

This will start the github actions to create a new release and publish the code to PyPI together with generating the new documentation.