Skip to content

Release v1.0.1: rename PyPI dist to rlaif-mcp + pipeline polish - #5

Merged
a9lim merged 1 commit into
mainfrom
dev
Apr 26, 2026
Merged

Release v1.0.1: rename PyPI dist to rlaif-mcp + pipeline polish#5
a9lim merged 1 commit into
mainfrom
dev

Conversation

@a9lim

@a9lim a9lim commented Apr 26, 2026

Copy link
Copy Markdown
Owner

What

Cuts release v1.0.1. Bundles the PyPI rename, the new release pipeline, and the build/lint hardening that landed on dev since v1.0.0.

Commits, oldest first:

  • Single-source version via hatchling dynamic-attr, ship py.typed, expand sdist__version__ in src/rlaif/__init__.py is now the only source of truth; pyproject reads it dynamically. Sdist now ships tests + supplemental docs so it is self-contained.
  • Add ruff: pre-commit hook and dev dep, fix UP/B/I issues found — ruff in CI + .pre-commit-config.yaml.
  • Add release workflow with safety dry-run gate; expand CI with build job and macOS.github/workflows/release.yml: builds, runs rlaif dry-run against the built wheel as a pre-publish safety gate, tags vX.Y.Z, publishes via Trusted Publishing (OIDC + PEP 740 attestations), cuts a GH release. CI grows a build job that round-trips wheel install + version + dry-run.
  • Polish: README badges, dependabot limit + pin pishock, .editorconfig, templates, CONTRIBUTING — issue/PR templates, dependabot config, README badge row, .editorconfig, CONTRIBUTING.
  • Drop the os × python test matrix; ubuntu × 3.12 is enough — CI matrix simplification.
  • Rename PyPI dist to rlaif-mcp, bump to 1.0.1 — bare rlaif is taken on PyPI; transfer request pending. Switched distribution name to rlaif-mcp. Import name and rlaif console script unchanged. Wheel glob and importlib.metadata.version() lookup updated to match PEP 427 normalization.

Why

We never actually shipped 1.0.0 to PyPI — the upload would have failed because the bare rlaif name is squatted. Renaming the dist to rlaif-mcp unblocks that. Everything else on this branch is the release-pipeline plumbing that has to land in the same release so the 1.0.1 tag has a working build/publish path.

When the upstream transfer request comes through, reverting the dist name back to rlaif is a one-line pyproject.toml change plus the same handful of doc/CI tweaks back.

Test plan

  • uv run ruff check . passes
  • uv run pyright src/rlaif/ passes (0 errors, 0 warnings)
  • uv run pytest passes (105/105)
  • uv run rlaif dry-run exits 0 (all safety invariants held)
  • uv build produces rlaif_mcp-1.0.1-py3-none-any.whl + .tar.gz; twine check PASSED
  • rlaif --version reports rlaif 1.0.1
  • No changes to safety.py semantics — refactor-free release
  • No changes to tool description strings (SPEC_*_DESCRIPTION unchanged)
  • Release: read CONTRIBUTING.md; confirmed merge to main triggers .github/workflows/release.yml, which will tag v1.0.1 and publish rlaif-mcp 1.0.1 to PyPI via Trusted Publishing

Notes

  • Post-merge, the release workflow will fire automatically. Verify it tags v1.0.1, attaches sigstore attestations, publishes to PyPI, and cuts the GH release. Then sanity-check uv tool install rlaif-mcp && rlaif --version.
  • Install instructions in the README and bug-report template now reference rlaif-mcp. The CLI command and import rlaif are unchanged, so existing MCP client snippets need no edits.

🤖 Generated with Claude Code

The bare `rlaif` name on PyPI is taken; transfer request is pending
upstream. Switch the distribution name to `rlaif-mcp` in the meantime.
The import name and `rlaif` console script are unchanged — installs
become `uv tool install rlaif-mcp`, but `import rlaif` and `rlaif ...`
still work.

Wheel filename normalizes the hyphen per PEP 427, so the CI/release
wheel globs and the importlib.metadata lookup move to `rlaif_mcp` /
`rlaif-mcp` accordingly.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@a9lim
a9lim merged commit 6901fa2 into main Apr 26, 2026
8 checks passed
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