Contributing#
Contributions are welcome, and they are greatly appreciated!
Types of contributions#
There are many ways you can contribute.
Report bugs#
You’re welcome to report bugs at GitHub Issues.
Before reporting a bug, please verify your bug against the latest
code in main branch.
When reporting a bug, please including:
Your operating system name and version.
Your Python version.
Details to reproduce the bug.
Submit fixes#
Once you found a bug that you can fix, you’re welcome to submit your pull request.
Please follow our git commit conventions.
Improve documentation#
Everyone wants a good documentation. There may be mistakes or things missing in the documentation, you’re welcome to help us improving the documentation.
Development#
Once you cloned joserfc’s source code, you can setup a development
environment to work on.
Install#
Install uv and use
Python 3.11 or newer. Create the development environment from the committed
uv.lock file:
uv sync --locked
uv creates and manages .venv automatically. Dependency groups are defined
in pyproject.toml; the dev group is installed by default. Install the
documentation dependencies with:
uv sync --locked --group docs
When changing dependencies in pyproject.toml, update and commit uv.lock:
uv lock
Use uv lock --upgrade-package <name> to update a specific dependency.
Run tests#
Once you made some code changes, you can add your test
case in the tests folder, then verify it with:
uv run --locked pytest
uv run --locked ruff check
uv run --locked mypy
Build documentation#
uv run --locked --group docs make build-docs -e lang=en