Repository navigation
Rename PyPI distribution to contextmesh-graph - #38
Merged
Merged
Conversation
The distribution name `contextmesh` is already an unrelated published package on PyPI (a different "persistent semantic memory layer", published 1.0.0 in March 2026). `pip install contextmesh` installs that project, not this one, so the publication gate could not simply be opened under the current name. Rename only the PyPI distribution: `import contextmesh`, the `contextmesh` and `contextmesh-mcp` console scripts, and the package directories are unchanged. Verified with a real build: the wheel and sdist build as contextmesh_graph-0.1.0, pass `twine check`, and install cleanly into a fresh venv with `import contextmesh` and the `contextmesh` CLI both working. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
release-candidate.yml's mcp-wheel job still constructed the install spec as contextmesh[mcp] @ <wheel URI>, which pip rejects once the distribution is actually named contextmesh-graph: the URL's own metadata says contextmesh-graph, so pip treats "contextmesh" as a separate, unsatisfiable requirement (there's a real contextmesh 1.0.0 on PyPI, so it fails on that instead of a clear local error). Reproduced locally: installing 'contextmesh[mcp] @ file://...' against the built wheel fails with the exact "has inconsistent name" error CI hit; installing 'contextmesh-graph[mcp] @ file://...' against the same wheel succeeds, and the installed contextmesh-mcp entry point and contextmesh_mcp.server import both work. Co-Authored-By: Claude Sonnet 5 <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.
Summary
pyproject.tomlcurrently declaresname = "contextmesh". That distribution name is already taken on PyPI by an unrelated project — a different "persistent semantic memory layer for AI agents," published ascontextmesh 1.0.0on March 21, 2026, by a different author (verified directly againsthttps://pypi.org/pypi/contextmesh/json, which returns that package's real metadata, not a 404). Sopip install contextmeshcurrently installs someone else's package, not this one.RELEASE_NOTES.md's "package publication remains a separate explicit gate" is still accurate, but the gate had an unrecorded blocker: opening it under the current name would ship the wrong thing.This PR only renames the PyPI distribution:
pyproject.toml:name = "contextmesh"→name = "contextmesh-graph"(verified available:https://pypi.org/pypi/contextmesh-graph/jsonreturns 404).pip install 'contextmesh[mcp]'instructions (README,contextmesh_mcp/server.py's docstring and its ImportError message, and thetest_mcp.pyskip message) topip install 'contextmesh-graph[mcp]'.docs/release-candidate-v0.1.0.mdrecording that the distribution name was checked against the real PyPI index, not just assumed safe from the import name — closing the gap that let this go unnoticed.Not changed:
import contextmesh, thecontextmesh/contextmesh-mcpconsole scripts, thecontextmesh/contextmesh_mcppackage directories, and every module path. Existing users, docs, and code that reference the import namespace are unaffected — only the string used withpip installchanges.Verification
contextmesh_graph-0.1.0-py3-none-any.whl/contextmesh_graph-0.1.0.tar.gz.twine check dist/*→ PASSED for both artifacts.import contextmeshsucceeds,contextmesh --helpruns, andpip show contextmesh-graphconfirms the distribution name.python -m unittest discover -s tests→ 989 tests, OK (6 skipped, same skips as before — the MCP-SDK-optional cases).ruff check .→ all checks passed.ops/leak-check.sh→ clean.Test plan
twine check.import contextmeshandcontextmesh --helpboth work.pip showconfirms the installed distribution name iscontextmesh-graph.ruff check .clean.ops/leak-check.shclean.🤖 Generated with Claude Code
Generated by Claude Code