Skip to content

Commit 01cf95d

Browse files
mroeschkesimonjayhawkins
authored andcommitted
CI: Add missing dependencies for skipped tests (pandas-dev#46260)
1 parent 61e2ce2 commit 01cf95d

File tree

7 files changed

+30
-5
lines changed

7 files changed

+30
-5
lines changed

ci/deps/actions-310.yaml

+4
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ dependencies:
1111
- pytest-xdist>=1.31
1212
- hypothesis>=5.5.3
1313
- psutil
14+
- pytest-asyncio
15+
- boto3
1416

1517
# required dependencies
1618
- python-dateutil
@@ -21,6 +23,7 @@ dependencies:
2123
- beautifulsoup4
2224
- blosc
2325
- bottleneck
26+
- brotlipy
2427
- fastparquet
2528
- fsspec
2629
- html5lib
@@ -42,6 +45,7 @@ dependencies:
4245
- pyxlsb
4346
- s3fs
4447
- scipy
48+
- snappy
4549
- sqlalchemy
4650
- tabulate
4751
- xarray

ci/deps/actions-38-downstream_compat.yaml

+4-3
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ dependencies:
1212
- pytest-xdist>=1.31
1313
- hypothesis>=5.5.3
1414
- psutil
15+
- pytest-asyncio
16+
- boto3
1517

1618
# required dependencies
1719
- python-dateutil
@@ -21,6 +23,7 @@ dependencies:
2123
# optional dependencies
2224
- beautifulsoup4
2325
- blosc
26+
- brotlipy
2427
- bottleneck
2528
- fastparquet
2629
- fsspec
@@ -42,6 +45,7 @@ dependencies:
4245
- pyxlsb
4346
- s3fs
4447
- scipy
48+
- snappy
4549
- sqlalchemy
4650
- tabulate
4751
- xarray
@@ -52,17 +56,14 @@ dependencies:
5256

5357
# downstream packages
5458
- aiobotocore
55-
- boto3
5659
- botocore
5760
- cftime
5861
- dask
5962
- ipython
6063
- geopandas
61-
- python-snappy
6264
- seaborn
6365
- scikit-learn
6466
- statsmodels
65-
- brotlipy
6667
- coverage
6768
- pandas-datareader
6869
- pyyaml

ci/deps/actions-38-minimum_versions.yaml

+4
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ dependencies:
1313
- pytest-xdist>=1.31
1414
- hypothesis>=5.5.3
1515
- psutil
16+
- pytest-asyncio
17+
- boto3
1618

1719
# required dependencies
1820
- python-dateutil=2.8.1
@@ -23,6 +25,7 @@ dependencies:
2325
- beautifulsoup4=4.8.2
2426
- blosc=1.20.1
2527
- bottleneck=1.3.1
28+
- brotlipy=0.7.0
2629
- fastparquet=0.4.0
2730
- fsspec=0.7.4
2831
- html5lib=1.1
@@ -44,6 +47,7 @@ dependencies:
4447
- pyxlsb=1.0.6
4548
- s3fs=0.4.0
4649
- scipy=1.4.1
50+
- snappy=1.1.8
4751
- sqlalchemy=1.4.0
4852
- tabulate=0.8.7
4953
- xarray=0.15.1

ci/deps/actions-38.yaml

+4
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ dependencies:
1111
- pytest-xdist>=1.31
1212
- hypothesis>=5.5.3
1313
- psutil
14+
- pytest-asyncio
15+
- boto3
1416

1517
# required dependencies
1618
- python-dateutil
@@ -21,6 +23,7 @@ dependencies:
2123
- beautifulsoup4
2224
- blosc
2325
- bottleneck
26+
- brotlipy
2427
- fastparquet
2528
- fsspec
2629
- html5lib
@@ -41,6 +44,7 @@ dependencies:
4144
- pyxlsb
4245
- s3fs
4346
- scipy
47+
- snappy
4448
- sqlalchemy
4549
- tabulate
4650
- xarray

ci/deps/actions-39.yaml

+4
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ dependencies:
1111
- pytest-xdist>=1.31
1212
- hypothesis>=5.5.3
1313
- psutil
14+
- pytest-asyncio
15+
- boto3
1416

1517
# required dependencies
1618
- python-dateutil
@@ -21,6 +23,7 @@ dependencies:
2123
- beautifulsoup4
2224
- blosc
2325
- bottleneck
26+
- brotlipy
2427
- fastparquet
2528
- fsspec
2629
- html5lib
@@ -41,6 +44,7 @@ dependencies:
4144
- pyxlsb
4245
- s3fs
4346
- scipy
47+
- snappy
4448
- sqlalchemy
4549
- tabulate
4650
- xarray

doc/source/getting_started/install.rst

+3-1
Original file line numberDiff line numberDiff line change
@@ -410,5 +410,7 @@ Compression
410410
========================= ================== =============================================================
411411
Dependency Minimum Version Notes
412412
========================= ================== =============================================================
413-
Zstandard Zstandard compression
413+
brotli 0.7.0 Brotli compression
414+
snappy 1.1.8 Snappy compression
415+
Zstandard 0.15.2 Zstandard compression
414416
========================= ================== =============================================================

pandas/compat/_optional.py

+7-1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
"bs4": "4.8.2",
1414
"blosc": "1.20.1",
1515
"bottleneck": "1.3.1",
16+
"brotli": "0.7.0",
1617
"fastparquet": "0.4.0",
1718
"fsspec": "0.7.4",
1819
"html5lib": "1.1",
@@ -34,6 +35,7 @@
3435
"pyxlsb": "1.0.6",
3536
"s3fs": "0.4.0",
3637
"scipy": "1.4.1",
38+
"snappy": "1.1.8",
3739
"sqlalchemy": "1.4.0",
3840
"tables": "3.6.1",
3941
"tabulate": "0.8.7",
@@ -50,6 +52,7 @@
5052
INSTALL_MAPPING = {
5153
"bs4": "beautifulsoup4",
5254
"bottleneck": "Bottleneck",
55+
"brotli": "brotlipy",
5356
"lxml.etree": "lxml",
5457
"odf": "odfpy",
5558
"pandas_gbq": "pandas-gbq",
@@ -66,6 +69,9 @@ def get_version(module: types.ModuleType) -> str:
6669
version = getattr(module, "__VERSION__", None)
6770

6871
if version is None:
72+
if module.__name__ == "brotli":
73+
# brotli doesn't contain attributes to confirm it's version
74+
return ""
6975
raise ImportError(f"Can't determine version for {module.__name__}")
7076
if module.__name__ == "psycopg2":
7177
# psycopg2 appends " (dt dec pq3 ext lo64)" to it's version
@@ -141,7 +147,7 @@ def import_optional_dependency(
141147
minimum_version = min_version if min_version is not None else VERSIONS.get(parent)
142148
if minimum_version:
143149
version = get_version(module_to_get)
144-
if Version(version) < Version(minimum_version):
150+
if version and Version(version) < Version(minimum_version):
145151
msg = (
146152
f"Pandas requires version '{minimum_version}' or newer of '{parent}' "
147153
f"(version '{version}' currently installed)."

0 commit comments

Comments
 (0)