Problem
pyproject.toml currently declares:
"Development Status :: 3 - Alpha",
This is inaccurate and actively hurts PyPI adoption. A project at "Alpha" signals to potential consumers that APIs are unstable, the package may break without warning, and production use is discouraged. base-cli no longer matches that description.
Evidence of Beta-level maturity
The package already has:
- A formal API stability policy (
docs/api-stability.md) with a documented deprecation process and removal timeline
- A
@deprecated decorator and BaseCliDeprecationWarning for managed deprecation
- A published
CHANGELOG.md following Keep a Changelog conventions
- Compatibility consumers (
compatibility/consumers/) exercised in CI
- Smoke tests across CPython 3.10–3.14 on Linux, macOS, and Windows
- A contract test suite (
test_api_stability.py, test_public_api.py, test_json_contracts.py)
- OIDC-based trusted publishing to PyPI with TestPyPI rehearsal support
- A versioned JSON output contract (
json-contracts.md) and command protocol (command_protocol.py)
- An adopter readiness guide (
docs/adopter-readiness.md) aimed at production teams
- Security documentation including a threat model and security review
Proposed fix
Change pyproject.toml:
# before
"Development Status :: 3 - Alpha",
# after
"Development Status :: 4 - Beta",
This should happen before or alongside the 1.0 readiness work. "Beta" accurately conveys "APIs are stabilizing, production pilots are encouraged, breaking changes are announced." The 5 - Production/Stable classifier should be reserved for the 1.0 release.
Problem
pyproject.tomlcurrently declares:"Development Status :: 3 - Alpha",This is inaccurate and actively hurts PyPI adoption. A project at "Alpha" signals to potential consumers that APIs are unstable, the package may break without warning, and production use is discouraged.
base-clino longer matches that description.Evidence of Beta-level maturity
The package already has:
docs/api-stability.md) with a documented deprecation process and removal timeline@deprecateddecorator andBaseCliDeprecationWarningfor managed deprecationCHANGELOG.mdfollowing Keep a Changelog conventionscompatibility/consumers/) exercised in CItest_api_stability.py,test_public_api.py,test_json_contracts.py)json-contracts.md) and command protocol (command_protocol.py)docs/adopter-readiness.md) aimed at production teamsProposed fix
Change
pyproject.toml:This should happen before or alongside the 1.0 readiness work. "Beta" accurately conveys "APIs are stabilizing, production pilots are encouraged, breaking changes are announced." The
5 - Production/Stableclassifier should be reserved for the 1.0 release.