feat(packaging): enrich PyPI metadata in the project section - #300
Merged
rosspeili merged 2 commits intoAug 19, 2026
Conversation
The package page carried three classifiers, no keywords, and three URLs.
Add keywords, expand classifiers, and give [project.urls] Documentation,
Issues and Changelog entries alongside the existing Homepage, Repository and
DOI. The inline urls table becomes a [project.urls] section so six entries
stay readable.
Python classifiers are 3.10, 3.11 and 3.12 -- not 3.13. The issue suggested
3.10-3.13, but ci.yml tests 3.10 through 3.12 only, and a classifier is a
claim of support. Adding 3.13 should follow the CI matrix, not lead it.
Development Status is 4 - Beta, matching a 0.x line that is actively
released.
License stays { file = "LICENSE" }. PEP 639's SPDX form was listed as optional
in the issue and would raise the build-backend floor, which is out of scope
for a metadata change.
Verified metadata-only: the wheel contains the same 161 files before and
after, `python -m build` succeeds, and `twine check` passes for both the wheel
and the sdist. Generated optional-dependencies blocks are untouched.
Closes ARPAHLS#299
Contributor
|
Thanks @dchaudhari7177, this looks clean and matches #299 well. Please rebase on current Approving once CI is green. Nice wheel diff / twine verification in the PR description. Please try to claim issues by commenting on them before opening your next PR (or create an issue if it doesn't exist). Thanks, and welcome to Skillware <3 |
Contributor
|
Thanks again @dchaudhari7177, took the initiative to merge Maintainer commit (
Your Great first packaging PR overall <3 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #299.
Metadata only. No runtime, dependency, or wheel-content change.
Acceptance criteria
keywordsadded — ai, agents, skills, llm, tools, framework, agent-tools, registryclassifiersexpanded — development status, intended audience, Python versions, two topics[project.urls]includes Documentation, Issues, Changelog, plus existing Homepage, Repository, DOILICENSEpython -m buildproduces a valid wheel and sdist;twine checkPASSED for bothoptional-dependenciesblocksCHANGELOG.md[Unreleased]entry addedTwo judgement calls, flagged
1. Python classifiers are 3.10-3.12, not 3.10-3.13.
The issue suggested 3.10–3.13, but
.github/workflows/ci.ymltests["3.10", "3.11", "3.12"]. A classifier is a support claim, and the criteria say classifiers must be "accurate for the project". Adding 3.13 should follow the CI matrix rather than lead it — say the word and I will add both the classifier and the matrix entry, or just the classifier if 3.13 is already supported in practice.2. License left as
{ file = "LICENSE" }.PEP 639 SPDX (
license = "MIT") was listed as optional. It raises the required setuptools floor, which felt out of scope for a metadata-only change. Easy to add if you want it.Verification that this is genuinely metadata-only
I built the wheel on this branch and on a clean
main, then compared file lists:And confirmed the metadata actually reaches the built artifact rather than only parsing:
The
DocumentationURL points atdocs/introduction.md, which the README already treats as the entry point.Per the Agent Contribution Workflow: branch named
feat/issue-299-..., scope limited to the issue, no emojis, and no AI tool in aCo-authored-bytrailer.