Skip to content

Commit 85879b4

Browse files
tests: Generate some of the Web 1 tox entries with toxgen (#3980)
- remove hardcoded entries for `flask`, `starlette` from the tox template - remove them from the ignore list in `populate_tox.py` - run `populate_tox.py` to fill in entries for them - run `split_gh_tox_actions.py` to generate the CI yaml files so that they correspond to the new tox.ini The remaining integrations in this group are not trivial to port to the script, I'll do this step by step in follow-up PRs. --------- Co-authored-by: Daniel Szoke <[email protected]>
1 parent feb642b commit 85879b4

File tree

6 files changed

+66
-86
lines changed

6 files changed

+66
-86
lines changed

Diff for: .github/workflows/test-integrations-web-1.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ jobs:
115115
strategy:
116116
fail-fast: false
117117
matrix:
118-
python-version: ["3.6","3.7","3.8","3.9","3.10","3.11","3.12"]
118+
python-version: ["3.6","3.7","3.8","3.9","3.10","3.11","3.12","3.13"]
119119
# python3.6 reached EOL and is no longer being supported on
120120
# new versions of hosted runners on Github Actions
121121
# ubuntu-20.04 is the last version that supported python3.6

Diff for: scripts/populate_tox/config.py

+23
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,13 @@
1616
"clickhouse_driver": {
1717
"package": "clickhouse-driver",
1818
},
19+
"flask": {
20+
"package": "flask",
21+
"deps": {
22+
"*": ["flask-login", "werkzeug"],
23+
"<2.0": ["werkzeug<2.1.0", "markupsafe<2.1.0"],
24+
},
25+
},
1926
"gql": {
2027
"package": "gql[all]",
2128
},
@@ -47,6 +54,22 @@
4754
"sqlalchemy": {
4855
"package": "sqlalchemy",
4956
},
57+
"starlette": {
58+
"package": "starlette",
59+
"deps": {
60+
"*": [
61+
"pytest-asyncio",
62+
"python-multipart",
63+
"requests",
64+
"anyio<4.0.0",
65+
"jinja2",
66+
"httpx",
67+
],
68+
"<0.37": ["httpx<0.28.0"],
69+
"<0.15": ["jinja2<3.1"],
70+
"py3.6": ["aiocontextvars"],
71+
},
72+
},
5073
"statsig": {
5174
"package": "statsig",
5275
"deps": {

Diff for: scripts/populate_tox/populate_tox.py

-2
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,6 @@
6868
"dramatiq",
6969
"falcon",
7070
"fastapi",
71-
"flask",
7271
"gcp",
7372
"grpc",
7473
"httpx",
@@ -88,7 +87,6 @@
8887
"rq",
8988
"sanic",
9089
"spark",
91-
"starlette",
9290
"starlite",
9391
"tornado",
9492
}

Diff for: scripts/populate_tox/tox.jinja

-40
Original file line numberDiff line numberDiff line change
@@ -123,12 +123,6 @@ envlist =
123123
{py3.7,py3.10}-fastapi-v{0.79}
124124
{py3.8,py3.12,py3.13}-fastapi-latest
125125

126-
# Flask
127-
{py3.6,py3.8}-flask-v{1}
128-
{py3.8,py3.11,py3.12}-flask-v{2}
129-
{py3.10,py3.11,py3.12}-flask-v{3}
130-
{py3.10,py3.12,py3.13}-flask-latest
131-
132126
# GCP
133127
{py3.7}-gcp
134128

@@ -222,12 +216,6 @@ envlist =
222216
{py3.8,py3.10,py3.11}-spark-v{3.1,3.3,3.5}
223217
{py3.8,py3.10,py3.11,py3.12}-spark-latest
224218

225-
# Starlette
226-
{py3.7,py3.10}-starlette-v{0.19}
227-
{py3.7,py3.11}-starlette-v{0.24,0.28}
228-
{py3.8,py3.11,py3.12}-starlette-v{0.32,0.36,0.40}
229-
{py3.8,py3.12,py3.13}-starlette-latest
230-
231219
# Starlite
232220
{py3.8,py3.11}-starlite-v{1.48,1.51}
233221
# 1.51.14 is the last starlite version; the project continues as litestar
@@ -410,16 +398,6 @@ deps =
410398
fastapi-v{0.79}: fastapi~=0.79.0
411399
fastapi-latest: fastapi
412400
413-
# Flask
414-
flask: flask-login
415-
flask-v{1,2.0}: Werkzeug<2.1.0
416-
flask-v{1,2.0}: markupsafe<2.1.0
417-
flask-v{3}: Werkzeug
418-
flask-v1: Flask~=1.0
419-
flask-v2: Flask~=2.0
420-
flask-v3: Flask~=3.0
421-
flask-latest: Flask
422-
423401
# gRPC
424402
grpc: protobuf
425403
grpc: mypy-protobuf
@@ -581,24 +559,6 @@ deps =
581559
spark-v4.0: pyspark==4.0.0.dev2
582560
spark-latest: pyspark
583561
584-
# Starlette
585-
starlette: pytest-asyncio
586-
starlette: python-multipart
587-
starlette: requests
588-
# (this is a dependency of httpx)
589-
starlette: anyio<4.0.0
590-
starlette: jinja2
591-
starlette-v{0.19,0.24,0.28,0.32,0.36}: httpx<0.28.0
592-
starlette-v0.40: httpx
593-
starlette-latest: httpx
594-
starlette-v0.19: starlette~=0.19.0
595-
starlette-v0.24: starlette~=0.24.0
596-
starlette-v0.28: starlette~=0.28.0
597-
starlette-v0.32: starlette~=0.32.0
598-
starlette-v0.36: starlette~=0.36.0
599-
starlette-v0.40: starlette~=0.40.0
600-
starlette-latest: starlette
601-
602562
# Starlite
603563
starlite: pytest-asyncio
604564
starlite: python-multipart

Diff for: sentry_sdk/integrations/__init__.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ def iter_default_integrations(with_auto_enabling_integrations):
135135
"dramatiq": (1, 9),
136136
"falcon": (1, 4),
137137
"fastapi": (0, 79, 0),
138-
"flask": (0, 10),
138+
"flask": (1, 1, 4),
139139
"gql": (3, 4, 1),
140140
"graphene": (3, 3),
141141
"grpc": (1, 32, 0), # grpcio
@@ -151,6 +151,7 @@ def iter_default_integrations(with_auto_enabling_integrations):
151151
"rq": (0, 6),
152152
"sanic": (0, 8),
153153
"sqlalchemy": (1, 2),
154+
"starlette": (0, 16),
154155
"starlite": (1, 48),
155156
"statsig": (0, 55, 3),
156157
"strawberry": (0, 209, 5),

Diff for: tox.ini

+40-42
Original file line numberDiff line numberDiff line change
@@ -123,12 +123,6 @@ envlist =
123123
{py3.7,py3.10}-fastapi-v{0.79}
124124
{py3.8,py3.12,py3.13}-fastapi-latest
125125

126-
# Flask
127-
{py3.6,py3.8}-flask-v{1}
128-
{py3.8,py3.11,py3.12}-flask-v{2}
129-
{py3.10,py3.11,py3.12}-flask-v{3}
130-
{py3.10,py3.12,py3.13}-flask-latest
131-
132126
# GCP
133127
{py3.7}-gcp
134128

@@ -222,12 +216,6 @@ envlist =
222216
{py3.8,py3.10,py3.11}-spark-v{3.1,3.3,3.5}
223217
{py3.8,py3.10,py3.11,py3.12}-spark-latest
224218

225-
# Starlette
226-
{py3.7,py3.10}-starlette-v{0.19}
227-
{py3.7,py3.11}-starlette-v{0.24,0.28}
228-
{py3.8,py3.11,py3.12}-starlette-v{0.32,0.36,0.40}
229-
{py3.8,py3.12,py3.13}-starlette-latest
230-
231219
# Starlite
232220
{py3.8,py3.11}-starlite-v{1.48,1.51}
233221
# 1.51.14 is the last starlite version; the project continues as litestar
@@ -288,7 +276,19 @@ envlist =
288276
{py3.8,py3.10,py3.11}-strawberry-v0.209.8
289277
{py3.8,py3.11,py3.12}-strawberry-v0.226.2
290278
{py3.8,py3.11,py3.12}-strawberry-v0.243.1
291-
{py3.9,py3.12,py3.13}-strawberry-v0.260.1
279+
{py3.9,py3.12,py3.13}-strawberry-v0.260.2
280+
281+
282+
# ~~~ Web 1 ~~~
283+
{py3.6,py3.7,py3.8}-flask-v1.1.4
284+
{py3.8,py3.12,py3.13}-flask-v2.3.3
285+
{py3.8,py3.12,py3.13}-flask-v3.0.3
286+
{py3.9,py3.12,py3.13}-flask-v3.1.0
287+
288+
{py3.6,py3.9,py3.10}-starlette-v0.16.0
289+
{py3.7,py3.10,py3.11}-starlette-v0.26.1
290+
{py3.8,py3.11,py3.12}-starlette-v0.36.3
291+
{py3.9,py3.12,py3.13}-starlette-v0.45.3
292292

293293

294294
# ~~~ Misc ~~~
@@ -463,16 +463,6 @@ deps =
463463
fastapi-v{0.79}: fastapi~=0.79.0
464464
fastapi-latest: fastapi
465465

466-
# Flask
467-
flask: flask-login
468-
flask-v{1,2.0}: Werkzeug<2.1.0
469-
flask-v{1,2.0}: markupsafe<2.1.0
470-
flask-v{3}: Werkzeug
471-
flask-v1: Flask~=1.0
472-
flask-v2: Flask~=2.0
473-
flask-v3: Flask~=3.0
474-
flask-latest: Flask
475-
476466
# gRPC
477467
grpc: protobuf
478468
grpc: mypy-protobuf
@@ -634,24 +624,6 @@ deps =
634624
spark-v4.0: pyspark==4.0.0.dev2
635625
spark-latest: pyspark
636626

637-
# Starlette
638-
starlette: pytest-asyncio
639-
starlette: python-multipart
640-
starlette: requests
641-
# (this is a dependency of httpx)
642-
starlette: anyio<4.0.0
643-
starlette: jinja2
644-
starlette-v{0.19,0.24,0.28,0.32,0.36}: httpx<0.28.0
645-
starlette-v0.40: httpx
646-
starlette-latest: httpx
647-
starlette-v0.19: starlette~=0.19.0
648-
starlette-v0.24: starlette~=0.24.0
649-
starlette-v0.28: starlette~=0.28.0
650-
starlette-v0.32: starlette~=0.32.0
651-
starlette-v0.36: starlette~=0.36.0
652-
starlette-v0.40: starlette~=0.40.0
653-
starlette-latest: starlette
654-
655627
# Starlite
656628
starlite: pytest-asyncio
657629
starlite: python-multipart
@@ -731,10 +703,36 @@ deps =
731703
strawberry-v0.209.8: strawberry-graphql[fastapi,flask]==0.209.8
732704
strawberry-v0.226.2: strawberry-graphql[fastapi,flask]==0.226.2
733705
strawberry-v0.243.1: strawberry-graphql[fastapi,flask]==0.243.1
734-
strawberry-v0.260.1: strawberry-graphql[fastapi,flask]==0.260.1
706+
strawberry-v0.260.2: strawberry-graphql[fastapi,flask]==0.260.2
735707
strawberry: httpx
736708

737709

710+
# ~~~ Web 1 ~~~
711+
flask-v1.1.4: flask==1.1.4
712+
flask-v2.3.3: flask==2.3.3
713+
flask-v3.0.3: flask==3.0.3
714+
flask-v3.1.0: flask==3.1.0
715+
flask: flask-login
716+
flask: werkzeug
717+
flask-v1.1.4: werkzeug<2.1.0
718+
flask-v1.1.4: markupsafe<2.1.0
719+
720+
starlette-v0.16.0: starlette==0.16.0
721+
starlette-v0.26.1: starlette==0.26.1
722+
starlette-v0.36.3: starlette==0.36.3
723+
starlette-v0.45.3: starlette==0.45.3
724+
starlette: pytest-asyncio
725+
starlette: python-multipart
726+
starlette: requests
727+
starlette: anyio<4.0.0
728+
starlette: jinja2
729+
starlette: httpx
730+
starlette-v0.16.0: httpx<0.28.0
731+
starlette-v0.26.1: httpx<0.28.0
732+
starlette-v0.36.3: httpx<0.28.0
733+
py3.6-starlette: aiocontextvars
734+
735+
738736
# ~~~ Misc ~~~
739737
loguru-v0.7.3: loguru==0.7.3
740738

0 commit comments

Comments
 (0)