From eebc76cf2cb1b13cba4f8e9062c2505028d3b898 Mon Sep 17 00:00:00 2001 From: Joshua Valluru <326636767+joshua-berri@users.noreply.github.com> Date: Thu, 17 Sep 2026 17:03:19 -0700 Subject: [PATCH] fix(deps): correct minimum versions for supported Python releases --- .circleci/config.yml | 20 ++++++++++++++++++-- pyproject.toml | 6 ++++-- uv.lock | 6 ++++-- 3 files changed, 26 insertions(+), 6 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index df17a9e4402..937fe385715 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -359,6 +359,14 @@ jobs: uv run --no-sync python tests/windows_tests/check_windows_wheel_install.py base_sdk_install: + parameters: + python_version: + type: string + default: "3.12" + resolution: + type: enum + enum: ["highest", "lowest-direct"] + default: "highest" docker: - image: cimg/python:3.12@sha256:9c796c23c84e84a66a964acb508d39dc5433c81a47e07efd56dccbbc2427e07c auth: @@ -381,8 +389,9 @@ jobs: environment: UV_HTTP_TIMEOUT: "300" command: | - uv venv /tmp/base-sdk --python 3.12 - VIRTUAL_ENV=/tmp/base-sdk uv pip install dist/*.whl + uv venv /tmp/base-sdk --python "<< parameters.python_version >>" + uv pip install --python /tmp/base-sdk/bin/python \ + --resolution "<< parameters.resolution >>" --no-sources -r pyproject.toml dist/*.whl /tmp/base-sdk/bin/python tests/base_sdk_tests/check_base_sdk_install.py local_testing_part1: @@ -3026,6 +3035,13 @@ workflows: - provider_replay_harness - base_sdk_install: filters: *main_branches + - base_sdk_install: + name: base_sdk_minimum_<< matrix.python_version >> + resolution: lowest-direct + matrix: + parameters: + python_version: ["3.10", "3.11", "3.12", "3.13", "3.14"] + filters: *main_branches - local_testing_part1: filters: *main_branches - local_testing_part2: diff --git a/pyproject.toml b/pyproject.toml index dfe84a28d52..4aa0d0fb5fb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -18,13 +18,15 @@ dependencies = [ "httpx[http2]>=0.28.0,<1.0", "openai>=2.20.0,<3.0.0", "python-dotenv>=1.0.0,<2.0", - "tiktoken>=0.8.0,<1.0", + "tiktoken>=0.8.0,<1.0; python_version < '3.14'", + "tiktoken>=0.12.0,<1.0; python_version >= '3.14'", "importlib-metadata>=8.0.0,<9.0", "tokenizers>=0.21.0,<1.0", "click>=8.0.0,<9.0", "jinja2>=3.1.6,<4.0", "aiohttp>=3.14.2,<4.0", - "pydantic>=2.10.0,<3.0.0", + "pydantic>=2.11.0,<3.0.0; python_version < '3.14'", + "pydantic>=2.12.0,<3.0.0; python_version >= '3.14'", "pydantic-settings>=2.14.1,<3.0", "jsonschema>=4.0.0,<5.0", "boto3>=1.43.1,<2.0", diff --git a/uv.lock b/uv.lock index 35eaa20c39e..75f30858895 100644 --- a/uv.lock +++ b/uv.lock @@ -4756,7 +4756,8 @@ requires-dist = [ { name = "prometheus-client", marker = "extra == 'proxy-runtime'", specifier = ">=0.20.0,<1.0" }, { name = "psycopg", marker = "extra == 'extra-proxy'", specifier = ">=3.2,<4.0" }, { name = "psycopg-binary", marker = "extra == 'extra-proxy'", specifier = ">=3.2,<4.0" }, - { name = "pydantic", specifier = ">=2.10.0,<3.0.0" }, + { name = "pydantic", marker = "python_full_version < '3.14'", specifier = ">=2.11.0,<3.0.0" }, + { name = "pydantic", marker = "python_full_version >= '3.14'", specifier = ">=2.12.0,<3.0.0" }, { name = "pydantic-settings", specifier = ">=2.14.1,<3.0" }, { name = "pyjwt", marker = "extra == 'proxy'", specifier = ">=2.13.0,<3.0" }, { name = "pynacl", marker = "extra == 'proxy'", specifier = ">=1.6.2,<2.0" }, @@ -4779,7 +4780,8 @@ requires-dist = [ { name = "soundfile", marker = "extra == 'proxy'", specifier = ">=0.12.1,<1.0" }, { name = "soundfile", marker = "extra == 'stt-nvidia-riva'", specifier = ">=0.12.1" }, { name = "starlette", marker = "extra == 'proxy'", specifier = ">=1.0.1,<2.0" }, - { name = "tiktoken", specifier = ">=0.8.0,<1.0" }, + { name = "tiktoken", marker = "python_full_version < '3.14'", specifier = ">=0.8.0,<1.0" }, + { name = "tiktoken", marker = "python_full_version >= '3.14'", specifier = ">=0.12.0,<1.0" }, { name = "tokenizers", specifier = ">=0.21.0,<1.0" }, { name = "tomlkit", marker = "extra == 'cli'", specifier = ">=0.13.3,<1.0" }, { name = "tomlkit", marker = "extra == 'proxy'", specifier = ">=0.13.3,<1.0" },