Skip to content

Plan B: PyPI distribution + 1.0.0 release (#49) - #50

Merged
jayrav13 merged 5 commits into
mainfrom
worktree-fix-49-plan-b-pypi-release
Apr 27, 2026
Merged

Plan B: PyPI distribution + 1.0.0 release (#49)#50
jayrav13 merged 5 commits into
mainfrom
worktree-fix-49-plan-b-pypi-release

Conversation

@jayrav13

Copy link
Copy Markdown
Owner

Summary

Second half of the umbrella shipping push (#45). Ships TenorTUI 1.0.0 to PyPI.

5 commits, each phase a discrete change:

  1. e0397d7 PyPI metadata + MIT LICENSE — wheel passes twine check
  2. 5112c08 bin/check-version-bump + CI gate — every PR needs a CHANGELOG entry or version bump
  3. 106b6c3 release.yml workflow + bin/changelog-section — auto-publish to PyPI via OIDC, tag, GitHub Release
  4. 022c7c7 README rewrite — under 80 lines, dev/install/contribute focus, points at docs site
  5. bd10b49 Bump to 1.0.0 — promotes [Unreleased] to [1.0.0] in CHANGELOG

What happens on merge

release.yml triggers on push to main, detects the version bump (no v1.0.0 tag exists yet), runs tests, builds the wheel, publishes to PyPI via Trusted Publishing (no API tokens), tags v1.0.0, and creates a GitHub Release with the wheel + sdist attached.

The deploy of the docs site has already happened on the previous merge — Pages is live at https://jayravaliya.com/tenor-tui/.

Test plan

  • All existing tests pass (430 / 430)
  • Lint clean
  • make docs-strict passes
  • poetry build produces clean wheel + sdist; twine check PASSED
  • bin/check-version-bump passes locally (recognizes 1.0.0 bump + matching CHANGELOG section)
  • bin/changelog-section 1.0.0 returns the right body
  • CI: lint, test×3, docs-build, check-version-bump (new) all pass
  • On merge: release workflow publishes to PyPI, creates GitHub Release
  • pip install tenor-tui works after release

Manual prerequisites (already done)

  • PyPI Trusted Publisher pointing at jayrav13/tenor-tui + release.yml + release environment
  • GitHub Environment release exists on the repo
  • PyPI name tenor-tui available

Closes #49.

Co-authored by Claude

jayrav13 and others added 5 commits April 27, 2026 00:04
Adds license, authors, homepage/repository/documentation URLs, keywords,
classifiers (incl. Development Status: 5 - Production/Stable for the 1.0.0
release this PR ships), and Issues/Changelog URLs. Wheel builds clean and
passes `twine check`.

Refs #49

Co-Authored-By: Claude <noreply@anthropic.com>
Every PR must add a CHANGELOG.md `[Unreleased]` entry, OR bump the
pyproject.toml version with a matching `[<version>]` section. Dependabot
PRs are skipped via GITHUB_ACTOR check.

Refs #49

Co-Authored-By: Claude <noreply@anthropic.com>
release.yml triggers on push to main, detects version bumps via
tag-existence check, runs tests, builds wheel + sdist, publishes via
PyPI Trusted Publishing (OIDC), tags v<version>, and creates a GitHub
Release with notes pulled from CHANGELOG.md by bin/changelog-section.

Refs #49

Co-Authored-By: Claude <noreply@anthropic.com>
Strips feature walkthroughs (now on the docs site at
jayravaliya.com/tenor-tui/) and reorients around install + develop +
contribute. Adds PyPI / CI / Python / License badges. Under 80 lines.

Refs #49

Co-Authored-By: Claude <noreply@anthropic.com>
First stable PyPI release. Promotes [Unreleased] to [1.0.0] in CHANGELOG.

Closes #49

Co-Authored-By: Claude <noreply@anthropic.com>
@jayrav13
jayrav13 merged commit 8214371 into main Apr 27, 2026
6 checks passed
@jayrav13
jayrav13 deleted the worktree-fix-49-plan-b-pypi-release branch April 27, 2026 04:19
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.

Plan B: PyPI distribution, README rewrite, 1.0.0 release

1 participant