Skip to content

Commit a56b695

Browse files
enable builds for python 3.13
1 parent f4a864a commit a56b695

File tree

4 files changed

+81
-6
lines changed

4 files changed

+81
-6
lines changed

build.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
from packaging.utils import parse_wheel_filename
3333
from packaging.version import Version
3434

35-
PYTHONS = ((3, 11), (3, 12))
35+
PYTHONS = ((3, 11), (3, 12), (3, 13))
3636

3737
BINARY_EXTS = frozenset(
3838
(".c", ".cc", ".cpp", ".cxx", ".pxd", ".pxi", ".pyx", ".go", ".rs")

packages.ini

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@ python_versions = <3.12
77
[aiohttp==3.8.5]
88
python_versions = <3.12
99
[aiohttp==3.9.1]
10+
python_versions = <3.13
1011
[aiohttp==3.10.2]
12+
python_versions = <3.13
1113
[aiohttp==3.10.10]
1214

1315
[aiosignal==1.2.0]
@@ -112,6 +114,8 @@ validate_extras = d
112114
[botocore==1.34.128]
113115

114116
[brotli==1.0.9]
117+
python_versions = <3.12
118+
[brotli==1.1.0]
115119

116120
[build==0.8.0]
117121
[build==0.10.0]
@@ -157,12 +161,15 @@ validate_extras = d
157161
[cffi==1.14.6]
158162
apt_requires = libffi-dev
159163
brew_requires = libffi
164+
python_versions = <3.13
160165
[cffi==1.15.1]
161166
apt_requires = libffi-dev
162167
brew_requires = libffi
168+
python_versions = <3.13
163169
[cffi==1.16.0]
164170
apt_requires = libffi-dev
165171
brew_requires = libffi
172+
python_versions = <3.13
166173
[cffi==1.17.1]
167174
apt_requires = libffi-dev
168175
brew_requires = libffi
@@ -178,10 +185,15 @@ brew_requires = libffi
178185
[charset-normalizer==2.1.0]
179186
[charset-normalizer==2.1.1]
180187
[charset-normalizer==3.0.1]
188+
python_versions = <3.13
181189
[charset-normalizer==3.1.0]
190+
python_versions = <3.13
182191
[charset-normalizer==3.2.0]
192+
python_versions = <3.13
183193
[charset-normalizer==3.3.0]
194+
python_versions = <3.13
184195
[charset-normalizer==3.3.2]
196+
python_versions = <3.13
185197
[charset-normalizer==3.4.0]
186198

187199
[click==7.1.2]
@@ -198,6 +210,7 @@ brew_requires = libffi
198210
[click-repl==0.3.0]
199211

200212
[clickhouse-driver==0.2.6]
213+
python_versions = <3.13
201214

202215
[colorama==0.4.5]
203216
[colorama==0.4.6]
@@ -208,6 +221,7 @@ apt_requires =
208221
wget
209222
brew_requires = wget
210223
custom_prebuild = prebuild/librdkafka v2.1.1
224+
python_versions = <3.13
211225
[confluent-kafka==2.3.0]
212226
apt_requires =
213227
patch
@@ -221,14 +235,24 @@ custom_prebuild = prebuild/librdkafka v2.3.0
221235
[covdefaults==2.3.0]
222236

223237
[coverage==6.3.3]
238+
python_versions = <3.13
224239
[coverage==6.4.1]
240+
python_versions = <3.13
225241
[coverage==6.4.3]
242+
python_versions = <3.13
226243
[coverage==6.4.4]
244+
python_versions = <3.13
227245
[coverage==6.5.0]
246+
python_versions = <3.13
228247
[coverage==7.1.0]
248+
python_versions = <3.13
229249
[coverage==7.2.7]
250+
python_versions = <3.13
230251
[coverage==7.3.4]
252+
python_versions = <3.13
231253
[coverage==7.4.1]
254+
python_versions = <3.13
255+
[coverage==7.6.4]
232256

233257
[coverage-enable-subprocess==1.0]
234258

@@ -470,6 +494,7 @@ validate_incorrect_missing_deps = six
470494
[gojsonnet==0.20.0]
471495
apt_requires = golang
472496
brew_requires = go
497+
python_versions = <3.13
473498

474499
[google-api-core==1.32.0]
475500
[google-api-core==2.8.2]
@@ -595,12 +620,19 @@ python_versions = <3.12
595620
[grpcio==1.56.0]
596621
python_versions = <3.12
597622
[grpcio==1.59.0]
623+
python_versions = <3.13
598624
[grpcio==1.60.0]
625+
python_versions = <3.13
599626
[grpcio==1.60.1]
627+
python_versions = <3.13
600628
[grpcio==1.62.1]
629+
python_versions = <3.13
601630
[grpcio==1.64.0]
631+
python_versions = <3.13
602632
[grpcio==1.65.4]
633+
python_versions = <3.13
603634
[grpcio==1.66.1]
635+
python_versions = <3.13
604636
[grpcio==1.67.0]
605637

606638
[grpcio-status==1.47.0]
@@ -625,6 +657,7 @@ python_versions = <3.12
625657
[hiredis==2.0.0]
626658
python_versions = <3.12
627659
[hiredis==2.3.2]
660+
python_versions = <3.13
628661

629662
[honcho==1.0.0]
630663
[honcho==1.0.1]
@@ -710,6 +743,7 @@ python_versions = <3.12
710743
[johen==0.1.5]
711744

712745
[jsonnet==0.20.0]
746+
python_versions = <3.13
713747

714748
[jsonpatch==1.33]
715749

@@ -777,6 +811,7 @@ apt_requires =
777811
brew_requires =
778812
libxml2
779813
libxslt
814+
python_versions = <3.13
780815

781816
[lxml-stubs==0.4.0]
782817

@@ -842,13 +877,17 @@ brew_requires = libmaxminddb
842877
[msgpack==1.0.4]
843878
python_versions = <3.12
844879
[msgpack==1.0.7]
880+
python_versions = <3.13
845881
[msgpack==1.0.8]
882+
python_versions = <3.13
846883
[msgpack==1.1.0]
847884

848885
[msgpack-types==0.2.0]
849886

850887
[multidict==6.0.2]
888+
python_versions = <3.13
851889
[multidict==6.0.4]
890+
python_versions = <3.13
852891
[multidict==6.1.0]
853892

854893
[mypy==0.971]
@@ -919,7 +958,9 @@ python_versions = <3.12
919958
[opentelemetry-proto==1.22.0]
920959

921960
[orjson==3.10.0]
961+
python_versions = <3.13
922962
[orjson==3.10.3]
963+
python_versions = <3.13
923964

924965
[outcome==1.2.0]
925966
[outcome==1.3.0.post0]
@@ -976,10 +1017,15 @@ python_versions = <3.12
9761017
[pillow==9.5.0]
9771018
python_versions = <3.12
9781019
[pillow==10.0.0]
1020+
python_versions = <3.13
9791021
[pillow==10.0.1]
1022+
python_versions = <3.13
9801023
[pillow==10.1.0]
1024+
python_versions = <3.13
9811025
[pillow==10.2.0]
1026+
python_versions = <3.13
9821027
[pillow==10.3.0]
1028+
python_versions = <3.13
9831029
[pillow==10.4.0]
9841030

9851031
[pip==22.1.2]
@@ -1086,6 +1132,12 @@ brew_requires =
10861132
python_versions = <3.12
10871133
[psycopg2-binary==2.9.9]
10881134
apt_requires = libpq-dev
1135+
brew_requires =
1136+
1137+
postgresql
1138+
python_versions = <3.13
1139+
[psycopg2-binary==2.9.10]
1140+
apt_requires = libpq-dev
10891141
brew_requires =
10901142
10911143
postgresql
@@ -1129,7 +1181,10 @@ brew_requires =
11291181
[pydantic==2.7.4]
11301182

11311183
[pydantic-core==2.14.5]
1184+
python_versions = <3.13
11321185
[pydantic-core==2.18.4]
1186+
python_versions = <3.13
1187+
[pydantic-core==2.24.2]
11331188

11341189
[pyelftools==0.28]
11351190
[pyelftools==0.29]
@@ -1164,7 +1219,9 @@ brew_requires = libmemcached
11641219
[pyproject-hooks==1.0.0]
11651220

11661221
[pyrsistent==0.18.1]
1222+
python_versions = <3.13
11671223
[pyrsistent==0.19.3]
1224+
python_versions = <3.13
11681225

11691226
[pysocks==1.7.1]
11701227

@@ -1286,12 +1343,16 @@ brew_requires = libmemcached
12861343
[pyupgrade==3.17.0]
12871344

12881345
[pyuwsgi==2.0.23]
1346+
python_versions = <3.13
12891347
validate_skip_imports = uwsgidecorators
12901348
[pyuwsgi==2.0.23.post0]
1349+
python_versions = <3.13
12911350
validate_skip_imports = uwsgidecorators
12921351
[pyuwsgi==2.0.26]
1352+
python_versions = <3.13
12931353
validate_skip_imports = uwsgidecorators
12941354
[pyuwsgi==2.0.27a1]
1355+
python_versions = <3.13
12951356
validate_skip_imports = uwsgidecorators
12961357

12971358
[pyvat==1.3.15]
@@ -1312,6 +1373,7 @@ python_versions = <3.12
13121373
[pyyaml==6.0.1]
13131374
apt_requires = libyaml-dev
13141375
brew_requires = libyaml
1376+
python_versions = <3.13
13151377
[pyyaml==6.0.2]
13161378
apt_requires = libyaml-dev
13171379
brew_requires = libyaml
@@ -1383,8 +1445,11 @@ python_versions = <3.12
13831445
[rich==13.8.1]
13841446

13851447
[rpds-py==0.9.2]
1448+
python_versions = <3.13
13861449
[rpds-py==0.13.1]
1450+
python_versions = <3.13
13871451
[rpds-py==0.15.2]
1452+
python_versions = <3.13
13881453
[rpds-py==0.20.0]
13891454

13901455
[rq==1.0]
@@ -1991,6 +2056,7 @@ python_versions = >=3.10
19912056
validate_skip_imports = slack
19922057

19932058
[slipcover==1.0.3]
2059+
python_versions = <3.13
19942060

19952061
[smmap==3.0.2]
19962062
[smmap==4.0.0]
@@ -2145,9 +2211,14 @@ python_versions = <3.12
21452211
[tabulate==0.9.0]
21462212

21472213
[tiktoken==0.6.0]
2214+
python_versions = <3.13
2215+
[tiktoken==0.8.0]
21482216

21492217
[time-machine==2.12.0]
2218+
python_versions = <3.13
21502219
[time-machine==2.13.0]
2220+
python_versions = <3.13
2221+
[time-machine==2.16.0]
21512222

21522223
[tldextract==5.1.2]
21532224

@@ -2415,7 +2486,9 @@ python_versions = <3.12
24152486
[wheel==0.42.0]
24162487

24172488
[wrapt==1.14.1]
2489+
python_versions = <3.13
24182490
[wrapt==1.16.0]
2491+
python_versions = <3.13
24192492

24202493
[wsproto==1.1.0]
24212494
[wsproto==1.2.0]
@@ -2431,6 +2504,7 @@ brew_requires =
24312504
24322505
pkg-config
24332506
custom_prebuild = prebuild/libxmlsec1-macos
2507+
python_versions = <3.13
24342508

24352509
[yamlfix==1.3.0]
24362510

@@ -2441,6 +2515,7 @@ python_versions = <3.12
24412515
[yarl==1.9.2]
24422516
python_versions = <3.12
24432517
[yarl==1.9.4]
2518+
python_versions = <3.13
24442519
[yarl==1.15.4]
24452520

24462521
[zipp==3.5.0]

tests/validate_test.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,24 +43,24 @@ def test_pythons_to_check_no_pythons_raises_error():
4343

4444
def test_pythons_to_check_py2_ignored():
4545
ret = validate._pythons_to_check(parse_tag("py2.py3-none-any"))
46-
assert ret == ("python3.11", "python3.12")
46+
assert ret == ("python3.11", "python3.12", "python3.13")
4747

4848

4949
def test_pythons_to_check_py3_gives_all():
5050
ret = validate._pythons_to_check(parse_tag("py3-none-any"))
51-
assert ret == ("python3.11", "python3.12")
51+
assert ret == ("python3.11", "python3.12", "python3.13")
5252

5353

5454
def test_pythons_to_check_abi3():
5555
tag = "cp37-abi3-manylinux1_x86_64"
5656
ret = validate._pythons_to_check(parse_tag(tag))
57-
assert ret == ("python3.11", "python3.12")
57+
assert ret == ("python3.11", "python3.12", "python3.13")
5858

5959

6060
def test_pythons_to_check_minimum_abi3():
6161
tag = "cp312-abi3-manylinux1_x86_64"
6262
ret = validate._pythons_to_check(parse_tag(tag))
63-
assert ret == ("python3.12",)
63+
assert ret == ("python3.12", "python3.13")
6464

6565

6666
def test_pythons_to_check_specific_cpython_tag():

validate.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
from packaging.utils import parse_wheel_filename
1616
from packaging.version import Version
1717

18-
PYTHONS = ((3, 11), (3, 12))
18+
PYTHONS = ((3, 11), (3, 12), (3, 13))
1919
DIST_INFO_RE = re.compile(r"^[^/]+.dist-info/[^/]+$")
2020

2121

0 commit comments

Comments
 (0)