From 3ca5add1beeb9f040d3456e7a2eff9703fa605f5 Mon Sep 17 00:00:00 2001 From: Artur Shiriev Date: Sun, 20 Sep 2026 17:21:46 +0300 Subject: [PATCH] fix(deps): mark the msgspec and pydantic floors msgspec >=0.18 resolved to a release whose can_decode disagrees with decode on Annotated types; 0.18.5 is the first that agrees. msgspec ships no cp314 wheel before 0.20 and pydantic-core none before pydantic 2.12, so both are marked for 3.14 rather than raised for every interpreter. Closes #132 --- pyproject.toml | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index e08b2c4..b46096c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -38,8 +38,17 @@ dependencies = [ ] [project.optional-dependencies] -pydantic = ["pydantic>=2.0,<3.0"] -msgspec = ["msgspec>=0.18"] +pydantic = [ + "pydantic>=2.0,<3.0; python_version < '3.14'", + # pydantic-core ships no cp314 wheel before pydantic 2.12. + "pydantic>=2.12,<3.0; python_version >= '3.14'", +] +msgspec = [ + # 0.18.5 is the first release whose can_decode agrees with decode on Annotated types; + # 0.20 is the first with a cp314 wheel. + "msgspec>=0.18.5; python_version < '3.14'", + "msgspec>=0.20; python_version >= '3.14'", +] otel = ["opentelemetry-api>=1.20"] all = ["httpware[pydantic,msgspec,otel]"]