diff --git a/pyproject.toml b/pyproject.toml index 3499a960..b3eaca1b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -46,6 +46,14 @@ dependencies = [ "boto3>=1.34.0", "langsmith>=0.7.30", "yara-python>=4.5.0", + # Python 3.14 compat: jsonschema-rs (pulled in transitively via + # langgraph-cli[inmem] -> langgraph-api) only ships prebuilt cp314 wheels + # continuously from 0.40.4 onward. Releases 0.35.0-0.40.3 have no cp314 + # wheels, so an unlocked fresh resolve could pick one and be force-built + # from source against an outdated pyo3 that does not support 3.14, breaking + # the install. langgraph-api caps jsonschema-rs at <0.45, so >=0.40.4 keeps + # a 3.14-compatible wheel while staying within the cap. + "jsonschema-rs>=0.40.4", ] [project.optional-dependencies] diff --git a/src/skillspector/mcp_server.py b/src/skillspector/mcp_server.py index e8aadedc..85531390 100644 --- a/src/skillspector/mcp_server.py +++ b/src/skillspector/mcp_server.py @@ -36,6 +36,7 @@ from skillspector.llm_utils import is_llm_available from skillspector.logging_config import get_logger + if TYPE_CHECKING: from mcp.server.fastmcp import FastMCP diff --git a/uv.lock b/uv.lock index bdf5743c..bf8a608f 100644 --- a/uv.lock +++ b/uv.lock @@ -1,5 +1,5 @@ version = 1 -revision = 2 +revision = 3 requires-python = ">=3.12, <3.15" resolution-markers = [ "python_full_version >= '3.14' and sys_platform == 'win32'", @@ -2665,6 +2665,7 @@ source = { editable = "." } dependencies = [ { name = "boto3" }, { name = "httpx" }, + { name = "jsonschema-rs" }, { name = "langchain-anthropic" }, { name = "langchain-aws" }, { name = "langchain-core" }, @@ -2701,6 +2702,7 @@ requires-dist = [ { name = "boto3", specifier = ">=1.34.0" }, { name = "build", marker = "extra == 'dev'", specifier = ">=1.4.0" }, { name = "httpx", specifier = ">=0.28.0" }, + { name = "jsonschema-rs", specifier = ">=0.40.4" }, { name = "langchain-anthropic", specifier = ">=1.4.5" }, { name = "langchain-aws", specifier = ">=0.2.0" }, { name = "langchain-core", specifier = ">=1.2.17" },