Conversation
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>
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
Cuts release v1.0.1. Bundles the PyPI rename, the new release pipeline, and the build/lint hardening that landed on
devsincev1.0.0.Commits, oldest first:
py.typed, expand sdist —__version__insrc/rlaif/__init__.pyis now the only source of truth; pyproject reads it dynamically. Sdist now ships tests + supplemental docs so it is self-contained..pre-commit-config.yaml..github/workflows/release.yml: builds, runsrlaif dry-runagainst the built wheel as a pre-publish safety gate, tagsvX.Y.Z, publishes via Trusted Publishing (OIDC + PEP 740 attestations), cuts a GH release. CI grows abuildjob that round-trips wheel install + version + dry-run..editorconfig, templates, CONTRIBUTING — issue/PR templates, dependabot config, README badge row,.editorconfig, CONTRIBUTING.rlaifis taken on PyPI; transfer request pending. Switched distribution name torlaif-mcp. Import name andrlaifconsole script unchanged. Wheel glob andimportlib.metadata.version()lookup updated to match PEP 427 normalization.Why
We never actually shipped
1.0.0to PyPI — the upload would have failed because the barerlaifname is squatted. Renaming the dist torlaif-mcpunblocks that. Everything else on this branch is the release-pipeline plumbing that has to land in the same release so the1.0.1tag has a working build/publish path.When the upstream transfer request comes through, reverting the dist name back to
rlaifis a one-linepyproject.tomlchange plus the same handful of doc/CI tweaks back.Test plan
uv run ruff check .passesuv run pyright src/rlaif/passes (0 errors, 0 warnings)uv run pytestpasses (105/105)uv run rlaif dry-runexits 0 (all safety invariants held)uv buildproducesrlaif_mcp-1.0.1-py3-none-any.whl+.tar.gz;twine checkPASSEDrlaif --versionreportsrlaif 1.0.1safety.pysemantics — refactor-free releaseSPEC_*_DESCRIPTIONunchanged)maintriggers.github/workflows/release.yml, which will tagv1.0.1and publishrlaif-mcp 1.0.1to PyPI via Trusted PublishingNotes
v1.0.1, attaches sigstore attestations, publishes to PyPI, and cuts the GH release. Then sanity-checkuv tool install rlaif-mcp && rlaif --version.rlaif-mcp. The CLI command andimport rlaifare unchanged, so existing MCP client snippets need no edits.🤖 Generated with Claude Code