From 43bb629331ea6690ef32d3e2860593ea5fb97cc4 Mon Sep 17 00:00:00 2001 From: sydney-runkle Date: Tue, 8 Oct 2024 09:22:16 -0400 Subject: [PATCH 1/3] initial support for 3.13 --- .github/workflows/main.yml | 2 +- pyproject.toml | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b619dd94..48efcd0d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -63,7 +63,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] + python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"] env: PYTHON: ${{ matrix.python-version }} steps: diff --git a/pyproject.toml b/pyproject.toml index 9b32659f..b3e1b865 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -29,6 +29,7 @@ classifiers = [ 'Programming Language :: Python :: 3.10', 'Programming Language :: Python :: 3.11', 'Programming Language :: Python :: 3.12', + 'Programming Language :: Python :: 3.13', 'Intended Audience :: Developers', 'Intended Audience :: Information Technology', 'Intended Audience :: System Administrators', @@ -46,7 +47,8 @@ dependencies = [ "opentelemetry-instrumentation >= 0.41b0", "rich >= 13.4.2", "protobuf >= 4.23.4", - "typing-extensions >= 4.1.0", + 'typing-extensions>=4.1.0; python_version < "3.13"', + 'typing-extensions>=4.12.2; python_version >= "3.13"', "tomli >= 2.0.1; python_version < '3.11'", "executing >= 2.0.1", ] @@ -95,7 +97,7 @@ dev-dependencies = [ "pytest-pretty", "pydantic @ git+https://github.com/pydantic/pydantic", "requests", - "sqlalchemy", + "sqlalchemy; python_version < '3.13'", "pandas>=2.1.2; python_version >= '3.9'", "pandas; python_version < '3.9'", "attrs", From 9810199fed10874a79ef1c35085f9425e5e82ad4 Mon Sep 17 00:00:00 2001 From: sydney-runkle Date: Tue, 8 Oct 2024 10:19:00 -0400 Subject: [PATCH 2/3] 3.13 bound --- pyproject.toml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index b3e1b865..8a965704 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -131,7 +131,8 @@ dev-dependencies = [ "coverage[toml]>=7.5.0", "psycopg[binary]", "psycopg2-binary", - "asyncpg", + # Re when we can support for 3.13, see: https://github.com/MagicStack/asyncpg/issues/1181 + "asyncpg; python_version < '3.13'", "pymysql", "cryptography", "cloudpickle>=3.0.0", From 95e008f17536680224b006105a2983999b3c62ad Mon Sep 17 00:00:00 2001 From: sydney-runkle Date: Tue, 8 Oct 2024 10:26:46 -0400 Subject: [PATCH 3/3] conditional arrow install --- pyproject.toml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 8a965704..aca162aa 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -143,7 +143,8 @@ dev-dependencies = [ "testcontainers>3.7.1; python_version >= '3.9'", "testcontainers==3.7.1; python_version < '3.9'", "mysql-connector-python~=8.0", - "pyarrow>=17.0.0", + # Upgrade blocked by https://github.com/apache/arrow/issues/43519 + "pyarrow>=17.0.0; python_version < '3.13'", # It looks like numpy didn't use to have `requires-python`, so we need to specify the version. "numpy>=2.0; python_version >= '3.9' and python_version < '3.12'", "numpy<1.24.4; python_version < '3.9'",