Skip to content

Commit 76e6d11

Browse files
chalmerlowegoogle-labs-jules[bot]gcf-owl-bot[bot]
authored
feat: Add Python 3.13 support (#930)
* Add Python 3.13 support This commit introduces support for Python 3.13 as a runtime dependency. The following changes were made: - Updated `noxfile.py` to include Python 3.13 in unit and system test versions. - Created `testing/constraints-3.13.txt` (initially empty, copied from an empty constraints-3.12.txt). - Updated `.github/workflows/unittest.yml` to include Python 3.13 in the test matrix. - Updated `setup.py` to add the Python 3.13 classifier. - Updated `CONTRIBUTING.rst` to list Python 3.13 as a supported version. - Created `.kokoro/presubmit/system-3.13.cfg` for Kokoro system tests. - Updated `.github/sync-repo-settings.yaml` to include Python 3.13 in required status checks. - Updated `owlbot.py` to include Python 3.13 in unit and system test versions for templated files. * feat: Add Python 3.13 support This commit introduces support for Python 3.13 as a runtime dependency. The following changes were made: - Updated `noxfile.py` to include Python 3.13 in unit and system test versions. - Created `testing/constraints-3.13.txt` (initially empty, copied from an empty constraints-3.12.txt). - Updated `.github/workflows/unittest.yml` to include Python 3.13 in the test matrix. - Updated `setup.py` to add the Python 3.13 classifier. - Updated `CONTRIBUTING.rst` to list Python 3.13 as a supported version. - Created `.kokoro/presubmit/system-3.13.cfg` for Kokoro system tests. - Updated `.github/sync-repo-settings.yaml` to include Python 3.13 in required status checks. - Updated `owlbot.py` to include Python 3.13 in unit and system test versions for templated files. * removes presubmit task for 3.12 now that we have one for 3.13 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * Update CONTRIBUTING.rst * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --------- Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com> Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
1 parent bcd5c3c commit 76e6d11

File tree

8 files changed

+16
-11
lines changed

8 files changed

+16
-11
lines changed

.github/sync-repo-settings.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ branchProtectionRules:
1616
- 'unit (3.10)'
1717
- 'unit (3.11)'
1818
- 'unit (3.12)'
19+
- 'unit (3.13)'
1920
- 'cover'
2021
- 'Kokoro'
2122
- 'Samples - Lint'
@@ -24,6 +25,7 @@ branchProtectionRules:
2425
- 'Samples - Python 3.10'
2526
- 'Samples - Python 3.11'
2627
- 'Samples - Python 3.12'
28+
- 'Samples - Python 3.13'
2729
permissionRules:
2830
- team: actools-python
2931
permission: admin

.github/workflows/unittest.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
runs-on: ubuntu-22.04
1212
strategy:
1313
matrix:
14-
python: ['3.8', '3.9', '3.10', '3.11', '3.12']
14+
python: ['3.8', '3.9', '3.10', '3.11', '3.12', '3.13']
1515
steps:
1616
- name: Checkout
1717
uses: actions/checkout@v4

.kokoro/presubmit/system-3.12.cfg renamed to .kokoro/presubmit/system-3.13.cfg

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@
33
# Only run the following session(s)
44
env_vars: {
55
key: "NOX_SESSION"
6-
value: "system-3.12"
7-
}
6+
value: "system-3.13"
7+
}

CONTRIBUTING.rst

Lines changed: 6 additions & 4 deletions
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.8, 3.9, 3.10, 3.11 and 3.12 on both UNIX and Windows.
25+
3.8, 3.9, 3.10, 3.11, 3.12 and 3.13 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
@@ -72,7 +72,7 @@ We use `nox <https://nox.readthedocs.io/en/latest/>`__ to instrument our tests.
7272

7373
- To run a single unit test::
7474

75-
$ nox -s unit-3.12 -- -k <name of test>
75+
$ nox -s unit-3.13 -- -k <name of test>
7676

7777

7878
.. note::
@@ -143,12 +143,12 @@ Running System Tests
143143
$ nox -s system
144144

145145
# Run a single system test
146-
$ nox -s system-3.12 -- -k <name of test>
146+
$ nox -s system-3.13 -- -k <name of test>
147147

148148

149149
.. note::
150150

151-
System tests are only configured to run under Python 3.8, 3.9, 3.10, 3.11 and 3.12.
151+
System tests are only configured to run under Python 3.8, 3.9, 3.10, 3.11, 3.12 and 3.13.
152152
For expediency, we do not run them in older versions of Python 3.
153153

154154
This alone will not run the tests. You'll need to change some local
@@ -226,12 +226,14 @@ We support:
226226
- `Python 3.10`_
227227
- `Python 3.11`_
228228
- `Python 3.12`_
229+
- `Python 3.13`_
229230

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

236238

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

noxfile.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
DEFAULT_PYTHON_VERSION = "3.10"
3636

3737

38-
UNIT_TEST_PYTHON_VERSIONS = ["3.8", "3.9", "3.10", "3.11", "3.12"]
38+
UNIT_TEST_PYTHON_VERSIONS = ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
3939
UNIT_TEST_STANDARD_DEPENDENCIES = [
4040
"mock",
4141
"asyncmock",
@@ -57,7 +57,7 @@
5757
"3.9": [],
5858
}
5959

60-
SYSTEM_TEST_PYTHON_VERSIONS = ["3.8", "3.9", "3.10", "3.11", "3.12"]
60+
SYSTEM_TEST_PYTHON_VERSIONS = ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
6161
SYSTEM_TEST_STANDARD_DEPENDENCIES = [
6262
"mock",
6363
"pytest",

owlbot.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@
3535
extras = ["tqdm", "geopandas"]
3636
templated_files = common.py_library(
3737
default_python_version="3.10",
38-
unit_test_python_versions=["3.8", "3.9", "3.10", "3.11", "3.12"],
39-
system_test_python_versions=["3.8", "3.9", "3.10", "3.11", "3.12"],
38+
unit_test_python_versions=["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"],
39+
system_test_python_versions=["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"],
4040
cov_level=96,
4141
unit_test_external_dependencies=["freezegun"],
4242
unit_test_extras=extras,

setup.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@
9090
"Programming Language :: Python :: 3.10",
9191
"Programming Language :: Python :: 3.11",
9292
"Programming Language :: Python :: 3.12",
93+
"Programming Language :: Python :: 3.13",
9394
"Operating System :: OS Independent",
9495
"Topic :: Internet",
9596
"Topic :: Scientific/Engineering",

testing/constraints-3.13.txt

Whitespace-only changes.

0 commit comments

Comments
 (0)