Skip to content

Commit f76e982

Browse files
chore: add python 3.14 to CI matrix (#917)
Added: - Python 3.13 and 3.14 to CI testing matrix in community workflow - Python 3.14 to CI testing matrix in core workflow - Python 3.13 and 3.14 classifiers to pyproject.toml Changed: - Default Python version in setup-env action from 3.12 to 3.14 Removed: - None Closed #916 --------- Co-authored-by: David Ankin <[email protected]>
1 parent f608df9 commit f76e982

File tree

7 files changed

+1457
-1030
lines changed

7 files changed

+1457
-1030
lines changed

.github/actions/setup-env/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: set up the python environment
44
inputs:
55
python-version:
66
description: "The python version to install and use"
7-
default: "3.12" # we default to latest supported
7+
default: "3.14" # we default to latest supported
88
required: false
99

1010
runs:

.github/workflows/ci-community.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Contrinuous Integration for community modules
1+
# Continuous Integration for community modules
22

33
name: modules
44

@@ -44,7 +44,7 @@ jobs:
4444
strategy:
4545
fail-fast: false
4646
matrix:
47-
python-version: ["3.9", "3.10", "3.11", "3.12"]
47+
python-version: ["3.9", "3.13", "3.14"]
4848
module: ${{ fromJSON(needs.track-modules.outputs.changed_modules) }}
4949
steps:
5050
- name: Checkout contents

.github/workflows/ci-core.yml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
strategy:
1515
fail-fast: false
1616
matrix:
17-
python-version: ["3.9", "3.11", "3.12", "3.13"]
17+
python-version: ["3.9", "3.13", "3.14"]
1818
steps:
1919
- uses: actions/checkout@v4
2020
- name: Set up Python
@@ -25,8 +25,6 @@ jobs:
2525
run: poetry install --all-extras
2626
- name: Run twine check
2727
run: rm -f LICENSE.txt && poetry build && poetry run twine check dist/*.tar.gz
28-
- name: Set up Docker
29-
uses: docker/setup-docker-action@v4
3028
- name: Run tests
3129
run: make core/tests
3230
- name: Rename coverage file

.github/workflows/ci-lint.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Contrinuous Integration for the core package
1+
# Continuous Integration for the core package
22

33
name: lint
44

@@ -16,7 +16,7 @@ jobs:
1616
- name: Setup Env
1717
uses: ./.github/actions/setup-env
1818
with:
19-
python-version: "3.9" # the pre-commit is hooked in as 3.9
19+
python-version: "3.13"
2020
- name: Install Python dependencies
2121
run: poetry install --no-interaction
2222
- name: Execute pre-commit handler

.github/workflows/docs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
- name: Set up Python
1515
uses: ./.github/actions/setup-env
1616
with:
17-
python-version: "3.11"
17+
python-version: "3.13"
1818
- name: Install Python dependencies
1919
run: poetry install --all-extras
2020
- name: Build documentation

poetry.lock

Lines changed: 1423 additions & 1016 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pyproject.toml

Lines changed: 27 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ classifiers = [
2020
"Programming Language :: Python :: 3.10",
2121
"Programming Language :: Python :: 3.11",
2222
"Programming Language :: Python :: 3.12",
23+
"Programming Language :: Python :: 3.13",
24+
"Programming Language :: Python :: 3.14",
2325
"Topic :: Software Development :: Libraries :: Python Modules",
2426
"Operating System :: Microsoft :: Windows",
2527
"Operating System :: POSIX",
@@ -91,25 +93,25 @@ python-dotenv = "*"
9193
python-arango = { version = "^7.8", optional = true }
9294
azure-storage-blob = { version = "^12.19", optional = true }
9395
cassandra-driver = { version = "3.29.1", optional = true }
94-
clickhouse-driver = { version = "*", optional = true }
96+
#clickhouse-driver = { version = "*", optional = true }
9597
google-cloud-pubsub = { version = ">=2", optional = true }
9698
google-cloud-datastore = { version = ">=2", optional = true }
9799
influxdb = { version = "*", optional = true }
98100
influxdb-client = { version = "*", optional = true }
99101
kubernetes = { version = "*", optional = true }
100-
pyyaml = { version = "*", optional = true }
102+
pyyaml = { version = ">=6.0.3", optional = true }
101103
python-keycloak = { version = "*", optional = true }
102104
boto3 = { version = "*", optional = true }
103105
minio = { version = "*", optional = true }
104106
nats-py = { version = "*", optional = true }
105107
pymongo = { version = "*", optional = true }
106108
sqlalchemy = { version = "*", optional = true }
107-
pymssql = { version = "*", optional = true, markers = "platform_machine != 'arm64' or python_version >= '3.10'" }
109+
pymssql = { version = ">=2.3.9", optional = true, markers = "platform_machine != 'arm64' or python_version >= '3.10'" }
108110
pymysql = { version = "*", extras = ["rsa"], optional = true }
109111
neo4j = { version = "*", optional = true }
110112
openfga-sdk = { version = "*", optional = true, markers = "python_version >= '3.10'" }
111113
opensearch-py = { version = "*", optional = true, markers = "python_version < '4.0'" }
112-
oracledb = { version = "*", optional = true }
114+
oracledb = { version = ">=3.4.1", optional = true }
113115
pika = { version = "*", optional = true }
114116
redis = { version = "*", optional = true }
115117
selenium = { version = "*", optional = true }
@@ -122,6 +124,26 @@ azure-cosmos = { version = "*", optional = true }
122124
cryptography = { version = "*", optional = true }
123125
trino = { version = "*", optional = true }
124126
ibm_db_sa = { version = "*", optional = true, markers = "platform_machine != 'aarch64' and platform_machine != 'arm64'" }
127+
pydantic = { version = ">=2.12.4", optional = true } # upgrade for 3.14 compat (uses pyo3)
128+
rpds-py = { version = ">=0.28.0", optional = true, markers = "python_version >= '3.10'" }
129+
grpcio = { version = ">=1.75.1", optional = true }
130+
markupsafe = { version = ">=3.0.3", optional = true }
131+
ujson = { version = ">=5.11.0", optional = true }
132+
aiohttp = { version = ">=3.13.2", optional = true }
133+
grpcio-tools = { version = ">=1.76.0", optional = true }
134+
msgpack = { version = ">=1.1.2", optional = true }
135+
pandas = { version = ">=2.3.3", optional = true }
136+
httpcore = { version = ">=1.0.8", optional = true } # we could fix this for everyone but this is httpx's responsibility
137+
138+
[tool.poetry.group.numpy_old.dependencies]
139+
numpy = { version = ">=2.0", optional = true, markers = "python_version < '3.11'" }
140+
[tool.poetry.group.numpy_new.dependencies]
141+
numpy = { version = ">=2.3.4", optional = true, markers = "python_version >= '3.11'" }
142+
143+
[tool.poetry.group.clickhouse-driver_old.dependencies]
144+
clickhouse-driver = { version = ">=0.1.5", optional = true, markers = "python_version < '3.11'" }
145+
[tool.poetry.group.clickhouse-driver_new.dependencies]
146+
clickhouse-driver = { version = ">=0.2.10", optional = true, markers = "python_version >= '3.11' and python_version < '4'" }
125147

126148
[tool.poetry.extras]
127149
arangodb = ["python-arango"]
@@ -182,7 +204,7 @@ sphinx = "7.2.6"
182204
twine = "6.2.0"
183205
anyio = "4.3.0"
184206
# for tests only
185-
psycopg2-binary = "2.9.10"
207+
psycopg2-binary = "2.9.11"
186208
pg8000 = "1.30.5"
187209
sqlalchemy = "2.0.28"
188210
psycopg = "3.1.18"

0 commit comments

Comments
 (0)