Skip to content

Commit 248a0ea

Browse files
authored
Merge branch 'master' into docs/oss-vs-cloud-comparison-update
2 parents 349cf2d + f2cf9e9 commit 248a0ea

7 files changed

Lines changed: 98 additions & 131 deletions

File tree

metadata-ingestion/constraints.txt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1371,7 +1371,7 @@ stopit==1.1.2
13711371
# via acryl-datahub
13721372
strictyaml==1.7.3
13731373
# via pyiceberg
1374-
tableauserverclient==0.25
1374+
tableauserverclient==0.40
13751375
# via acryl-datahub
13761376
tableschema==1.21.0
13771377
# via acryl-datahub
@@ -1538,6 +1538,7 @@ typing-extensions==4.15.0
15381538
# snowflake-connector-python
15391539
# sqlalchemy2-stubs
15401540
# starlette
1541+
# tableauserverclient
15411542
# textual
15421543
# typeguard
15431544
# typing-inspect
@@ -1579,7 +1580,7 @@ unstructured-client==0.42.10
15791580
# via unstructured
15801581
unstructured-ingest==0.7.2
15811582
# via acryl-datahub
1582-
urllib3==1.26.20
1583+
urllib3==2.7.0
15831584
# via
15841585
# acryl-datahub
15851586
# botocore

metadata-ingestion/pyproject.toml

Lines changed: 11 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ dependencies = [
6969
"toml>=0.10.0,<=0.10.2",
7070
"typing-inspect<0.10.0",
7171
"typing_extensions>=4.8.0,<5.0.0",
72+
"urllib3>=2.5.0,<3.0",
7273
]
7374

7475
[project.urls]
@@ -138,7 +139,6 @@ aws-secret-manager = [
138139
"boto3>=1.35.0,<2.0.0",
139140
"botocore!=1.23.0,<2.0.0",
140141
"cachetools<6.0.0",
141-
"urllib3>=1.26,<3.0",
142142
]
143143

144144
azure-ad = []
@@ -242,7 +242,6 @@ cockroachdb = [
242242
"sqlalchemy>=1.4.39,<2",
243243
"sqlglot[c]==30.12.0",
244244
"sqlparse<0.6.0",
245-
"urllib3>=1.26,<3.0",
246245
]
247246

248247
confluence = [
@@ -256,7 +255,6 @@ confluence = [
256255
"nltk<3.10.1",
257256
"unstructured-ingest[confluence]==0.7.2",
258257
"unstructured[md]==0.18.24",
259-
"urllib3>=1.26,<3.0",
260258
]
261259

262260
cube = [
@@ -302,7 +300,6 @@ datahub-documents = [
302300
"nltk<3.10.1",
303301
"unstructured-ingest==0.7.2",
304302
"unstructured[md]==0.18.24",
305-
"urllib3>=1.26,<3.0",
306303
]
307304

308305
datahub-gc = []
@@ -326,7 +323,6 @@ datahub-pg-queue = [
326323
"confluent_kafka[schemaregistry,avro]>=1.9.0,!= 2.8.1,<3.0.0",
327324
"fastavro>=1.2.0,<2.0.0",
328325
"psycopg2-binary<3.0.0",
329-
"urllib3>=1.26,<3.0",
330326
]
331327

332328
datahub-rest = [
@@ -359,7 +355,6 @@ dbt = [
359355
"more-itertools<11.0.0",
360356
"requests<3.0.0",
361357
"sqlglot[c]==30.12.0",
362-
"urllib3>=1.26,<3.0",
363358
]
364359

365360
dbt-cloud = [
@@ -390,7 +385,6 @@ delta-lake = [
390385
"smart-open[azure,s3]>=5.2.1,<8.0.0",
391386
"tableschema>=1.20.2,<2.0.0",
392387
"ujson>=5.12.1,<6.0.0",
393-
"urllib3>=1.26,<3.0",
394388
"wcmatch<11.0.0",
395389
]
396390

@@ -407,7 +401,6 @@ doris = [
407401
"sqlalchemy>=1.4.39,<2",
408402
"sqlglot[c]==30.12.0",
409403
"sqlparse<0.6.0",
410-
"urllib3>=1.26,<3.0",
411404
]
412405

413406
dremio = [
@@ -431,7 +424,6 @@ druid = [
431424
dynamodb = [
432425
"boto3>=1.35.0,<2.0.0",
433426
"botocore!=1.23.0,<2.0.0",
434-
"urllib3>=1.26,<3.0",
435427
]
436428

437429
elasticsearch = [
@@ -455,7 +447,6 @@ excel = [
455447
"smart-open[azure]>=5.2.1,<8.0.0",
456448
"tableschema>=1.20.2,<2.0.0",
457449
"ujson>=5.12.1,<6.0.0",
458-
"urllib3>=1.26,<3.0",
459450
"wcmatch<11.0.0",
460451
]
461452

@@ -525,7 +516,6 @@ gcs = [
525516
"smart-open[gcs,s3]>=5.2.1,<8.0.0",
526517
"tableschema>=1.20.2,<2.0.0",
527518
"ujson>=5.12.1,<6.0.0",
528-
"urllib3>=1.26,<3.0",
529519
"wcmatch<11.0.0",
530520
]
531521

@@ -540,7 +530,6 @@ gcs-slim = [
540530
"smart-open[gcs,s3]>=5.2.1,<8.0.0",
541531
"tableschema>=1.20.2,<2.0.0",
542532
"ujson>=5.12.1,<6.0.0",
543-
"urllib3>=1.26,<3.0",
544533
"wcmatch<11.0.0",
545534
]
546535

@@ -552,7 +541,6 @@ glue = [
552541
"cachetools<6.0.0",
553542
"sqlglot[c]==30.12.0",
554543
"sqlparse<0.6.0",
555-
"urllib3>=1.26,<3.0",
556544
]
557545

558546
grafana = [
@@ -609,7 +597,6 @@ iceberg = [
609597
iceberg-catalog = [
610598
"boto3>=1.35.0,<2.0.0",
611599
"botocore!=1.23.0,<2.0.0",
612-
"urllib3>=1.26,<3.0",
613600
]
614601

615602
informatica = [
@@ -646,7 +633,6 @@ kinesis = [
646633
"grpcio-tools>=1.44.0,<2.0.0",
647634
"grpcio>=1.44.0,<2.0.0",
648635
"networkx>=2.6.2,<4.0.0",
649-
"urllib3>=1.26,<3.0",
650636
]
651637

652638
ldap = [
@@ -680,7 +666,6 @@ mariadb = [
680666
"sqlalchemy>=1.4.39,<2",
681667
"sqlglot[c]==30.12.0",
682668
"sqlparse<0.6.0",
683-
"urllib3>=1.26,<3.0",
684669
]
685670

686671
matillion-dpc = [
@@ -746,7 +731,6 @@ mysql = [
746731
"sqlalchemy>=1.4.39,<2",
747732
"sqlglot[c]==30.12.0",
748733
"sqlparse<0.6.0",
749-
"urllib3>=1.26,<3.0",
750734
]
751735

752736
neo4j = [
@@ -768,14 +752,12 @@ notion = [
768752
"nltk<3.10.1",
769753
"unstructured-ingest[notion]==0.7.2",
770754
"unstructured[md]==0.18.24",
771-
"urllib3>=1.26,<3.0",
772755
]
773756

774757
odcs = [
775758
"boto3>=1.35.0,<2.0.0",
776759
"botocore!=1.23.0,<2.0.0",
777760
"GitPython>2,<4.0.0",
778-
"urllib3>=1.26,<3.0",
779761
]
780762

781763
okta = [
@@ -812,7 +794,6 @@ postgres = [
812794
"sqlalchemy>=1.4.39,<2",
813795
"sqlglot[c]==30.12.0",
814796
"sqlparse<0.6.0",
815-
"urllib3>=1.26,<3.0",
816797
]
817798

818799
powerbi = [
@@ -873,7 +854,6 @@ quicksight = [
873854
"boto3>=1.35.0,<2.0.0",
874855
"botocore!=1.23.0,<2.0.0",
875856
"sqlglot[c]==30.12.0",
876-
"urllib3>=1.26,<3.0",
877857
]
878858

879859
rdf = [
@@ -925,7 +905,6 @@ s3 = [
925905
"smart-open[s3]>=5.2.1,<8.0.0",
926906
"tableschema>=1.20.2,<2.0.0",
927907
"ujson>=5.12.1,<6.0.0",
928-
"urllib3>=1.26,<3.0",
929908
"wcmatch<11.0.0",
930909
]
931910

@@ -940,7 +919,6 @@ s3-slim = [
940919
"smart-open[s3]>=5.2.1,<8.0.0",
941920
"tableschema>=1.20.2,<2.0.0",
942921
"ujson>=5.12.1,<6.0.0",
943-
"urllib3>=1.26,<3.0",
944922
"wcmatch<11.0.0",
945923
]
946924

@@ -952,7 +930,6 @@ sac = [
952930
sagemaker = [
953931
"boto3>=1.35.0,<2.0.0",
954932
"botocore!=1.23.0,<2.0.0",
955-
"urllib3>=1.26,<3.0",
956933
]
957934

958935
salesforce = [
@@ -1045,7 +1022,6 @@ sql-queries = [
10451022
"smart-open[s3]>=5.2.1,<8.0.0",
10461023
"sqlglot[c]==30.12.0",
10471024
"sqlparse<0.6.0",
1048-
"urllib3>=1.26,<3.0",
10491025
]
10501026

10511027
sqlalchemy = [
@@ -1086,7 +1062,7 @@ sync-file-emitter = [
10861062

10871063
tableau = [
10881064
"sqlglot[c]==30.12.0",
1089-
"tableauserverclient>=0.24.0,<=0.40",
1065+
"tableauserverclient>=0.34,<=0.40",
10901066
]
10911067

10921068
teradata = [
@@ -1112,7 +1088,6 @@ tidb = [
11121088
"sqlalchemy>=1.4.39,<2",
11131089
"sqlglot[c]==30.12.0",
11141090
"sqlparse<0.6.0",
1115-
"urllib3>=1.26,<3.0",
11161091
]
11171092

11181093
timescaledb = [
@@ -1125,7 +1100,6 @@ timescaledb = [
11251100
"sqlalchemy>=1.4.39,<2",
11261101
"sqlglot[c]==30.12.0",
11271102
"sqlparse<0.6.0",
1128-
"urllib3>=1.26,<3.0",
11291103
]
11301104

11311105
trino = [
@@ -1157,7 +1131,6 @@ unstructured = [
11571131
"nltk<3.10.1",
11581132
"unstructured-ingest==0.7.2",
11591133
"unstructured[md]==0.18.24",
1160-
"urllib3>=1.26,<3.0",
11611134
]
11621135

11631136
vertexai = [
@@ -1286,7 +1259,7 @@ all = [
12861259
"sqlparse<0.6.0",
12871260
"starrocks>=1.3.3,<2.0",
12881261
"stopit==1.1.2",
1289-
"tableauserverclient>=0.24.0,<=0.40",
1262+
"tableauserverclient>=0.34,<=0.40",
12901263
"tableschema>=1.20.2,<2.0.0",
12911264
"tenacity>=8.0.1,!=8.4.0,<9.0.0",
12921265
"teradatasqlalchemy>=17.20.0.0,<=20.0.0.2",
@@ -1295,7 +1268,6 @@ all = [
12951268
"ujson>=5.12.1,<6.0.0",
12961269
"unstructured-ingest[confluence,notion]==0.7.2",
12971270
"unstructured[md]==0.18.24",
1298-
"urllib3>=1.26,<3.0",
12991271
"vertica-sqlalchemy-dialect[vertica-python]==0.0.8.2",
13001272
"wcmatch<11.0.0",
13011273
"websocket-client<2.0.0",
@@ -1457,7 +1429,7 @@ dev = [
14571429
"sqlglot[c]==30.12.0",
14581430
"sqlparse<0.6.0",
14591431
"stopit==1.1.2",
1460-
"tableauserverclient>=0.24.0,<=0.40",
1432+
"tableauserverclient>=0.34,<=0.40",
14611433
"tableschema>=1.20.2,<2.0.0",
14621434
"tabulate<0.11.0",
14631435
"tenacity>=8.0.1,!=8.4.0,<9.0.0",
@@ -1488,7 +1460,7 @@ dev = [
14881460
"ujson>=5.12.1,<6.0.0",
14891461
"unstructured-ingest[confluence,notion]==0.7.2",
14901462
"unstructured[md]==0.18.24",
1491-
"urllib3>=1.26,<3.0",
1463+
"urllib3>=2.5.0,<3.0",
14921464
"uvicorn<0.41.0",
14931465
"vertica-sqlalchemy-dialect[vertica-python]==0.0.8.2",
14941466
"wcmatch<11.0.0",
@@ -1649,7 +1621,7 @@ docs = [
16491621
"sqlglot[c]==30.12.0",
16501622
"sqlparse<0.6.0",
16511623
"stopit==1.1.2",
1652-
"tableauserverclient>=0.24.0,<=0.40",
1624+
"tableauserverclient>=0.34,<=0.40",
16531625
"tableschema>=1.20.2,<2.0.0",
16541626
"tabulate<0.11.0",
16551627
"tenacity>=8.0.1,!=8.4.0,<9.0.0",
@@ -1680,7 +1652,7 @@ docs = [
16801652
"ujson>=5.12.1,<6.0.0",
16811653
"unstructured-ingest[confluence,notion]==0.7.2",
16821654
"unstructured[md]==0.18.24",
1683-
"urllib3>=1.26,<3.0",
1655+
"urllib3>=2.5.0,<3.0",
16841656
"uvicorn<0.41.0",
16851657
"vertica-sqlalchemy-dialect[vertica-python]==0.0.8.2",
16861658
"wcmatch<11.0.0",
@@ -1764,7 +1736,6 @@ integration-tests = [
17641736
"tableschema>=1.20.2,<2.0.0",
17651737
"tenacity>=8.0.1,!=8.4.0,<9.0.0",
17661738
"ujson>=5.12.1,<6.0.0",
1767-
"urllib3>=1.26,<3.0",
17681739
"vcrpy>=8.0.0,<9.0",
17691740
"vertica-sqlalchemy-dialect[vertica-python]==0.0.8.2",
17701741
"wcmatch<11.0.0",
@@ -2003,6 +1974,10 @@ constraint-dependencies = [
20031974
# Not in setup.py: Airflow constraints pin PyJWT to older versions (e.g. 2.10.1, 2.12.1).
20041975
# Enforced for Docker via docker/snippets/ingestion/constraints.txt.
20051976
"PyJWT>=2.13.0,<3.0.0",
1977+
# urllib3: CVE-2025-66418, CVE-2025-66471, CVE-2026-21441 (fixed 2.6.3), CVE-2026-44431 (2.7.0).
1978+
# setup.py floors urllib3 at >=2.5.0 (Airflow ceiling); >=2.7.0 is enforced here at lock time
1979+
# only, since Airflow constraints pin urllib3 below 2.7.
1980+
"urllib3>=2.7.0,<3.0.0",
20061981
]
20071982

20081983
[tool.ruff]

metadata-ingestion/setup.py

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,11 @@
4343
# docker/snippets/ingestion/constraints.txt only — avoid a lower bound here so
4444
# installs alongside Airflow constraints remain satisfiable.
4545
"setuptools<82.0.0",
46+
# Floor at 2.5.0 — the highest the airflow-plugin CI
47+
# tolerates (Airflow 3.0.x/3.1.x pin urllib3==2.5.0, 3.2.x pins 2.6.3). The stronger
48+
# >=2.7.0 floor for the remaining CVEs is applied at lock time via pyproject
49+
# [tool.uv] constraint-dependencies, keeping this bound Airflow-satisfiable.
50+
"urllib3>=2.5.0,<3.0",
4651
}
4752

4853
gcp_sm_common = {
@@ -198,12 +203,6 @@
198203
# Deal with a version incompatibility between botocore (used by boto3) and urllib3.
199204
# See https://github.com/boto/botocore/pull/2563.
200205
"botocore!=1.23.0",
201-
# urllib3 2.x carries security fixes (CVE-2025-66418, CVE-2025-66471, CVE-2026-21441,
202-
# CVE-2026-44431), but a 2.x floor is NOT satisfiable for acryl-datahub[all]: the elasticsearch
203-
# source extra pins elasticsearch==7.13.4 (held for OpenSearch compat), which requires
204-
# urllib3<2. Keep the bound loose here; the 2.x floor is enforced for elasticsearch-free Docker
205-
# venvs via docker/snippets/ingestion/constraints.txt.
206-
"urllib3>=1.26,<3.0",
207206
"botocore!=1.23.0,<2.0.0",
208207
}
209208

@@ -770,7 +769,7 @@
770769
"slack": slack,
771770
"superset": superset_common,
772771
"preset": superset_common,
773-
"tableau": {"tableauserverclient>=0.24.0,<=0.40"} | sqlglot_lib,
772+
"tableau": {"tableauserverclient>=0.34,<=0.40"} | sqlglot_lib,
774773
"thoughtspot": {"thoughtspot_rest_api>=2.0.0,<3.0.0"} | sqlglot_lib,
775774
"teradata": sql_common
776775
| usage_common

0 commit comments

Comments
 (0)