Skip to content

Python Packaging

Wright's sole public Python distribution is wright-engineering; the ideal name wright is unavailable on PyPI.

Application role

The distribution contains the complete manager-neutral application: lifecycle bootstrap, packaged API/UI, canonical catalog, provider-neutral gateway, manager profile generation, and a bounded runtime extra. It does not contain a Hermes plugin entry point and does not depend on manager runtimes. Internal module sources are bundled into the wheel rather than resolved as private packages.

Supported Python versions are 3.11 through 3.14. Useful direct-manager and diagnostic commands include:

python -m pip install 'wright-engineering[runtime]==<version>'
wright doctor
wright appliance status --api-url http://127.0.0.1:8000
wright mcp serve --stdio --api-url http://127.0.0.1:8000 --workspace WORKSPACE

Hermes users do not run that install manually: its thin Git adapter resolves the exact compatible wheel. Codex may launch the installed command or connect to the running HTTP service. Docker remains mandatory for every release.

Trusted Publishing

PyPI and TestPyPI use GitHub Actions OIDC Trusted Publishing; do not add PyPI API tokens to GitHub secrets.

Index Project Workflow Environment
TestPyPI wright-engineering release.yml testpypi
PyPI wright-engineering release.yml pypi

The publishing action stays in the top-level workflow because Trusted Publishing does not support a reusable workflow as the publisher identity. The build-once wheel and sdist are identified by SHA-256, installed from TestPyPI, and passed unchanged to PyPI.

Private component packages

wright-core, wright-tool-registry, wright-workspace-service, wright-agent-adapters, wright-data-vault, and hermes-plugin-wright are marked Private :: Do Not Upload. Never publish wright-core; that public name belongs to another project.