feat(release): rename dist to py-sendly + tag-triggered PyPI publish workflow#1
Merged
Merged
Conversation
…ish workflow The plain `sendly` name is owned by an unrelated SMS company on PyPI, so the package cannot publish as-is. Rename the PyPI distribution to `py-sendly` in pyproject.toml while keeping the import package unchanged (`import sendly`) via the existing [tool.hatch.build.targets.wheel] packages = ["src/sendly"]. Verified: `python -m build` produces py_sendly-0.1.0 sdist+wheel, `twine check` PASSED, wheel Name is `py-sendly` with top-level `sendly` import package. Add .github/workflows/release.yml: on a vX.Y.Z tag push it re-runs the full ruff/mypy/contract/pytest gate, asserts the tag equals both pyproject version and the SDK_VERSION constant, builds, then publishes via PyPI Trusted Publishing (OIDC, environment `pypi`, no stored token). Triggers only on tags, disjoint from ci.yml, so a red SDK can never ship and nothing publishes without an explicit tag push. README: document `pip install py-sendly`. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GqTuJ7noGQrSC6UMwgfiT8
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.
What
Fixes the PyPI name blocker and adds a tag-triggered publish pipeline for the Python SDK.
Distribution rename (blocker fix)
sendlyname is owned by an unrelated SMS company on PyPI, so the package could not publish as-is.pyproject.tomldistribution renamed topy-sendly. The import package is unchanged (import sendly) via the existing[tool.hatch.build.targets.wheel] packages = ["src/sendly"].python -m build→py_sendly-0.1.0sdist + wheel,twine checkPASSED, wheelName: py-sendlywith top-levelsendlyimport package..github/workflows/release.yml(new)v*tag pushes — disjoint fromci.yml(push/PR to main + weekly cron).python -m buildbefore publishing, so a red SDK can never ship.pyproject.tomlversion and theSDK_VERSIONconstant, failing fast on mismatch.pypi,id-token: write, no stored token). Nothing publishes without an explicit tag push.README
pip install py-sendlyand notes the import name staysimport sendly.Notes
pypienvironment) and only happens when a maintainer pushes a version tag.🤖 Generated with Claude Code
Session: https://claude.ai/code/session_01GqTuJ7noGQrSC6UMwgfiT8