Installation and Release¶
Installation¶
Once the package is published to PyPI, install it with:
Standard installation
python -m pip install jano
To use Polars inputs directly, install the optional extra:
Optional Polars extra
python -m pip install "jano[polars]"
For local development, install the project in editable mode with the development dependencies:
Development setup
python -m pip install -e ".[dev]"
Versioning¶
Jano exposes its package version through jano.__version__. The distribution version is sourced from jano/_version.py so the runtime version and the published package metadata stay aligned.
Release flow¶
The repository now includes a dedicated GitHub Actions workflow for PyPI publication:
Update
jano/_version.pyto the release version.Verify locally:
Release checks
python -m pytest -q python -m build python -m twine check dist/*
Commit and push the release changes.
Create and push a Git tag that matches the release version, for example:
Release tag
git tag v0.4.0 git push origin v0.4.0
The
Publishworkflow builds the artifacts, validates them withtwine checkand publishes them to PyPI via trusted publishing.
Zenodo DOI¶
Jano includes repository metadata for Zenodo in .zenodo.json and citation
metadata in CITATION.cff.
To mint a DOI for the project:
Log in to Zenodo with the GitHub account that owns or administers this repository.
Open the Zenodo GitHub integration page.
Click
Sync now.Enable the
marmurar/janorepository.Create a new GitHub Release for the next version tag.
Wait for Zenodo to archive the release and assign the DOI.
Add the generated DOI badge and DOI URL back to the README and Sphinx docs.
Current Zenodo DOI: https://doi.org/10.5281/zenodo.20301006.
PyPI configuration¶
To make the workflow publish successfully, PyPI must trust this GitHub repository as a publisher for the jano project. Configure that once in the PyPI project settings, then future tagged releases can publish without storing API tokens in GitHub secrets.