Package name on PyPI: auditai-cli
Why not auditai? Upload rejected (400): too similar to existing audit-ai (PyPI normalizes hyphens).
Import / CLI: still import auditai and command auditai.
Current version: 0.1.2 (matches GitHub release tag v0.1.2).
Release note (2026-07-23): OIDC returned
invalid-publisher; v0.1.2 was published with the local scoped token. Configure the PyPI Trusted Publisher for repositoryiZenDeveloper/auditai, workflowpublish-pypi.yml, environmentpypibefore relying on tokenless publication.
cd /path/to/auditai
pytest -q
rm -rf dist && uv build # or: python -m build
# smoke:
python -m venv /tmp/auditai-pypi-smoke && \
/tmp/auditai-pypi-smoke/bin/pip install dist/auditai-*.whl && \
/tmp/auditai-pypi-smoke/bin/auditai --version # → 0.1.2- Create account: https://pypi.org/account/register/
- Enable 2FA.
- Publishing → Pending publisher (or project settings after first upload):
- PyPI project name:
auditai-cli - Owner:
iZenDeveloper - Repository:
auditai - Workflow name:
publish-pypi.yml - Environment name:
pypi
- PyPI project name:
- On GitHub: Settings → Environments → New environment
pypi(empty OK). - Trigger:
# Option 1 — manual
gh workflow run publish-pypi.yml
# Option 2 — push a new release tag
git push origin v0.1.2- PyPI → Account settings → API tokens → Entire account (first publish) or scope to
auditai-cliafter. - Local:
# never commit this file
mkdir -p ~/.config
# paste token only (pypi-AgEIcHlwaS5vcmc...)
printf '%s' 'pypi-...' > ~/.config/pypi_token
chmod 600 ~/.config/pypi_token
./scripts/publish_pypi.sh
# or:
uv publish --token "$(cat ~/.config/pypi_token)"- Or GitHub secret
PYPI_API_TOKENand uncommentpassword:in.github/workflows/publish-pypi.yml.
pip index versions auditai-cli
pip install auditai-cli
auditai --versionUpdate guerrilla PR bodies / STATUS to lead with:
pip install auditai-cli
# optional: pip install "auditai-cli[pdf]"Badges (README):
[](https://pypi.org/project/auditai-cli/)
[](https://pypi.org/project/auditai-cli/)- Bump
versioninpyproject.toml+src/auditai/__init__.py CHANGELOG.mdsection- Commit → tag
vX.Y.Z→ push tag → workflow publishes - GitHub Release notes from CHANGELOG
| Symptom | Fix |
|---|---|
| 403 Invalid token | Token scope; 2FA; use __token__ user with twine |
| 400 File already exists | Bump version or skip-existing |
| OIDC failed | Trusted publisher fields must match workflow filename + env pypi |
| Name too similar | Bare auditai collides with audit-ai — use auditai-cli |
| Name taken | Check https://pypi.org/project/auditai-cli/ |