Skip to content

Commit a255173

Browse files
authored
CI: Ensure all minimum optional dependencies are tested (#45103)
1 parent ace46fd commit a255173

File tree

12 files changed

+90
-90
lines changed

12 files changed

+90
-90
lines changed

.github/workflows/posix.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ jobs:
2525
strategy:
2626
matrix:
2727
settings: [
28-
[actions-38-db-min.yaml, "((not slow and not network and not clipboard) or (single and db))", "", "", "", "", ""],
29-
[actions-38-db.yaml, "((not slow and not network and not clipboard) or (single and db))", "", "", "", "", ""],
28+
[actions-38-downstream_compat.yaml, "not slow and not network and not clipboard", "", "", "", "", ""],
29+
[actions-38-minimum_versions.yaml, "slow", "", "", "", "", ""],
3030
[actions-38-minimum_versions.yaml, "not slow and not network and not clipboard", "", "", "", "", ""],
3131
[actions-38-locale_slow.yaml, "slow", "language-pack-it xsel", "it_IT.utf8", "it_IT.utf8", "", ""],
3232
[actions-38.yaml, "not slow and not clipboard", "", "", "", "", ""],

ci/deps/actions-38-db-min.yaml

-45
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -1,54 +1,66 @@
1+
# Non-dependencies that pandas utilizes or has compatibility with pandas objects
12
name: pandas-dev
23
channels:
34
- conda-forge
45
dependencies:
56
- python=3.8
67
- pip
78

8-
# tools
9+
# test dependencies
910
- cython>=0.29.24
1011
- pytest>=6.0
1112
- pytest-xdist>=1.31
1213
- hypothesis>=5.5.3
1314
- pytest-cov>=2.10.1 # this is only needed in the coverage build, ref: GH 35737
15+
- nomkl
1416

15-
# pandas dependencies
16-
- aiobotocore<2.0.0 # GH#44311 pinned to fix docbuild
17+
# required dependencies
18+
- numpy
19+
- python-dateutil
20+
- pytz
21+
22+
# optional dependencies
1723
- beautifulsoup4
18-
- boto3
19-
- botocore>=1.11
20-
- dask
24+
- blosc
2125
- fastparquet>=0.4.0
2226
- fsspec>=0.7.4
23-
- gcsfs>=0.6.0
24-
- geopandas
27+
- gcsfs
2528
- html5lib
29+
- jinja2
30+
- lxml
2631
- matplotlib
27-
- nomkl
2832
- numexpr
29-
- numpy=1.18
3033
- odfpy
3134
- openpyxl
3235
- pandas-gbq
3336
- psycopg2
3437
- pyarrow>=1.0.1
3538
- pymysql
3639
- pytables
37-
- python-snappy
38-
- python-dateutil
39-
- pytz
40+
- pyxlsb
4041
- s3fs>=0.4.0
41-
- scikit-learn
4242
- scipy
4343
- sqlalchemy
44-
- statsmodels
4544
- xarray
4645
- xlrd
4746
- xlsxwriter
4847
- xlwt
48+
49+
# downstream packages
50+
- aiobotocore<2.0.0 # GH#44311 pinned to fix docbuild
51+
- boto3
52+
- botocore>=1.11
53+
- dask
54+
- ipython
55+
- geopandas
56+
- python-snappy
57+
- seaborn
58+
- scikit-learn
59+
- statsmodels
4960
- brotlipy
5061
- coverage
5162
- pandas-datareader
52-
- pyxlsb
63+
- pyyaml
64+
- py
5365
- pip:
5466
- torch

ci/deps/actions-38-locale.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ dependencies:
1919
- jinja2
2020
- jedi
2121
- lxml
22-
- matplotlib<3.3.0
22+
- matplotlib
2323
- nomkl
2424
- numexpr
2525
- numpy<1.20 # GH#39541 compat with pyarrow<3

ci/deps/actions-38-locale_slow.yaml

+10-10
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,18 @@ dependencies:
1313
- hypothesis>=5.5.3
1414

1515
# pandas dependencies
16-
- beautifulsoup4=4.8.2
17-
- bottleneck=1.3.1
16+
- beautifulsoup4
17+
- bottleneck
1818
- lxml
19-
- matplotlib=3.3.2
20-
- numpy=1.18
21-
- openpyxl=3.0.2
19+
- matplotlib
20+
- numpy
21+
- openpyxl
2222
- python-dateutil
2323
- python-blosc
2424
- pytz=2020.1
2525
- scipy
26-
- sqlalchemy=1.4.0
27-
- xlrd=2.0.1
28-
- xlsxwriter=1.2.2
29-
- xlwt=1.3.0
30-
- html5lib=1.1
26+
- sqlalchemy
27+
- xlrd
28+
- xlsxwriter
29+
- xlwt
30+
- html5lib
+28-7
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,52 @@
1+
# Minimum version of required + optional dependencies
2+
# Aligned with getting_started/install.rst and compat/_optional.py
13
name: pandas-dev
24
channels:
35
- conda-forge
46
dependencies:
57
- python=3.8.0
68

7-
# tools
9+
# test dependencies
810
- cython=0.29.24
911
- pytest>=6.0
1012
- pytest-cov
1113
- pytest-xdist>=1.31
1214
- hypothesis>=5.5.3
1315
- psutil
1416

15-
# pandas dependencies
17+
# required dependencies
18+
- python-dateutil=2.8.1
19+
- numpy=1.18.5
20+
- pytz=2020.1
21+
22+
# optional dependencies
1623
- beautifulsoup4=4.8.2
24+
- blosc=1.20.1
1725
- bottleneck=1.3.1
26+
- fastparquet=0.4.0
27+
- fsspec=0.7.4
28+
- html5lib=1.1
29+
- gcsfs=0.6.0
1830
- jinja2=2.11
31+
- lxml=4.5.0
32+
- matplotlib=3.3.2
1933
- numba=0.50.1
2034
- numexpr=2.7.1
21-
- numpy=1.18.5
22-
- openpyxl=3.0.2
35+
- openpyxl=3.0.3
36+
- odfpy=1.4.1
37+
- pandas-gbq=0.14.0
38+
- psycopg2=2.8.4
39+
- pymysql=0.10.1
2340
- pytables=3.6.1
24-
- python-dateutil=2.8.1
25-
- pytz=2020.1
2641
- pyarrow=1.0.1
42+
- pyreadstat
43+
- pyxlsb=1.0.6
44+
- s3fs=0.4.0
2745
- scipy=1.4.1
46+
- sqlalchemy=1.4.0
47+
- tabulate=0.8.7
48+
- xarray=0.15.1
2849
- xlrd=2.0.1
2950
- xlsxwriter=1.2.2
3051
- xlwt=1.3.0
31-
- html5lib=1.1
52+
- zstandard=0.15.2

ci/deps/actions-38.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,4 @@ dependencies:
1717
- python-dateutil
1818
- nomkl
1919
- pytz
20-
- tabulate==0.8.7
20+
- tabulate

doc/source/getting_started/install.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -291,7 +291,7 @@ Dependency Minimum Version Notes
291291
xlrd 2.0.1 Reading Excel
292292
xlwt 1.3.0 Writing Excel
293293
xlsxwriter 1.2.2 Writing Excel
294-
openpyxl 3.0.2 Reading / writing for xlsx files
294+
openpyxl 3.0.3 Reading / writing for xlsx files
295295
pyxlsb 1.0.6 Reading for xlsb files
296296
========================= ================== =============================================================
297297

doc/source/whatsnew/v1.4.0.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -430,7 +430,7 @@ Optional libraries below the lowest tested version may still work, but are not c
430430
+-----------------+-----------------+---------+
431431
| numba | 0.50.1 | X |
432432
+-----------------+-----------------+---------+
433-
| openpyxl | 3.0.2 | X |
433+
| openpyxl | 3.0.3 | X |
434434
+-----------------+-----------------+---------+
435435
| pyarrow | 1.0.1 | X |
436436
+-----------------+-----------------+---------+

pandas/compat/_optional.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
"matplotlib": "3.3.2",
2020
"numexpr": "2.7.1",
2121
"odfpy": "1.4.1",
22-
"openpyxl": "3.0.2",
22+
"openpyxl": "3.0.3",
2323
"pandas_gbq": "0.14.0",
2424
"pyarrow": "1.0.1",
2525
"pytest": "6.0",

pandas/tests/io/test_fsspec.py

+17-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
import numpy as np
44
import pytest
55

6+
from pandas.compat._optional import VERSIONS
7+
68
from pandas import (
79
DataFrame,
810
date_range,
@@ -289,7 +291,21 @@ def test_stata_options(fsspectest):
289291

290292

291293
@td.skip_if_no("tabulate")
292-
def test_markdown_options(fsspectest):
294+
def test_markdown_options(request, fsspectest):
295+
import fsspec
296+
297+
# error: Library stubs not installed for "tabulate"
298+
# (or incompatible with Python 3.8)
299+
import tabulate # type: ignore[import]
300+
301+
request.node.add_marker(
302+
pytest.mark.xfail(
303+
fsspec.__version__ == VERSIONS["fsspec"]
304+
and tabulate.__version__ == VERSIONS["tabulate"],
305+
reason="Fails on the min version build",
306+
raises=FileNotFoundError,
307+
)
308+
)
293309
df = DataFrame({"a": [0]})
294310
df.to_markdown("testmem://afile", storage_options={"test": "md_write"})
295311
assert fsspectest.test[0] == "md_write"

pandas/tests/series/methods/test_reindex.py

-4
Original file line numberDiff line numberDiff line change
@@ -171,10 +171,6 @@ def test_reindex_nearest():
171171
tm.assert_series_equal(expected, result)
172172

173173

174-
def test_reindex_backfill():
175-
pass
176-
177-
178174
def test_reindex_int(datetime_series):
179175
ts = datetime_series[::2]
180176
int_ts = Series(np.zeros(len(ts), dtype=int), index=ts.index)

0 commit comments

Comments
 (0)