chore: complete the trove classifiers before the first release - #81
Conversation
PyPI metadata is immutable per version, so these are worth getting right before v0.1.0 rather than in a follow-up release. - Python minor versions: requires-python already claims >=3.9 but the classifiers said only 'Python :: 3', so PyPI's version facet -- how people filter -- showed nothing. Lists 3.9 through 3.13, matching requires-python; CI exercises the ends and the middle (3.9, 3.11, 3.13). - Operating System :: OS Independent -- accurate: the runtime is stdlib-only with no platform-specific dependency. - Environment :: Console -- the package ships an 'agentseam' console entry point. - Topic :: Software Development :: Libraries :: Python Modules -- the conventional companion to the Libraries topic already declared. No claim here exceeds what the package delivers: Development Status stays 3 - Alpha for a first release, and no Typing :: Typed is claimed since the package ships no py.typed marker. Signed-off-by: Claude <noreply@anthropic.com>
CI is red on all 11 checks, and none of it is this PR'sFailing on This is the Actions-minutes ceiling recorded as contract decision #10, not a defect in the diff.
No re-run, deliberately. Decision #10 is explicit that nobody re-runs or works around this; The fix already exists and is the next step in the go-live sequence: flip this repo public. Meanwhile the change is validated locally, at the level a packaging diff actually affects: Per decision #10 this is one for manual merge — and it should merge before the Generated by Claude Code |
What this changes
Adds six accurate trove classifiers to
pyproject.tomlso the first PyPI release carriescorrect, filterable metadata. Nothing about the code changes — this is packaging metadata only.
Why now, and not later: PyPI metadata is immutable per version. Once
v0.1.0is tagged andpublished,
0.1.0's classifiers are frozen forever; the only fix is a new version. This is thelast moment it is free.
Added:
Environment :: Consolerun, adapter dispatch, bundled hook entry points)Operating System :: OS IndependentProgramming Language :: Python :: 3.9–3.13requires-python = ">=3.9"was already declared but only the bare:: 3classifier was present, so PyPI's Python-version filter did not match this package at allTopic :: Software Development :: Libraries :: Python ModulesLibrariestopic already claimedUnchanged deliberately:
Development Status :: 3 - Alphastays. Per-version honesty — theproject is pre-1.0 and the compatibility promise starts at 1.0.
On the per-version rows: CI exercises 3.9, 3.11 and 3.13 (the ends and the middle). 3.10 and
3.12 are claimed as interpolation between CI-verified endpoints on a stdlib-only codebase, not as
separately witnessed runs. That is stated in a comment in the file so the next reader does not
have to reconstruct it.
Claim check
Not applicable — no adapter, matrix row, or capability claim is touched. No capability claim is
widened; this PR only makes packaging metadata match constraints the project already declares.
Checks
pytest -q— not re-run; the diff is six lines of packaging metadata with no import-time orruntime effect. Verified instead at the artifact level, which is what this change actually
affects (below).
ruff check ./ruff format --check .— untouched paths; no Python source in the diffdependencies = []unchanged)Artifact-level verification, run against this branch:
python -m build --wheelsucceeds; builtagentseam-0.1.0-py3-none-any.whlMETADATAcarries all 13 classifiers andRequires-Python: >=3.9trove-classifiersregistry (0 invalid)twine checkon the built wheel: PASSEDNotes for the reviewer
This is go-live-blocking in the weak sense: it is not blocking the tag, but it must land before
the tag, or the fix costs a version bump. Ordering, per contract decision #10: flip the repo
public → confirm a workflow runs green → merge this → tag
v0.1.0.CI on this PR is expected red for the known private-repo Actions ceiling, not for anything in the
diff. Per decision #10, merge it manually on the local validation above rather than working around
the ceiling.
Generated by Claude Code