From 9a60d1814472a07d47fc33f89a145c74a26cfd7c Mon Sep 17 00:00:00 2001 From: Jeremy Sipin Date: Fri, 10 Jul 2026 16:43:46 +0200 Subject: [PATCH] fix: relax Werkzeug and pydantic pins to ranges frappe-mcp pinned Werkzeug==3.1.3 and pydantic~=2.11.7. Frappe v16 pins Werkzeug==3.1.6 and pydantic~=2.12.5, so neither range overlaps and installing frappe-mcp into a v16 bench downgrades the framework's own WSGI layer without any warning from pip. Nothing in the library depends on those exact versions: it uses Request and Response from werkzeug.wrappers, and BaseModel and ValidationError from pydantic. Test suite passes at both the locked versions and the ones Frappe v16 pins. Same fix as #4 applied to Click. Co-Authored-By: Claude --- pyproject.toml | 4 ++-- uv.lock | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index e9f79ef..e6a6d39 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -12,8 +12,8 @@ authors = [ readme = "README.md" requires-python = ">=3.10" dependencies = [ - "Werkzeug==3.1.3", - "pydantic~=2.11.7", + "Werkzeug>=3.1.3,<4", + "pydantic>=2.11.7,<3", "jsonschema (>=4.24.0,<5.0.0)", "Click>=8.1.8,<9", ] diff --git a/uv.lock b/uv.lock index 09241d6..4467d7e 100644 --- a/uv.lock +++ b/uv.lock @@ -73,8 +73,8 @@ dev = [ requires-dist = [ { name = "click", specifier = ">=8.1.8,<9" }, { name = "jsonschema", specifier = ">=4.24.0,<5.0.0" }, - { name = "pydantic", specifier = "~=2.11.7" }, - { name = "werkzeug", specifier = "==3.1.3" }, + { name = "pydantic", specifier = ">=2.11.7,<3" }, + { name = "werkzeug", specifier = ">=3.1.3,<4" }, ] [package.metadata.requires-dev]