fix: __version__ from metadata; revert the fastmcp pin (v0.5.2) - #11
Merged
Merged
Conversation
…flag **0.5.1 shipped with two disagreeing versions.** The distribution said 0.5.1 and `molmcp.__version__` still said 0.5.0, because the literal in `__init__.py` sat beside the real version in `pyproject.toml` and a release bumps the manifest. `importlib.metadata.version` is the one source now, and three tests fail if a literal ever comes back. **The 0.5.1 pin did not do what it was meant to.** `fastmcp==4.0.0b2` was supposed to make uv install molmcp without `--prerelease=allow`. Measured side by side, it does not: a local wheel resolves either way, but from an index uv refuses the exact pin for the same reason it refuses the range — it does not enable pre-releases for a transitive dependency, however that dependency is spelled. So the pin bought nothing and cost the automatic upgrade. Back to `>=4.0.0b1,<5`, which resolves to 4.0.0b2 today and picks up 4.0.0 the day it ships, taking the uv problem with it. Still FastMCP 4 only — 3.x speaks the protocol this repo was rebuilt off, and a bare `fastmcp` lands on 3.4.6. Until then the flag is documented rather than worked around: `installation.md` explains why `uv add --prerelease=allow` is needed, that pip needs nothing, and that pinning is not a fix; the migration guide points at it.
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.
Two corrections to 0.5.1.
__version__disagreed with the distribution0.5.1 shipped like this:
The literal in
__init__.pysat beside the real version inpyproject.toml,and a release bumps the manifest. It reads
importlib.metadata.versionnow —one source of truth — and three tests fail if a literal comes back.
The 0.5.1 pin did not do what it was meant to
fastmcp==4.0.0b2was supposed to let uv install molmcp without--prerelease=allow. Measured side by side, it does not:A local wheel resolves either way; from an index uv refuses the exact pin
for the same reason it refuses the range — it does not enable pre-releases for
a transitive dependency, however that dependency is spelled. The pin bought
nothing and cost the automatic upgrade, so this reverts to
>=4.0.0b1,<5:resolves to 4.0.0b2 today, picks up 4.0.0 the day it ships, and the uv problem
goes with it.
Still FastMCP 4 only. 3.x speaks the protocol this repo was rebuilt off,
and a bare
fastmcplands on 3.4.6.>=4.0.0resolves to nothing — PyPI's4.x line is a1/a2/b1/b2 with no final yet.
Until then the flag is documented rather than worked around:
installation.mdexplains whyuv add --prerelease=allowis needed, that pipneeds nothing extra, and that pinning is not a fix. The migration guide points
at it.
Test plan
pytest— 1028 passed, 2 skipped (3 new version-consistency tests)ruff check/ruff format --checkclean__version__and the distribution version agree