Release checklist
Ensure the released
abbr2words>=0.2.4prerequisite containing the structured currency identities is available from the target package index.Create an annotated Git tag such as
v0.2.2only after all release gates pass.Install a clean environment with
python -m pip install -e ".[dev]".Run
python -m pytest.Run
python -m ruff check .andpython -m ruff format --check ..Run
python -m mypy spokenform examples.Build with
python -m build.Validate distributions with
python -m twine check dist/*.Build docs with
sphinx-build -W -b html docs docs/_build/html.Test wheel installation and the
spokenformconsole command in a fresh environment.Confirm the release workflow uses a PyPI trusted publisher when repository OIDC is configured; otherwise verify the configured API token without changing authentication on release day.
Publish the GitHub release only after all required checks pass.
Before a downstream kokorog2p release raises its spokenform minimum, publish the spokenform release and verify the real
de,es, andfrintegration gates against released packages.
The publish workflow deliberately remains operator-triggered by a published GitHub release. PyPI Trusted Publishing/OIDC is the preferred future mechanism because it avoids long-lived API tokens, but migrating credentials is a separate operational change that must be tested before a release is cut.