Files
kaizen-agentic/docs/PACKAGE_RELEASE.md
tegwick c9a3a77fdf
Some checks failed
ci / test (3.10) (push) Has been cancelled
ci / test (3.12) (push) Has been cancelled
docs: Gitea PyPI install paths and publish automation
Add make package-check/publish-gitea, tag-triggered Gitea Actions workflow,
PACKAGE_RELEASE.md, and update README/GETTING_STARTED install instructions
for the Coulomb registry (v1.1.0+).
2026-06-16 02:17:30 +02:00

1.8 KiB

Python Package Release

kaizen-agentic publishes as the kaizen-agentic Python package on the Coulomb Gitea PyPI registry. Public pypi.org distribution is optional and not required for ecosystem use.

Install (consumers)

Dependencies such as pyyaml resolve from public PyPI. Use Gitea as an extra index:

export GITEA_PACKAGE_USER=<gitea-user>
export GITEA_PACKAGE_TOKEN=<package-token>

pip install kaizen-agentic \
  --extra-index-url "https://${GITEA_PACKAGE_USER}:${GITEA_PACKAGE_TOKEN}@gitea.coulomb.social/api/packages/coulomb/pypi/simple/"

Global CLI via pipx:

pipx install kaizen-agentic \
  --pip-args="--extra-index-url https://${GITEA_PACKAGE_USER}:${GITEA_PACKAGE_TOKEN}@gitea.coulomb.social/api/packages/coulomb/pypi/simple/"

Do not commit tokenized index URLs. Inject credentials via environment variables or CI secrets.

Local Release

Build and validate artifacts:

make package-check

Publish to the Coulomb organization registry:

TWINE_USERNAME=<gitea-user> \
TWINE_PASSWORD=<package-token> \
make publish-gitea

Package upload endpoint:

https://gitea.coulomb.social/api/packages/coulomb/pypi

Consumer simple index:

https://gitea.coulomb.social/api/packages/coulomb/pypi/simple/

Gitea Actions Release

The .gitea/workflows/publish-python-package.yml workflow publishes on tags matching v*. Configure these repository secrets before cutting a release:

  • GITEA_PACKAGE_USER
  • GITEA_PACKAGE_TOKEN

Example:

git tag v1.2.0
git push origin v1.2.0

Public PyPI (optional)

When pypi.org credentials are configured (~/.pypirc or TWINE_PASSWORD API token with TWINE_USERNAME=__token__):

make release-publish
python -m twine upload dist/*