Skip to content

feat(packaging): enrich PyPI metadata in the project section - #300

Merged
rosspeili merged 2 commits into
ARPAHLS:mainfrom
dchaudhari7177:feat/issue-299-pypi-metadata
Aug 19, 2026
Merged

feat(packaging): enrich PyPI metadata in the project section#300
rosspeili merged 2 commits into
ARPAHLS:mainfrom
dchaudhari7177:feat/issue-299-pypi-metadata

Conversation

@dchaudhari7177

Copy link
Copy Markdown
Contributor

Closes #299.

Metadata only. No runtime, dependency, or wheel-content change.

Acceptance criteria

  • keywords added — ai, agents, skills, llm, tools, framework, agent-tools, registry
  • classifiers expanded — development status, intended audience, Python versions, two topics
  • [project.urls] includes Documentation, Issues, Changelog, plus existing Homepage, Repository, DOI
  • License field valid for PyPI — unchanged, still MIT and consistent with LICENSE
  • python -m build produces a valid wheel and sdist; twine check PASSED for both
  • No change to generated optional-dependencies blocks
  • CHANGELOG.md [Unreleased] entry added
  • Optional CONTRIBUTING note — not done; happy to add if you want it

Two 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.yml tests ["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:

files in wheel (excl. METADATA/RECORD): 161   ← this branch
baseline files:                         161   ← main
IDENTICAL wheel contents

And confirmed the metadata actually reaches the built artifact rather than only parsing:

Keywords: ai,agents,skills,llm,tools,framework,agent-tools,registry
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python :: 3.10 / 3.11 / 3.12
Project-URL: Documentation, .../docs/introduction.md
Project-URL: Issues, .../issues
Project-URL: Changelog, .../CHANGELOG.md
License: MIT License

The Documentation URL points at docs/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 a Co-authored-by trailer.

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
@rosspeili

Copy link
Copy Markdown
Contributor

Thanks @dchaudhari7177, this looks clean and matches #299 well. Please rebase on current main so CHANGELOG.md keeps both the #293 entries and your packaging line.

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

@rosspeili
rosspeili merged commit bd9e401 into ARPAHLS:main Aug 19, 2026
6 checks passed
@rosspeili

Copy link
Copy Markdown
Contributor

Thanks again @dchaudhari7177, took the initiative to merge main into your branch and resolve the CHANGELOG.md conflict so you don’t need to rebase.

Maintainer commit (ffb6fb407f):

Your pyproject.toml changes are untouched. Local python -m build still passes. This should be green to merge once CI runs.

Great first packaging PR overall <3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Packaging]: Enrich PyPI metadata and modernize pyproject.toml project section

2 participants