Skip to content

Fix PyPI publish environment for five MCP packages - #950

Closed
acedatacloud-dev wants to merge 1 commit into
mainfrom
codex/mcp-pypi-packaging-pin
Closed

acedatacloud-dev wants to merge 1 commit into
mainfrom
codex/mcp-pypi-packaging-pin

Conversation

@acedatacloud-dev

Copy link
Copy Markdown
Member

Summary

Five new MCP packages still fail in their PyPI publish jobs after #949, although their build jobs pass. The publish jobs install Twine with an unconstrained packaging dependency; the resolved environment rejects PEP 639 License-Expression / License-File metadata.

Pin Twine to 6.2.0 and require packaging>=24.2,<27 in those five publish jobs. This keeps the new SPDX license metadata from #949.

Evidence and validation

  • The production publish logs fail at twine check before upload with malformed license-expression or license-file.
  • Reproduced the failure on the exact downloaded hCaptcha CI wheel with Twine 6.2.0 plus packaging==24.0; the same wheel passes with packaging==24.2 and 25.0.
  • All five fixed package artifacts pass twine check under Python 3.12 with Twine 6.2.0 and packaging==24.2.
  • actionlint, README inventory, 26 tooling tests, and git diff --check passed.

After merge, verify the mirror sync and each PyPI publish job, then read the published versions directly from PyPI before adding upstream listings.

@acedatacloud-dev

Copy link
Copy Markdown
Member Author

Superseded by merged PR #967, which updates these publish jobs to Twine 7. The five workflows have synced; Image2Text, reCAPTCHA, Turnstile, and DiscordBot published successfully. hCaptcha now passes metadata validation but PyPI returns HTTP 429 during upload, so its remaining issue is separate from this PR.

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.

1 participant