# Python Package Release `issue-core` publishes as the `issue-core` Python package. The Railiance application deployment path expects the `0.2.x` series to be available from the Coulomb Forgejo PyPI registry (`forgejo.coulomb.social`). ## Local Release Build and validate the release artifacts: ```bash make package-check ``` Publish to the Coulomb organization registry: ```bash TWINE_USERNAME= \ TWINE_PASSWORD= \ make publish-forgejo ``` The package endpoint is: ```text https://forgejo.coulomb.social/api/packages/coulomb/pypi ``` The matching simple index for consumers is: ```text https://forgejo.coulomb.social/api/packages/coulomb/pypi/simple/ ``` Do not commit tokenized package index URLs. CI and local Docker builds should inject registry credentials through environment variables or BuildKit secrets. ## Forgejo Actions Release The `.forgejo/workflows/publish-python-package.yml` workflow publishes on tags matching `v*` or `workflow_dispatch`. Configure org secrets: - `FORGEJO_PYPI_USER` - `FORGEJO_PYPI_TOKEN` Release with: ```bash git tag v0.2.0 git push origin v0.2.0 ```