Pin httpx < 1.0 and simplify beta install docs#2975
Conversation
|
Warning Rate limit exceeded
⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. WalkthroughThis pull request updates installation documentation across two files by changing package version specifiers from exact pinning format to minimum-version range format. The main installation guide was updated from Possibly related PRs
🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (2 inconclusive)
✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
docs/getting-started/installation.mdx (1)
10-16: Update the beta install note to match the new version range.The note says to specify the version explicitly, but the command now uses a minimum range. Align the wording so it matches the command.
✏️ Suggested wording
- FastMCP 3.0 is currently in beta. Install by specifying the version explicitly. + FastMCP 3.0 is currently in beta. You should install it by specifying the minimum beta version.
| Or with uv: | ||
|
|
||
| ```bash | ||
| uv add fastmcp --prerelease=allow | ||
| uv add "fastmcp>=3.0.0b1" |
There was a problem hiding this comment.
🧩 Analysis chain
🌐 Web query:
uv prerelease allow flag behavior version specifiers beta
💡 Result:
Short answer: uv only accepts pre-release versions when you explicitly request them in a version specifier (e.g., >=1.0.0b1 / 2.0.0rc1) or when a package only has pre-release releases. Using --prerelease=allow (or prerelease = "allow" in config) forces the resolver to consider pre-releases for all dependencies (including transitive ones), and uv will prompt you to re-run with --prerelease=allow if resolution fails due to an otherwise-blocked transitive pre-release. [1][2]
Examples / notes:
- Explicit specifier: flask>=2.0.0rc1 will allow that release without other flags. [1][2]
- All-PRs case: if every published version is a pre-release, uv will consider them by default. [1][3]
- --prerelease=allow: opt-in that permits pre-releases globally (useful for alpha/beta installs). [2][4]
Sources: uv docs (pre-release behavior and CLI flag), uv PyPI description. [1][2][3][4]
🌐 Web query:
uv add prerelease version constraint >=3.0.0b1
💡 Result:
Use Poetry's allow-prereleases flag and the inequality specifier. For example:
poetry add @">=3.0.0b1" --allow-prereleases
This tells Poetry to accept the prerelease (b1) and any later versions >= 3.0.0b1. Poetry's prerelease handling and the --allow-prereleases option are documented in the dependency spec docs and PEP 440. [1][2]
Sources:
[1] Poetry — Dependency specification (pre-releases / allow-prereleases).
[2] PEP 440 — Handling of pre-releases.
Rephrase the label using second person to align with documentation style guidelines, which require second person for instructions and procedures.
The command uv add "fastmcp>=3.0.0b1" is correct without --prerelease=allow. When you explicitly include a prerelease version in the specifier (e.g., >=3.0.0b1), uv accepts it directly without requiring the flag.
Change "Or with uv:" to "You can also use uv:" for consistency with the docs style guide.
When installing fastmcp with pre-release resolution enabled, pip/uv can pull HTTPX 1.0.dev3, which breaks imports because
httpx-sse(a dependency ofmcp) useshttpx.TransportErrorwhich no longer exists in HTTPX 1.0:This adds an upper bound to keep HTTPX below 1.0 until the ecosystem catches up.
Also simplifies the beta install docs - specifying
>=3.0.0b1in the version allows pip/uv to install the prerelease without needing--preor--prerelease=allowflags, which avoids pulling prerelease versions of dependencies.Closes #2973