Skip to content

Commit b2e362c

Browse files
Merge pull request #1043 from getsentry/asottile-enable-py313
enable builds for python 3.13
2 parents d9180f0 + a56b695 commit b2e362c

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]
@@ -920,7 +959,9 @@ python_versions = <3.12
920959
[opentelemetry-proto==1.22.0]
921960

922961
[orjson==3.10.0]
962+
python_versions = <3.13
923963
[orjson==3.10.3]
964+
python_versions = <3.13
924965

925966
[outcome==1.2.0]
926967
[outcome==1.3.0.post0]
@@ -977,10 +1018,15 @@ python_versions = <3.12
9771018
[pillow==9.5.0]
9781019
python_versions = <3.12
9791020
[pillow==10.0.0]
1021+
python_versions = <3.13
9801022
[pillow==10.0.1]
1023+
python_versions = <3.13
9811024
[pillow==10.1.0]
1025+
python_versions = <3.13
9821026
[pillow==10.2.0]
1027+
python_versions = <3.13
9831028
[pillow==10.3.0]
1029+
python_versions = <3.13
9841030
[pillow==10.4.0]
9851031

9861032
[pip==22.1.2]
@@ -1087,6 +1133,12 @@ brew_requires =
10871133
python_versions = <3.12
10881134
[psycopg2-binary==2.9.9]
10891135
apt_requires = libpq-dev
1136+
brew_requires =
1137+
1138+
postgresql
1139+
python_versions = <3.13
1140+
[psycopg2-binary==2.9.10]
1141+
apt_requires = libpq-dev
10901142
brew_requires =
10911143
10921144
postgresql
@@ -1130,7 +1182,10 @@ brew_requires =
11301182
[pydantic==2.7.4]
11311183

11321184
[pydantic-core==2.14.5]
1185+
python_versions = <3.13
11331186
[pydantic-core==2.18.4]
1187+
python_versions = <3.13
1188+
[pydantic-core==2.24.2]
11341189

11351190
[pyelftools==0.28]
11361191
[pyelftools==0.29]
@@ -1165,7 +1220,9 @@ brew_requires = libmemcached
11651220
[pyproject-hooks==1.0.0]
11661221

11671222
[pyrsistent==0.18.1]
1223+
python_versions = <3.13
11681224
[pyrsistent==0.19.3]
1225+
python_versions = <3.13
11691226

11701227
[pysocks==1.7.1]
11711228

@@ -1287,12 +1344,16 @@ brew_requires = libmemcached
12871344
[pyupgrade==3.17.0]
12881345

12891346
[pyuwsgi==2.0.23]
1347+
python_versions = <3.13
12901348
validate_skip_imports = uwsgidecorators
12911349
[pyuwsgi==2.0.23.post0]
1350+
python_versions = <3.13
12921351
validate_skip_imports = uwsgidecorators
12931352
[pyuwsgi==2.0.26]
1353+
python_versions = <3.13
12941354
validate_skip_imports = uwsgidecorators
12951355
[pyuwsgi==2.0.27a1]
1356+
python_versions = <3.13
12961357
validate_skip_imports = uwsgidecorators
12971358

12981359
[pyvat==1.3.15]
@@ -1313,6 +1374,7 @@ python_versions = <3.12
13131374
[pyyaml==6.0.1]
13141375
apt_requires = libyaml-dev
13151376
brew_requires = libyaml
1377+
python_versions = <3.13
13161378
[pyyaml==6.0.2]
13171379
apt_requires = libyaml-dev
13181380
brew_requires = libyaml
@@ -1384,8 +1446,11 @@ python_versions = <3.12
13841446
[rich==13.8.1]
13851447

13861448
[rpds-py==0.9.2]
1449+
python_versions = <3.13
13871450
[rpds-py==0.13.1]
1451+
python_versions = <3.13
13881452
[rpds-py==0.15.2]
1453+
python_versions = <3.13
13891454
[rpds-py==0.20.0]
13901455

13911456
[rq==1.0]
@@ -1993,6 +2058,7 @@ python_versions = >=3.10
19932058
validate_skip_imports = slack
19942059

19952060
[slipcover==1.0.3]
2061+
python_versions = <3.13
19962062

19972063
[smmap==3.0.2]
19982064
[smmap==4.0.0]
@@ -2147,9 +2213,14 @@ python_versions = <3.12
21472213
[tabulate==0.9.0]
21482214

21492215
[tiktoken==0.6.0]
2216+
python_versions = <3.13
2217+
[tiktoken==0.8.0]
21502218

21512219
[time-machine==2.12.0]
2220+
python_versions = <3.13
21522221
[time-machine==2.13.0]
2222+
python_versions = <3.13
2223+
[time-machine==2.16.0]
21532224

21542225
[tldextract==5.1.2]
21552226

@@ -2417,7 +2488,9 @@ python_versions = <3.12
24172488
[wheel==0.42.0]
24182489

24192490
[wrapt==1.14.1]
2491+
python_versions = <3.13
24202492
[wrapt==1.16.0]
2493+
python_versions = <3.13
24212494

24222495
[wsproto==1.1.0]
24232496
[wsproto==1.2.0]
@@ -2433,6 +2506,7 @@ brew_requires =
24332506
24342507
pkg-config
24352508
custom_prebuild = prebuild/libxmlsec1-macos
2509+
python_versions = <3.13
24362510

24372511
[yamlfix==1.3.0]
24382512

@@ -2443,6 +2517,7 @@ python_versions = <3.12
24432517
[yarl==1.9.2]
24442518
python_versions = <3.12
24452519
[yarl==1.9.4]
2520+
python_versions = <3.13
24462521
[yarl==1.15.4]
24472522

24482523
[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)