@@ -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 `
@@ -41,36 +41,36 @@ versions 3.10 through 3.14.
41412 . Verify the version in ` pyproject.toml ` is correct:
4242 ``` bash
4343 grep ' ^version' pyproject.toml
44- # Should show: version = "0.1.0 "
44+ # Should show: version = "0.1.1 "
4545 ```
4646
47473 . Create and push the tag:
4848 ``` bash
49- git tag -a v0.1.0 -m " Release v0.1.0 "
50- git push origin v0.1.0
49+ git tag -a v0.1.1 -m " Release v0.1.1 "
50+ git push origin v0.1.1
5151 ```
5252
53534 . Monitor the release workflow at:
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.0 /
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
66- # Should print: 0.1.0
65+ uvx python-docs-mcp-server --version
66+ # Should print: 0.1.1
6767
6868# Or via pipx:
69- pipx run mcp-server- python-docs --version
70- # Should print: 0.1.0
69+ pipx run python-docs-mcp-server --version
70+ # Should print: 0.1.1
7171```
7272
73- ## v0.1.0 Release Checklist
73+ ## v0.1.1 Release Checklist
7474
7575Complete these steps in order. Each step has a checkbox -- do not skip ahead.
7676
@@ -81,20 +81,20 @@ Complete these steps in order. Each step has a checkbox -- do not skip ahead.
8181 ``` bash
8282 uv run pytest --tb=short -q
8383 ```
84- - [ ] Version in ` pyproject.toml ` is ` 0.1.0 ` :
84+ - [ ] Version in ` pyproject.toml ` is ` 0.1.1 ` :
8585 ``` bash
8686 grep ' ^version' pyproject.toml
8787 ```
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 `
@@ -105,47 +105,47 @@ Complete these steps in order. Each step has a checkbox -- do not skip ahead.
105105
106106- [ ] Create the annotated tag:
107107 ``` bash
108- git tag -a v0.1.0 -m " Release v0.1.0
108+ 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
119- git push origin v0.1.0
119+ git push origin v0.1.1
120120 ```
121121- [ ] Monitor the workflow run: https://github.com/ <owner >/python-docs-mcp-server/actions/workflows/release.yml
122122- [ ] Verify all three jobs pass: ` build ` -> ` publish ` -> ` github-release `
123123
124124### Post-Release Verification (SHIP-06)
125125
126- - [ ] Package visible on PyPI: https://pypi.org/project/mcp-server- python-docs/0.1.0 /
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
135- # Expected output: 0.1.0
134+ uvx python-docs-mcp-server --version
135+ # 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
141- # Should print 0.1.0
140+ uvx python-docs-mcp-server --version
141+ # 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,17 +154,45 @@ 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+ - Mechanical pass: delete every region from ` <!-- PRE-PYPI: ` to ` <!-- /PRE-PYPI --> ` (inclusive). Each block now encloses its surrounding heading + lead-in sentence + code, so a single pass produces a clean README.
162+ - Reference command:
163+ ` perl -0777 -i -pe 's/<!-- PRE-PYPI:.*?<!-- \/PRE-PYPI -->\n*//gs' README.md `
164+ - Make the published package commands (` uvx python-docs-mcp-server ... ` ) the
165+ primary install, build-index, MCP client, ` doctor ` , and ` validate-corpus `
166+ examples
167+ - [ ] Verify ` README.md ` has no temporary pre-release install artifacts:
168+ ``` bash
169+ rg -n ' PRE[-]PYPI|Before PyPI publishing|Until the first PyPI|After PyPI publishing|git\\+https://github.com/.*/python-docs-mcp-server' README.md
170+ ```
171+ The command should return no output.
172+ - [ ] Review ` docs/launch/ ` so no public launch copy still asks users to install
173+ from GitHub source after the PyPI package is available. Intentional historical
174+ pre-release drafts may remain, but they must stay clearly labeled as
175+ pre-PyPI-only.
176+ - [ ] Submit ` server.json ` to https://registry.modelcontextprotocol.io/ via the
177+ ` mcp-publisher ` CLI after the PyPI smoke test passes; verify the registry
178+ listing appears and points at version 0.1.1
179+ - [ ] Use the post-PyPI draft in ` docs/launch/show-hn.md ` for the HN submission
180+ - [ ] Use ` docs/launch/reddit-posts.md ` for the r/Python and r/LocalLLaMA
181+ submissions after the PyPI release smoke test passes
182+ - [ ] Commit and push the README cleanup before public launch posts go out
183+
157184- [ ] Claude Desktop test with published package:
158- Configure ` mcpServers ` with ` uvx mcp-server- python-docs ` and verify
185+ Configure ` mcpServers ` with ` uvx python-docs-mcp-server ` and verify
159186 "what is asyncio.TaskGroup" returns a correct hit
160187
161188### Release Complete
162189
163190- [ ] GitHub Release exists with attached artifacts
164- - [ ] PyPI page shows 0.1.0 with attestation
191+ - [ ] PyPI page shows 0.1.1 with attestation
165192- [ ] README install instructions verified end-to-end
193+ - [ ] README no longer contains temporary pre-PyPI GitHub-source install blocks
166194- [ ] Slow E2E workflow passed for the release candidate
167- - [ ] Tag v0.1.0 exists in git
195+ - [ ] Tag v0.1.1 exists in git
168196
169197** Release date** : ______________ _
170198** Released by** : ______________ _
0 commit comments