Development¶
Both plugins share the same layout: uv + pyproject.toml, pytest against a real pretix install,
ruff, and GitHub Actions publishing to PyPI via trusted publishing.
Setup¶
- Have a working pretix development setup.
-
Clone the plugin and, with pretix's virtualenv active, install it editable:
pip install -e . # or: uv sync --extra test make # compile translations -
Restart the pretix dev server (plugins are read at startup, not on autoreload) and enable the plugin under the event's Settings → Plugins.
Common tasks¶
make test # run the test suite
make lint # ruff check + format check
make format # ruff fix + format
make translate # extract strings into locale/*/django.po
make compile-translations # .po → .mo
make bump-version 1.2.3 # then: uv lock
Releasing¶
Publishing a GitHub release runs lint and tests, builds, and publishes to PyPI.