mirror of
https://github.com/PrefectHQ/fastmcp.git
synced 2026-08-22 21:44:18 +02:00
Fix fastmcp slim upgrade layout
This commit is contained in:
parent
b194349983
commit
b3f00d01e7
4 changed files with 40 additions and 2 deletions
1
fastmcp_slim/fastmcp_slim.pth
Normal file
1
fastmcp_slim/fastmcp_slim.pth
Normal file
|
|
@ -0,0 +1 @@
|
|||
fastmcp_slim
|
||||
|
|
@ -55,7 +55,12 @@ source = "uv-dynamic-versioning"
|
|||
allow-direct-references = true
|
||||
|
||||
[tool.hatch.build.targets.wheel]
|
||||
packages = ["fastmcp"]
|
||||
bypass-selection = true
|
||||
only-include = []
|
||||
|
||||
[tool.hatch.build.targets.wheel.force-include]
|
||||
fastmcp = "fastmcp_slim/fastmcp"
|
||||
"fastmcp_slim.pth" = "fastmcp_slim.pth"
|
||||
|
||||
[tool.uv-dynamic-versioning]
|
||||
vcs = "git"
|
||||
|
|
|
|||
|
|
@ -31,6 +31,9 @@ Homepage = "https://gofastmcp.com"
|
|||
Repository = "https://github.com/PrefectHQ/fastmcp"
|
||||
Documentation = "https://gofastmcp.com"
|
||||
|
||||
[project.scripts]
|
||||
fastmcp = "fastmcp.cli:app"
|
||||
|
||||
[build-system]
|
||||
requires = ["hatchling", "uv-dynamic-versioning>=0.7.0"]
|
||||
build-backend = "hatchling.build"
|
||||
|
|
|
|||
|
|
@ -4,10 +4,13 @@ import builtins
|
|||
import contextlib
|
||||
import types
|
||||
from collections.abc import Mapping, Sequence
|
||||
from pathlib import Path
|
||||
from typing import Any, cast
|
||||
|
||||
import pytest
|
||||
|
||||
PROJECT_ROOT = Path(__file__).resolve().parents[2]
|
||||
|
||||
|
||||
@contextlib.contextmanager
|
||||
def block_server_imports():
|
||||
|
|
@ -40,7 +43,6 @@ def test_client_http_headers_do_not_require_server() -> None:
|
|||
assert get_http_headers(include_all=True) == {}
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_multiserver_config_requires_server_for_now() -> None:
|
||||
from fastmcp.client.transports import MCPConfigTransport
|
||||
|
||||
|
|
@ -59,3 +61,30 @@ async def test_multiserver_config_requires_server_for_now() -> None:
|
|||
):
|
||||
async with transport.connect_session():
|
||||
pass
|
||||
|
||||
|
||||
def test_fastmcp_metapackage_delegates_to_slim() -> None:
|
||||
pyproject = (PROJECT_ROOT / "pyproject.toml").read_text()
|
||||
|
||||
assert 'dynamic = ["version", "dependencies", "optional-dependencies"]' in pyproject
|
||||
assert "[project.scripts]" in pyproject
|
||||
assert 'fastmcp = "fastmcp.cli:app"' in pyproject
|
||||
assert "[tool.hatch.build.targets.wheel]" in pyproject
|
||||
assert "bypass-selection = true" in pyproject
|
||||
assert "only-include = []" in pyproject
|
||||
assert 'exclude = ["/*"]' in pyproject
|
||||
assert '"fastmcp-slim[client,server]=={{ version }}"' in pyproject
|
||||
|
||||
|
||||
def test_fastmcp_slim_installs_private_import_root() -> None:
|
||||
pyproject = (PROJECT_ROOT / "fastmcp_slim" / "pyproject.toml").read_text()
|
||||
|
||||
assert "[tool.hatch.build.targets.wheel]" in pyproject
|
||||
assert "bypass-selection = true" in pyproject
|
||||
assert "only-include = []" in pyproject
|
||||
assert "[tool.hatch.build.targets.wheel.force-include]" in pyproject
|
||||
assert 'fastmcp = "fastmcp_slim/fastmcp"' in pyproject
|
||||
assert '"fastmcp_slim.pth" = "fastmcp_slim.pth"' in pyproject
|
||||
|
||||
pth_file = PROJECT_ROOT / "fastmcp_slim" / "fastmcp_slim.pth"
|
||||
assert pth_file.read_text().strip() == "fastmcp_slim"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue