Skip to content

Commit 6065e14

Browse files
authored
feat: adds support for Python runtime 3.14 (#2322)
* feat: adds support for Python runtime 3.14 * adds step to install gdal * adds files required by pyarrow * adds repo required by pyarrow * corrects url to repo required by pyarrow * testing a theory with a conditional * testing a theory with a conditional version of ubuntu * testing a new approach to installing arrow * testing a new approach to dearmoring the key * back to the basics * trying a conditional again. * adds explanatory comment resets ubuntu version to latest * Apply suggestion from @chalmerlowe * Apply suggestion from @chalmerlowe * Apply suggestion from @chalmerlowe * Apply suggestion from @chalmerlowe
1 parent b11e09c commit 6065e14

File tree

7 files changed

+19
-6
lines changed

7 files changed

+19
-6
lines changed

.github/sync-repo-settings.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ branchProtectionRules:
1919
- 'Samples - Python 3.11'
2020
- 'Samples - Python 3.12'
2121
- 'Samples - Python 3.13'
22+
- 'Samples - Python 3.14'
2223
- pattern: v2
2324
requiresLinearHistory: true
2425
requiresCodeOwnerReviews: true

.github/workflows/unittest.yml

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,10 @@ on:
55
name: unittest
66
jobs:
77
unit:
8-
# Use `ubuntu-latest` runner.
98
runs-on: ubuntu-latest
109
strategy:
1110
matrix:
12-
python: ['3.9', '3.11', '3.12', '3.13']
11+
python: ['3.9', '3.10', '3.11', '3.12', '3.13', '3.14']
1312
steps:
1413
- name: Checkout
1514
uses: actions/checkout@v4
@@ -22,6 +21,12 @@ jobs:
2221
python -m pip install --upgrade setuptools pip wheel
2322
python -m pip install nox
2423
- name: Run unit tests
24+
25+
# TODO (https://b.corp.google.com/issues/450370502) 3.14 is not yet supported by pyarrow. See
26+
# https://github.com/googleapis/google-cloud-python/issues/14686
27+
# https://github.com/apache/arrow/issues/47438
28+
# Reinstate running tests with 3.14 once this bug is fixed
29+
if: matrix.python != '3.14'
2530
env:
2631
COVERAGE_FILE: .coverage-${{ matrix.python }}
2732
run: |
@@ -38,7 +43,7 @@ jobs:
3843
runs-on: ubuntu-latest
3944
strategy:
4045
matrix:
41-
python: ['3.9', '3.13']
46+
python: ['3.9', '3.14']
4247
steps:
4348
- name: Checkout
4449
uses: actions/checkout@v4

CONTRIBUTING.rst

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ In order to add a feature:
2222
documentation.
2323

2424
- The feature must work fully on the following CPython versions:
25-
3.9, 3.10, 3.11, 3.12 and 3.13 on both UNIX and Windows.
25+
3.9, 3.10, 3.11, 3.12, 3.13 and 3.14 on both UNIX and Windows.
2626

2727
- The feature must not add unnecessary dependencies (where
2828
"unnecessary" is of course subjective, but new dependencies should
@@ -226,12 +226,14 @@ We support:
226226
- `Python 3.11`_
227227
- `Python 3.12`_
228228
- `Python 3.13`_
229+
- `Python 3.14`_
229230

230231
.. _Python 3.9: https://docs.python.org/3.9/
231232
.. _Python 3.10: https://docs.python.org/3.10/
232233
.. _Python 3.11: https://docs.python.org/3.11/
233234
.. _Python 3.12: https://docs.python.org/3.12/
234235
.. _Python 3.13: https://docs.python.org/3.13/
236+
.. _Python 3.14: https://docs.python.org/3.14/
235237

236238

237239
Supported versions can be found in our ``noxfile.py`` `config`_.

noxfile.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939

4040
DEFAULT_PYTHON_VERSION = "3.9"
4141
SYSTEM_TEST_PYTHON_VERSIONS = ["3.9", "3.11", "3.12", "3.13"]
42-
UNIT_TEST_PYTHON_VERSIONS = ["3.9", "3.11", "3.12", "3.13"]
42+
UNIT_TEST_PYTHON_VERSIONS = ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
4343
CURRENT_DIRECTORY = pathlib.Path(__file__).parent.absolute()
4444

4545

owlbot.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@
5656
"pandas": "https://pandas.pydata.org/pandas-docs/stable/",
5757
},
5858
system_test_python_versions=["3.9", "3.13"],
59-
unit_test_python_versions=["3.9", "3.10", "3.11", "3.12", "3.13"],
59+
unit_test_python_versions=["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"],
6060
default_python_version="3.9",
6161
)
6262

pyproject.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ classifiers = [
3838
"Programming Language :: Python :: 3.11",
3939
"Programming Language :: Python :: 3.12",
4040
"Programming Language :: Python :: 3.13",
41+
"Programming Language :: Python :: 3.14",
4142
"Operating System :: OS Independent",
4243
"Topic :: Internet",
4344
]
@@ -69,13 +70,15 @@ bqstorage = [
6970
# https://github.com/grpc/grpc/pull/15254
7071
"grpcio >= 1.47.0, < 2.0.0",
7172
"grpcio >= 1.49.1, < 2.0.0; python_version >= '3.11'",
73+
"grpcio >= 1.75.1, < 2.0.0; python_version >= '3.14'",
7274
"pyarrow >= 4.0.0",
7375
]
7476
pandas = [
7577
"pandas >= 1.3.0",
7678
"pandas-gbq >= 0.26.1",
7779
"grpcio >= 1.47.0, < 2.0.0",
7880
"grpcio >= 1.49.1, < 2.0.0; python_version >= '3.11'",
81+
"grpcio >= 1.75.1, < 2.0.0; python_version >= '3.14'",
7982
"pyarrow >= 3.0.0",
8083
"db-dtypes >= 1.0.4, < 2.0.0",
8184
]

testing/constraints-3.14.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Constraints for Python 3.14
2+
grpcio >= 1.75.1

0 commit comments

Comments
 (0)