@@ -6,7 +6,7 @@ Before the first release, configure PyPI Trusted Publishing:
66
771 . Go to https://pypi.org/manage/account/publishing/
882 . Add a new pending publisher:
9- - ** PyPI project name** : ` mcp-server- python-docs`
9+ - ** PyPI project name** : ` python-docs-mcp-server `
1010 - ** Owner** : your GitHub username or org
1111 - ** Repository** : ` python-docs-mcp-server `
1212 - ** Workflow name** : ` release.yml `
@@ -54,19 +54,19 @@ versions 3.10 through 3.14.
5454 https://github.com/ <owner >/python-docs-mcp-server/actions/workflows/release.yml
5555
56565 . Verify the package on PyPI:
57- https://pypi.org/project/mcp-server- python-docs/0.1.1/
57+ https://pypi.org/project/python-docs-mcp-server /0.1.1/
5858
5959## Post-Release Verification
6060
6161After the package is published:
6262
6363``` bash
6464# In a fresh environment:
65- uvx mcp-server- python-docs --version
65+ uvx python-docs-mcp-server --version
6666# Should print: 0.1.1
6767
6868# Or via pipx:
69- pipx run mcp-server- python-docs --version
69+ pipx run python-docs-mcp-server --version
7070# Should print: 0.1.1
7171```
7272
@@ -88,13 +88,13 @@ Complete these steps in order. Each step has a checkbox -- do not skip ahead.
8888- [ ] Integration tests from ` .github/INTEGRATION-TEST.md ` are complete and signed off
8989- [ ] Doctor subcommand passes:
9090 ``` bash
91- mcp-server- python-docs doctor
91+ uv run python-docs-mcp-server doctor
9292 ```
9393
9494### PyPI Trusted Publishing Setup (one-time)
9595
9696- [ ] PyPI pending publisher configured at https://pypi.org/manage/account/publishing/ :
97- - PyPI project name: ` mcp-server- python-docs`
97+ - PyPI project name: ` python-docs-mcp-server `
9898 - Owner: ` <your-github-username> `
9999 - Repository: ` python-docs-mcp-server `
100100 - Workflow name: ` release.yml `
@@ -107,12 +107,12 @@ Complete these steps in order. Each step has a checkbox -- do not skip ahead.
107107 ``` bash
108108 git tag -a v0.1.1 -m " Release v0.1.1
109109
110- First public release of mcp-server- python-docs.
110+ First public release of python-docs-mcp-server .
111111
112112 A read-only, version-aware MCP retrieval server over Python
113113 standard library documentation (3.10 through 3.14).
114114
115- Installable via: uvx mcp-server- python-docs"
115+ Installable via: uvx python-docs-mcp-server "
116116 ```
117117- [ ] Push the tag to trigger the release workflow:
118118 ``` bash
@@ -123,29 +123,29 @@ Complete these steps in order. Each step has a checkbox -- do not skip ahead.
123123
124124### Post-Release Verification (SHIP-06)
125125
126- - [ ] Package visible on PyPI: https://pypi.org/project/mcp-server- python-docs/0.1.1/
126+ - [ ] Package visible on PyPI: https://pypi.org/project/python-docs-mcp-server /0.1.1/
127127- [ ] Attestation visible on PyPI package page (look for "Provenance" badge)
128128- [ ] Fresh install test:
129129 ``` bash
130130 # Clear any cached version
131- uv cache clean mcp-server- python-docs 2> /dev/null || true
131+ uv cache clean python-docs-mcp-server 2> /dev/null || true
132132
133133 # Install and verify version
134- uvx mcp-server- python-docs --version
134+ uvx python-docs-mcp-server --version
135135 # Expected output: 0.1.1
136136 ```
137137- [ ] Full README flow test (from a clean environment):
138138 ``` bash
139139 # Step 1: Install
140- uvx mcp-server- python-docs --version
140+ uvx python-docs-mcp-server --version
141141 # Should print 0.1.1
142142
143143 # Step 2: Build index
144- uvx mcp-server- python-docs build-index --versions 3.10,3.11,3.12,3.13,3.14
144+ uvx python-docs-mcp-server build-index --versions 3.10,3.11,3.12,3.13,3.14
145145 # Should complete successfully
146146
147147 # Step 3: Doctor check
148- uvx mcp-server- python-docs doctor
148+ uvx python-docs-mcp-server doctor
149149 # All checks should PASS
150150 ```
151151- [ ] Slow E2E workflow passes:
@@ -154,15 +154,44 @@ Complete these steps in order. Each step has a checkbox -- do not skip ahead.
154154 - Confirm each job installs the built wheel, runs
155155 ` build-index --versions 3.10,3.11,3.12,3.13,3.14 ` , ` doctor ` , and
156156 ` validate-corpus `
157+
158+ ### Post-PyPI Launch Pack Cleanup
159+
160+ - [ ] Remove every temporary PyPI pre-release block from ` README.md ` :
161+ - Delete each ` <!-- PRE-PYPI: ... --> ` through ` <!-- /PRE-PYPI --> ` region,
162+ including the marker comments and GitHub-source replacement commands
163+ - Remove or rewrite stale "Before PyPI publishing" headings, "Until the first
164+ PyPI release is published" text, and "After PyPI publishing" qualifiers
165+ - Make the published package commands (` uvx python-docs-mcp-server ... ` ) the
166+ primary install, build-index, MCP client, ` doctor ` , and ` validate-corpus `
167+ examples
168+ - [ ] Verify ` README.md ` has no temporary pre-release install artifacts:
169+ ``` bash
170+ rg -n ' PRE[-]PYPI|Before PyPI publishing|Until the first PyPI|After PyPI publishing|git\\+https://github.com/.*/python-docs-mcp-server' README.md
171+ ```
172+ The command should return no output.
173+ - [ ] Review ` docs/launch/ ` so no public launch copy still asks users to install
174+ from GitHub source after the PyPI package is available. Intentional historical
175+ pre-release drafts may remain, but they must stay clearly labeled as
176+ pre-PyPI-only.
177+ - [ ] Submit ` server.json ` to https://registry.modelcontextprotocol.io/ via the
178+ ` mcp-publisher ` CLI after the PyPI smoke test passes; verify the registry
179+ listing appears and points at version 0.1.1
180+ - [ ] Use the post-PyPI draft in ` docs/launch/show-hn.md ` for the HN submission
181+ - [ ] Use ` docs/launch/reddit-posts.md ` for the r/Python and r/LocalLLaMA
182+ submissions after the PyPI release smoke test passes
183+ - [ ] Commit and push the README cleanup before public launch posts go out
184+
157185- [ ] Claude Desktop test with published package:
158- Configure ` mcpServers ` with ` uvx mcp-server- python-docs ` and verify
186+ Configure ` mcpServers ` with ` uvx python-docs-mcp-server ` and verify
159187 "what is asyncio.TaskGroup" returns a correct hit
160188
161189### Release Complete
162190
163191- [ ] GitHub Release exists with attached artifacts
164192- [ ] PyPI page shows 0.1.1 with attestation
165193- [ ] README install instructions verified end-to-end
194+ - [ ] README no longer contains temporary pre-PyPI GitHub-source install blocks
166195- [ ] Slow E2E workflow passed for the release candidate
167196- [ ] Tag v0.1.1 exists in git
168197
0 commit comments