Skip to content

Commit feb642b

Browse files
tests: Generate DB group by toxgen script (#3978)
- remove hardcoded entries for `sqlalchemy`, `pymongo`, `redis_py_cluster_legacy`, `clickhouse_driver` 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 c6b5994 commit feb642b

File tree

5 files changed

+53
-91
lines changed

5 files changed

+53
-91
lines changed

.github/workflows/test-integrations-dbs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ jobs:
124124
strategy:
125125
fail-fast: false
126126
matrix:
127-
python-version: ["3.6","3.7","3.8","3.9","3.10","3.11","3.12"]
127+
python-version: ["3.6","3.7","3.8","3.9","3.10","3.11","3.12","3.13"]
128128
# python3.6 reached EOL and is no longer being supported on
129129
# new versions of hosted runners on Github Actions
130130
# ubuntu-20.04 is the last version that supported python3.6

scripts/populate_tox/config.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@
1313
},
1414
"python": ">=3.8",
1515
},
16+
"clickhouse_driver": {
17+
"package": "clickhouse-driver",
18+
},
1619
"gql": {
1720
"package": "gql[all]",
1821
},
@@ -32,6 +35,18 @@
3235
"openfeature": {
3336
"package": "openfeature-sdk",
3437
},
38+
"pymongo": {
39+
"package": "pymongo",
40+
"deps": {
41+
"*": ["mockupdb"],
42+
},
43+
},
44+
"redis_py_cluster_legacy": {
45+
"package": "redis-py-cluster",
46+
},
47+
"sqlalchemy": {
48+
"package": "sqlalchemy",
49+
},
3550
"statsig": {
3651
"package": "statsig",
3752
"deps": {

scripts/populate_tox/populate_tox.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,6 @@
6161
"bottle",
6262
"celery",
6363
"chalice",
64-
"clickhouse_driver",
6564
"cohere",
6665
"cloud_resource_context",
6766
"cohere",
@@ -81,19 +80,16 @@
8180
"openai",
8281
"openai_notiktoken",
8382
"pure_eval",
84-
"pymongo",
8583
"pyramid",
8684
"quart",
8785
"ray",
8886
"redis",
89-
"redis_py_cluster_legacy",
9087
"requests",
9188
"rq",
9289
"sanic",
9390
"spark",
9491
"starlette",
9592
"starlite",
96-
"sqlalchemy",
9793
"tornado",
9894
}
9995

scripts/populate_tox/tox.jinja

Lines changed: 0 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -85,10 +85,6 @@ envlist =
8585
{py3.6,py3.9}-chalice-v{1.16}
8686
{py3.8,py3.12,py3.13}-chalice-latest
8787

88-
# Clickhouse Driver
89-
{py3.8,py3.11}-clickhouse_driver-v{0.2.0}
90-
{py3.8,py3.12,py3.13}-clickhouse_driver-latest
91-
9288
# Cloud Resource Context
9389
{py3.6,py3.12,py3.13}-cloud_resource_context
9490

@@ -185,13 +181,6 @@ envlist =
185181
# pure_eval
186182
{py3.6,py3.12,py3.13}-pure_eval
187183

188-
# PyMongo (Mongo DB)
189-
{py3.6}-pymongo-v{3.1}
190-
{py3.6,py3.9}-pymongo-v{3.12}
191-
{py3.6,py3.11}-pymongo-v{4.0}
192-
{py3.7,py3.11,py3.12}-pymongo-v{4.3,4.7}
193-
{py3.7,py3.12,py3.13}-pymongo-latest
194-
195184
# Pyramid
196185
{py3.6,py3.11}-pyramid-v{1.6}
197186
{py3.6,py3.11,py3.12}-pyramid-v{1.10}
@@ -213,10 +202,6 @@ envlist =
213202
{py3.7,py3.11,py3.12}-redis-v{5}
214203
{py3.7,py3.12,py3.13}-redis-latest
215204

216-
# Redis Cluster
217-
{py3.6,py3.8}-redis_py_cluster_legacy-v{1,2}
218-
# no -latest, not developed anymore
219-
220205
# Requests
221206
{py3.6,py3.8,py3.12,py3.13}-requests
222207

@@ -247,11 +232,6 @@ envlist =
247232
{py3.8,py3.11}-starlite-v{1.48,1.51}
248233
# 1.51.14 is the last starlite version; the project continues as litestar
249234

250-
# SQL Alchemy
251-
{py3.6,py3.9}-sqlalchemy-v{1.2,1.4}
252-
{py3.7,py3.11}-sqlalchemy-v{2.0}
253-
{py3.7,py3.12,py3.13}-sqlalchemy-latest
254-
255235
# Tornado
256236
{py3.8,py3.11,py3.12}-tornado-v{6.0}
257237
{py3.8,py3.11,py3.12}-tornado-v{6.2}
@@ -373,10 +353,6 @@ deps =
373353
chalice-v1.16: chalice~=1.16.0
374354
chalice-latest: chalice
375355
376-
# Clickhouse Driver
377-
clickhouse_driver-v0.2.0: clickhouse_driver~=0.2.0
378-
clickhouse_driver-latest: clickhouse_driver
379-
380356
# Cohere
381357
cohere-v5: cohere~=5.3.3
382358
cohere-latest: cohere
@@ -531,15 +507,6 @@ deps =
531507
# pure_eval
532508
pure_eval: pure_eval
533509
534-
# PyMongo (MongoDB)
535-
pymongo: mockupdb
536-
pymongo-v3.1: pymongo~=3.1.0
537-
pymongo-v3.13: pymongo~=3.13.0
538-
pymongo-v4.0: pymongo~=4.0.0
539-
pymongo-v4.3: pymongo~=4.3.0
540-
pymongo-v4.7: pymongo~=4.7.0
541-
pymongo-latest: pymongo
542-
543510
# Pyramid
544511
pyramid: Werkzeug<2.1.0
545512
pyramid-v1.6: pyramid~=1.6.0
@@ -574,10 +541,6 @@ deps =
574541
redis-v5: redis~=5.0
575542
redis-latest: redis
576543
577-
# Redis Cluster
578-
redis_py_cluster_legacy-v1: redis-py-cluster~=1.0
579-
redis_py_cluster_legacy-v2: redis-py-cluster~=2.0
580-
581544
# Requests
582545
requests: requests>=2.0
583546
@@ -646,12 +609,6 @@ deps =
646609
starlite-v{1.48}: starlite~=1.48.0
647610
starlite-v{1.51}: starlite~=1.51.0
648611
649-
# SQLAlchemy
650-
sqlalchemy-v1.2: sqlalchemy~=1.2.0
651-
sqlalchemy-v1.4: sqlalchemy~=1.4.0
652-
sqlalchemy-v2.0: sqlalchemy~=2.0.0
653-
sqlalchemy-latest: sqlalchemy
654-
655612
# Tornado
656613
# Tornado <6.4.1 is incompatible with Pytest ≥8.2
657614
# See https://github.com/tornadoweb/tornado/pull/3382.

tox.ini

Lines changed: 37 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -85,10 +85,6 @@ envlist =
8585
{py3.6,py3.9}-chalice-v{1.16}
8686
{py3.8,py3.12,py3.13}-chalice-latest
8787

88-
# Clickhouse Driver
89-
{py3.8,py3.11}-clickhouse_driver-v{0.2.0}
90-
{py3.8,py3.12,py3.13}-clickhouse_driver-latest
91-
9288
# Cloud Resource Context
9389
{py3.6,py3.12,py3.13}-cloud_resource_context
9490

@@ -185,13 +181,6 @@ envlist =
185181
# pure_eval
186182
{py3.6,py3.12,py3.13}-pure_eval
187183

188-
# PyMongo (Mongo DB)
189-
{py3.6}-pymongo-v{3.1}
190-
{py3.6,py3.9}-pymongo-v{3.12}
191-
{py3.6,py3.11}-pymongo-v{4.0}
192-
{py3.7,py3.11,py3.12}-pymongo-v{4.3,4.7}
193-
{py3.7,py3.12,py3.13}-pymongo-latest
194-
195184
# Pyramid
196185
{py3.6,py3.11}-pyramid-v{1.6}
197186
{py3.6,py3.11,py3.12}-pyramid-v{1.10}
@@ -213,10 +202,6 @@ envlist =
213202
{py3.7,py3.11,py3.12}-redis-v{5}
214203
{py3.7,py3.12,py3.13}-redis-latest
215204

216-
# Redis Cluster
217-
{py3.6,py3.8}-redis_py_cluster_legacy-v{1,2}
218-
# no -latest, not developed anymore
219-
220205
# Requests
221206
{py3.6,py3.8,py3.12,py3.13}-requests
222207

@@ -247,11 +232,6 @@ envlist =
247232
{py3.8,py3.11}-starlite-v{1.48,1.51}
248233
# 1.51.14 is the last starlite version; the project continues as litestar
249234

250-
# SQL Alchemy
251-
{py3.6,py3.9}-sqlalchemy-v{1.2,1.4}
252-
{py3.7,py3.11}-sqlalchemy-v{2.0}
253-
{py3.7,py3.12,py3.13}-sqlalchemy-latest
254-
255235
# Tornado
256236
{py3.8,py3.11,py3.12}-tornado-v{6.0}
257237
{py3.8,py3.11,py3.12}-tornado-v{6.2}
@@ -261,6 +241,24 @@ envlist =
261241
# These come from the populate_tox.py script. Eventually we should move all
262242
# integration tests there.
263243

244+
# ~~~ DBs ~~~
245+
{py3.7,py3.11,py3.12}-clickhouse_driver-v0.2.9
246+
247+
{py3.6}-pymongo-v3.5.1
248+
{py3.6,py3.10,py3.11}-pymongo-v3.13.0
249+
{py3.6,py3.9,py3.10}-pymongo-v4.0.2
250+
{py3.9,py3.12,py3.13}-pymongo-v4.11.1
251+
252+
{py3.6}-redis_py_cluster_legacy-v1.3.6
253+
{py3.6,py3.7}-redis_py_cluster_legacy-v2.0.0
254+
{py3.6,py3.7,py3.8}-redis_py_cluster_legacy-v2.1.3
255+
256+
{py3.6,py3.7}-sqlalchemy-v1.3.9
257+
{py3.6,py3.11,py3.12}-sqlalchemy-v1.4.54
258+
{py3.7,py3.10,py3.11}-sqlalchemy-v2.0.9
259+
{py3.7,py3.12,py3.13}-sqlalchemy-v2.0.38
260+
261+
264262
# ~~~ Flags ~~~
265263
{py3.8,py3.12,py3.13}-launchdarkly-v9.8.1
266264
{py3.8,py3.12,py3.13}-launchdarkly-v9.9.0
@@ -408,10 +406,6 @@ deps =
408406
chalice-v1.16: chalice~=1.16.0
409407
chalice-latest: chalice
410408

411-
# Clickhouse Driver
412-
clickhouse_driver-v0.2.0: clickhouse_driver~=0.2.0
413-
clickhouse_driver-latest: clickhouse_driver
414-
415409
# Cohere
416410
cohere-v5: cohere~=5.3.3
417411
cohere-latest: cohere
@@ -566,15 +560,6 @@ deps =
566560
# pure_eval
567561
pure_eval: pure_eval
568562

569-
# PyMongo (MongoDB)
570-
pymongo: mockupdb
571-
pymongo-v3.1: pymongo~=3.1.0
572-
pymongo-v3.13: pymongo~=3.13.0
573-
pymongo-v4.0: pymongo~=4.0.0
574-
pymongo-v4.3: pymongo~=4.3.0
575-
pymongo-v4.7: pymongo~=4.7.0
576-
pymongo-latest: pymongo
577-
578563
# Pyramid
579564
pyramid: Werkzeug<2.1.0
580565
pyramid-v1.6: pyramid~=1.6.0
@@ -609,10 +594,6 @@ deps =
609594
redis-v5: redis~=5.0
610595
redis-latest: redis
611596

612-
# Redis Cluster
613-
redis_py_cluster_legacy-v1: redis-py-cluster~=1.0
614-
redis_py_cluster_legacy-v2: redis-py-cluster~=2.0
615-
616597
# Requests
617598
requests: requests>=2.0
618599

@@ -681,12 +662,6 @@ deps =
681662
starlite-v{1.48}: starlite~=1.48.0
682663
starlite-v{1.51}: starlite~=1.51.0
683664

684-
# SQLAlchemy
685-
sqlalchemy-v1.2: sqlalchemy~=1.2.0
686-
sqlalchemy-v1.4: sqlalchemy~=1.4.0
687-
sqlalchemy-v2.0: sqlalchemy~=2.0.0
688-
sqlalchemy-latest: sqlalchemy
689-
690665
# Tornado
691666
# Tornado <6.4.1 is incompatible with Pytest ≥8.2
692667
# See https://github.com/tornadoweb/tornado/pull/3382.
@@ -699,6 +674,25 @@ deps =
699674
# These come from the populate_tox.py script. Eventually we should move all
700675
# integration tests there.
701676

677+
# ~~~ DBs ~~~
678+
clickhouse_driver-v0.2.9: clickhouse-driver==0.2.9
679+
680+
pymongo-v3.5.1: pymongo==3.5.1
681+
pymongo-v3.13.0: pymongo==3.13.0
682+
pymongo-v4.0.2: pymongo==4.0.2
683+
pymongo-v4.11.1: pymongo==4.11.1
684+
pymongo: mockupdb
685+
686+
redis_py_cluster_legacy-v1.3.6: redis-py-cluster==1.3.6
687+
redis_py_cluster_legacy-v2.0.0: redis-py-cluster==2.0.0
688+
redis_py_cluster_legacy-v2.1.3: redis-py-cluster==2.1.3
689+
690+
sqlalchemy-v1.3.9: sqlalchemy==1.3.9
691+
sqlalchemy-v1.4.54: sqlalchemy==1.4.54
692+
sqlalchemy-v2.0.9: sqlalchemy==2.0.9
693+
sqlalchemy-v2.0.38: sqlalchemy==2.0.38
694+
695+
702696
# ~~~ Flags ~~~
703697
launchdarkly-v9.8.1: launchdarkly-server-sdk==9.8.1
704698
launchdarkly-v9.9.0: launchdarkly-server-sdk==9.9.0

0 commit comments

Comments
 (0)