Skip to main content

Package publishing (eai-sup* family)

This repository publishes three PyPI distributions:

DistributionImportConsole scriptRole
eai-supcoreeai_supcore—Shared steady-state bootstrap APIs
eai-supiniteai_supiniteai-supinitGreenfield entry
eai-supmigeai_supmigeai-supmigMigration entry

Monorepo layout​

packages/eai-supcore/pyproject.toml
packages/eai-supinit/pyproject.toml
packages/eai-supmig/pyproject.toml
src/eai_supcore/
src/eai_supinit/
src/eai_supmig/
pyproject.toml # monorepo meta (dev extras only)

CLIs pin eai-supcore==<same-version> (lockstep with a2c-cli → a2c-core).

Lockstep versions​

All three distributions share one version from the repo-root VERSION file (also mirrored in each package’s __version__ and the eai-supcore pin).

# source of truth
cat VERSION

# bump all three together (changelog + commit)
python scripts/bump_release.py

Tag vX.Y.Z must match that shared version (scripts/verify_release_version.py).

Local install​

python -m venv .venv
# Windows: .venv\Scripts\activate
pip install -e packages/eai-supcore -e packages/eai-supinit -e packages/eai-supmig -e ".[dev]"
pytest -q
eai-supinit --help
eai-supmig --help

Build​

pip install build twine
python scripts/build_packages.py
python -m twine check dist/*

Builds --wheel and --sdist separately (same as a2c) so the monorepo package-dir = ../../src layout works. Do not use bare python -m build packages/... — that builds the wheel from the extracted sdist and fails with egg_base ... ../../src does not exist.

Docs​