chore: add three accurate trove classifiers, and say why two are absent - #76
Conversation
PyPI's classifier facets are how someone browsing rather than searching finds a package. chock's list omitted three that are plainly true of it: - Environment :: Console -- chock is a console script ([project.scripts]), with no GUI or web surface - Topic :: Software Development :: Version Control :: Git -- policies compile to git hooks, which is the enforcement surface most adopters meet first - Topic :: Security -- the shipped guardrails block secrets and protected-path writes; the catalog's security policies are a first-class use, not a side use Two absences are now recorded in comments so the next reader does not have to re-derive them, and does not "fix" them by mistake: - Development Status stays 3 - Alpha. docs/compatibility.md says chock is pre-1.0 and the compatibility promise starts at 1.0; a stability claim the docs contradict is exactly what this project does not ship. - No Typing :: Typed. The package ships no py.typed marker, so a type checker acting on that claim would find nothing behind it. Metadata only -- no runtime or dependency change. This reaches PyPI with the next release; 0.6.0 is already published and its metadata is frozen. Verified: wheel builds, twine check passes, all 12 classifiers validate against the trove-classifiers registry, ruff check and format clean. Signed-off-by: Claude <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
Included review availability: Your plan provides up to 10 included reviews per hour; 9 remain after this review. 📝 WalkthroughWalkthroughThe pull request updates PyPI classifiers in ChangesPackage metadata
Estimated code review effort: 1 (Trivial) | ~2 minutes Merge Risk: ⚪ Minimal · up to This is a localized packaging-metadata update that adds accurate PyPI classifiers without changing runtime behavior, dependencies, or shipped artifacts; no actionable merge-blocking risk remains. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
Full details: Description checkExplanation The description is complete and directly matches the template. It explains the change, records applicable verification, documents intentional omissions, and confirms that runtime behavior and installed surfaces are unchanged. Full details: Docstring CoverageExplanation No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (1 skipped: 1 unsupported.) ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
What
PyPI's classifier facets are how someone browsing rather than searching finds a package,
and chock's list omitted three that are plainly true of it. Metadata only — nine added lines
in
pyproject.toml, no runtime, dependency, emitter, or artifact change.Added:
Environment :: Consolechockis a console script ([project.scripts]); there is no GUI or web surfaceTopic :: Software Development :: Version Control :: GitTopic :: SecurityTwo absences are now recorded in comments, so the next reader does not have to re-derive
them and does not "fix" them by mistake:
Development Statusstays3 - Alpha.docs/compatibility.mdsays chock is pre-1.0 andthe compatibility promise starts at 1.0. A stability claim on PyPI that our own docs
contradict is precisely what this project does not ship. It moves when the promise does.
Typing :: Typed. The package ships nopy.typedmarker, so a type checker acting onthat claim would find nothing behind it.
Timing note: unlike a pre-first-release package, nothing here is urgent. PyPI metadata is
immutable per version and
0.6.0is already published, so this reaches PyPI with the nextrelease —
0.7.0, which chock#73 bumps to.Definition of done
The repo's gates are listed below with what actually applies. This diff touches one file,
pyproject.toml, and only inside theclassifiersarray:ruff check .→ All checks passed;ruff format --check .→ 222 files already formattedchock sync --check,chock check --only verify, the registry scan, and the acceptance suite have nothing to re-verify — nomanifest, pack, lockfile, compiled artifact, or matrix input is touched
pytest -qnot re-run: the diff adds no importable code and cannot alter test behavior.Verified at the level this change actually affects instead — see below
Packaging-level verification, run against this branch:
python -m build --wheel→ builtchock-0.6.0-py3-none-any.whlMETADATAcarries all 12 classifiers in the intended ordertrove-classifiersregistry (0 invalid)twine checkon the built wheel: PASSEDClaims
is emitted or installed;
INSTALLED_SURFACES, the coverage table, anddocs/enforcement-surfaces.mdare untouched and still agree.The two comments added are themselves claim discipline: they tie the
Alphastatus todocs/compatibility.mdand the missingTyping :: Typedto the missingpy.typedmarker, soeach absent classifier has a stated, checkable reason.
Notes for the reviewer
Checked against chock#73 (held for go-live): that PR edits
pyproject.tomlat theversionline, the
dependenciesarray, and the ruffextend-excludeline. No hunk overlaps theclassifiersarray, so this should merge cleanly either way round.Generated by Claude Code
Summary by CodeRabbit