Skip to content

Commit 123ddd7

Browse files
authored
FEAT-modin-project#6407: update minimum dependency versions (modin-project#6342)
Signed-off-by: Anatoly Myachev <anatoly.myachev@intel.com>
1 parent 679d303 commit 123ddd7

File tree

16 files changed

+134
-123
lines changed

16 files changed

+134
-123
lines changed

.github/workflows/ci-required.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ jobs:
4242
- uses: actions/checkout@v3
4343
- uses: ./.github/actions/python-only
4444
# The `numpydoc` version here MUST match the versions in the dev requirements files.
45-
- run: pip install pytest pytest-cov pydocstyle numpydoc==1.1.0 xgboost
45+
- run: pip install pytest pytest-cov pydocstyle numpydoc==1.1.0
4646
- run: python -m pytest scripts/test
4747
- run: pip install -e ".[all]"
4848
- run: |

.github/workflows/ci.yml

+20-8
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,12 @@ jobs:
142142
environment-file: environment-dev.yml
143143
- name: Install HDF5
144144
run: sudo apt update && sudo apt install -y libhdf5-dev
145-
- run: python -m pytest modin/experimental/xgboost/test/test_default.py --execution=${{ matrix.execution }}
145+
- name: xgboost tests
146+
run: |
147+
# TODO(https://github.com/modin-project/modin/issues/5194): Uncap xgboost
148+
# when we use collective instead of rabit.
149+
mamba install "xgboost>=1.7.1,<2.0.0" scikit-learn -c conda-forge
150+
python -m pytest modin/experimental/xgboost/test/test_default.py --execution=${{ matrix.execution }}
146151
- run: python -m pytest -n 2 modin/test/storage_formats/base/test_internals.py --execution=${{ matrix.execution }}
147152
- uses: ./.github/actions/run-core-tests
148153
with:
@@ -453,12 +458,16 @@ jobs:
453458
if: matrix.engine == 'python' || matrix.test_task == 'group_1'
454459
- run: python -m pytest modin/test/test_partition_api.py
455460
if: matrix.engine != 'python' && matrix.test_task == 'group_1'
456-
- run: python -m pytest -n 2 modin/experimental/xgboost/test/test_default.py
457-
if: matrix.engine == 'python' || matrix.test_task == 'group_1'
458-
- run: python -m pytest -n 2 modin/experimental/xgboost/test/test_xgboost.py
459-
if: matrix.os == 'ubuntu' && matrix.engine == 'ray' && matrix.test_task == 'group_1'
460-
- run: python -m pytest -n 2 modin/experimental/xgboost/test/test_dmatrix.py
461-
if: matrix.engine == 'ray' && matrix.test_task == 'group_1'
461+
- name: xgboost tests
462+
run: |
463+
# TODO(https://github.com/modin-project/modin/issues/5194): Uncap xgboost
464+
# when we use collective instead of rabit.
465+
mamba install "xgboost>=1.7.1,<2.0.0" scikit-learn -c conda-forge
466+
python -m pytest -n 2 \
467+
modin/experimental/xgboost/test/test_default.py \
468+
modin/experimental/xgboost/test/test_xgboost.py \
469+
modin/experimental/xgboost/test/test_dmatrix.py
470+
if: matrix.os != 'windows' && matrix.test_task == 'group_1'
462471
- run: python -m pytest -n 2 modin/experimental/batch/test/test_pipeline.py
463472
if: matrix.engine == 'python' || matrix.test_task == 'group_1'
464473
- uses: ./.github/actions/run-core-tests/group_1
@@ -568,11 +577,14 @@ jobs:
568577
- run: ${{ matrix.execution.shell-ex }} $PARALLEL modin/test/test_partition_api.py
569578
- name: xgboost tests
570579
run: |
580+
# TODO(https://github.com/modin-project/modin/issues/5194): Uncap xgboost
581+
# when we use collective instead of rabit.
582+
mamba install "xgboost>=1.7.1,<2.0.0" scikit-learn -c conda-forge
571583
${{ matrix.execution.shell-ex }} $PARALLEL \
572584
modin/experimental/xgboost/test/test_default.py \
573585
modin/experimental/xgboost/test/test_xgboost.py \
574586
modin/experimental/xgboost/test/test_dmatrix.py
575-
if: matrix.os != 'windows' && matrix.execution.name == 'ray' && needs.execution-filter.experimental == 'true'
587+
if: matrix.os != 'windows' && needs.execution-filter.experimental == 'true'
576588
- run: ${{ matrix.execution.shell-ex }} $PARALLEL modin/experimental/batch/test/test_pipeline.py
577589
if: matrix.os != 'windows' && matrix.execution.name != 'unidist' && needs.execution-filter.experimental == 'true'
578590
- name: "test DF: binary, default, iter"

docs/requirements-doc.txt

-1
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,3 @@ pydantic<2
2020
git+https://github.com/modin-project/modin-spreadsheet.git@49ffd89f683f54c311867d602c55443fb11bf2a5
2121
sphinxcontrib_plantuml
2222
sphinx-issues
23-
xgboost>=1.7.1,<2.0.0

docs/supported_apis/io_supported.rst

-3
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,6 @@ default to pandas.
5858
+--------------------+---------------------------------+----------------------------------------------------+
5959
| `read_feather`_ | Y | |
6060
+--------------------+---------------------------------+----------------------------------------------------+
61-
| `read_msgpack`_ | D | |
62-
+--------------------+---------------------------------+----------------------------------------------------+
6361
| `read_stata`_ | D | |
6462
+--------------------+---------------------------------+----------------------------------------------------+
6563
| `read_sas`_ | D | |
@@ -80,7 +78,6 @@ default to pandas.
8078
.. _`read_excel`: https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_excel.html#pandas.read_excel
8179
.. _`read_hdf`: https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_hdf.html#pandas.read_hdf
8280
.. _`read_feather`: https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_feather.html#pandas.read_feather
83-
.. _`read_msgpack`: https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_msgpack.html#pandas.read_msgpack
8481
.. _`read_stata`: https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_stata.html#pandas.read_stata
8582
.. _`read_sas`: https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_sas.html#pandas.read_sas
8683
.. _`read_pickle`: https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_pickle.html#pandas.read_pickle

environment-dev.yml

+18-24
Original file line numberDiff line numberDiff line change
@@ -6,51 +6,45 @@ dependencies:
66

77
# required dependencies
88
- pandas>=2,<2.1
9-
- numpy>=1.18.5
10-
- fsspec
11-
- packaging
12-
- psutil
9+
- numpy>=1.20.3
10+
- fsspec>=2021.07.0
11+
- packaging>=21.0
12+
- psutil>=5.8.0
1313

1414
# optional dependencies
1515
# ray==2.5.0 broken: https://github.com/conda-forge/ray-packages-feedstock/issues/100
1616
- ray-default>=1.13.0,!=2.5.0
1717
# https://github.com/modin-project/modin/issues/6336
1818
- pydantic<2
19-
- pyarrow
19+
- pyarrow>=7.0.0
2020
# workaround for https://github.com/conda/conda/issues/11744
2121
- grpcio!=1.45.*
2222
- grpcio!=1.46.*
2323
- dask>=2.22.0
2424
- distributed>=2.22.0
2525
# TODO: uncomment after Modin switch to python>=3.9
2626
# - xarray
27-
- Jinja2
28-
- scipy
27+
- Jinja2>=3.0.0
28+
- scipy>=1.7.1
2929
- s3fs>=2021.8
30-
- feather-format
31-
- lxml
32-
- openpyxl
33-
- xlrd
34-
- matplotlib
30+
- lxml>=4.6.3
31+
- openpyxl>=3.0.7
32+
- xlrd>=2.0.1
33+
- matplotlib>=3.6.1
3534
- sqlalchemy>=1.4.0,<1.4.46
36-
- pandas-gbq
37-
- pytables
38-
- msgpack-python
39-
- scikit-learn
40-
- pymssql
41-
- psycopg2
42-
- fastparquet<2023.1.0
43-
# TODO(https://github.com/modin-project/modin/issues/5194): Uncap xgboost
44-
# when we use collective instead of rabit.
45-
- xgboost>=1.7.1,<2.0.0
46-
- tqdm
35+
- pandas-gbq>=0.15.0
36+
- pytables>=3.6.1
37+
- pymssql>=2.1.5
38+
- psycopg2>=2.8.6
39+
- fastparquet>=0.6.3,<2023.1.0
40+
- tqdm>=4.60.0
4741

4842
# dependencies for making release
4943
- pygithub>=v1.58.0
5044
- pygit2>=1.9.2
5145

5246
# test dependencies
53-
- boto3
47+
- boto3>=1.26.0
5448
- coverage>=7.1.0
5549
- moto>=4.1.0
5650
- pytest>=7.2.1

examples/tutorial/jupyter/execution/pandas_on_dask/requirements.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
fsspec
1+
fsspec>=2021.07.0
22
jupyterlab
33
ipywidgets
44
modin[dask]

examples/tutorial/jupyter/execution/pandas_on_ray/requirements.txt

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
fsspec
1+
fsspec>=2021.07.0
22
jupyterlab
33
ipywidgets
4-
tqdm
4+
tqdm>=4.60.0
55
modin[ray]
66
# https://github.com/modin-project/modin/issues/6336
77
pydantic<2

examples/tutorial/jupyter/execution/pandas_on_unidist/requirements.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
fsspec
1+
fsspec>=2021.07.0
22
jupyterlab
33
ipywidgets
44
modin[unidist]

modin/experimental/xgboost/test/test_dmatrix.py

+12
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,17 @@
1919
import xgboost as xgb
2020

2121
import modin.pandas as pd
22+
from modin.config import Engine
2223
import modin.experimental.xgboost as mxgb
2324

2425

26+
if Engine.get() == "Python":
27+
pytest.skip(
28+
"Modin' xgboost extension doesn't work with python engine.",
29+
allow_module_level=True,
30+
)
31+
32+
2533
rng = np.random.RandomState(1994)
2634

2735

@@ -76,6 +84,10 @@ def test_dmatrix_feature_names_and_feature_types(data, feature_names, feature_ty
7684
check_dmatrix(data, feature_names=feature_names, feature_types=feature_types)
7785

7886

87+
@pytest.mark.skipif(
88+
Engine.get() != "Ray",
89+
reason="implemented only for Ray engine.",
90+
)
7991
def test_feature_names():
8092
dataset = load_breast_cancer()
8193
X = dataset.data

modin/experimental/xgboost/test/test_xgboost.py

+4
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import modin
1818
import modin.experimental.xgboost as xgb
1919
import modin.pandas as pd
20+
from modin.config import Engine
2021
import numpy as np
2122
import xgboost
2223

@@ -34,6 +35,9 @@
3435
import ray
3536

3637

38+
if Engine.get() != "Ray":
39+
pytest.skip("Implemented only for Ray engine.", allow_module_level=True)
40+
3741
ray.init(log_to_driver=False)
3842

3943
num_cpus = mp.cpu_count()

requirements-dev.txt

+18-24
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,35 @@
11
## required dependencies
22
pandas>=2,<2.1
3-
numpy>=1.18.5
4-
fsspec
5-
packaging
6-
psutil
3+
numpy>=1.20.3
4+
fsspec>=2021.07.0
5+
packaging>=21.0
6+
psutil>=5.8.0
77

88
## optional dependencies
99
# ray==2.5.0 broken: https://github.com/conda-forge/ray-packages-feedstock/issues/100
1010
ray[default]>=1.13.0,!=2.5.0
1111
# https://github.com/modin-project/modin/issues/6336
1212
pydantic<2
13-
pyarrow
13+
pyarrow>=7.0.0
1414
dask[complete]>=2.22.0
1515
distributed>=2.22.0
1616
xarray
17-
Jinja2
18-
scipy
17+
Jinja2>=3.0.0
18+
scipy>=1.7.1
1919
s3fs>=2021.8
20-
feather-format
21-
lxml
22-
openpyxl
23-
xlrd
24-
matplotlib
20+
lxml>=4.6.3
21+
openpyxl>=3.0.7
22+
xlrd>=2.0.1
23+
matplotlib>=3.6.1
2524
sqlalchemy>=1.4.0,<1.4.46
26-
pandas-gbq
27-
tables
28-
msgpack
29-
scikit-learn
30-
pymssql
31-
psycopg2
25+
pandas-gbq>=0.15.0
26+
tables>=3.6.1
27+
pymssql>=2.1.5
28+
psycopg2>=2.8.6
3229
connectorx>=0.2.6a4
33-
fastparquet<2023.1.0
30+
fastparquet>=0.6.3,<2023.1.0
3431
flask-cors
35-
# TODO(https://github.com/modin-project/modin/issues/5194): Uncap xgboost
36-
# when we use collective instead of rabit.
37-
xgboost>=1.7.1,<2.0.0
38-
tqdm
32+
tqdm>=4.60.0
3933
# Latest modin-spreadsheet with widget fix
4034
git+https://github.com/modin-project/modin-spreadsheet.git@49ffd89f683f54c311867d602c55443fb11bf2a5
4135

@@ -44,7 +38,7 @@ PyGithub>=1.58.0
4438
pygit2>=1.9.2
4539

4640
## test dependencies
47-
boto3
41+
boto3>=1.26.0
4842
coverage>=7.1.0
4943
# experimental version of fuzzydata requires at least 0.0.6 to successfully resolve all dependencies
5044
fuzzydata>=0.0.6

requirements/env_hdk.yml

+12-12
Original file line numberDiff line numberDiff line change
@@ -6,29 +6,29 @@ dependencies:
66

77
# required dependencies
88
- pandas>=2,<2.1
9-
- numpy>=1.18.5
9+
- numpy>=1.20.3
1010
- pyhdk==0.7
11-
- fsspec
12-
- packaging
13-
- psutil
11+
- fsspec>=2021.07.0
12+
- packaging>=21.0
13+
- psutil>=5.8.0
1414

1515
# optional dependencies
1616
- s3fs>=2021.8
17-
- openpyxl
18-
- xlrd
17+
- openpyxl>=3.0.10
18+
- xlrd>=2.0.1
1919
- sqlalchemy>=1.4.0,<1.4.46
20-
- scipy
21-
- matplotlib
20+
- scipy>=1.7.1
21+
- matplotlib>=3.6.1
2222
# TODO: uncomment after Modin switch to python>=3.9
2323
# - xarray
24-
- pytables
25-
- fastparquet
24+
- pytables>=3.6.1
25+
- fastparquet>=0.6.3,<2023.1.0
2626

2727
# dependencies for making release
28-
- pygithub
28+
- pygithub>=v1.58.0
2929

3030
# test dependencies
31-
- boto3
31+
- boto3>=1.26.0
3232
- coverage>=7.1.0
3333
- moto>=4.1.0
3434
- pytest>=7.2.1

requirements/env_unidist.yml

+18-21
Original file line numberDiff line numberDiff line change
@@ -6,40 +6,37 @@ dependencies:
66

77
# required dependencies
88
- pandas>=2,<2.1
9-
- numpy>=1.18.5
9+
- numpy>=1.20.3
1010
- unidist-mpi>=0.2.1
11-
- fsspec
12-
- packaging
13-
- psutil
11+
- fsspec>=2021.07.0
12+
- packaging>=21.0
13+
- psutil>=5.8.0
1414

1515
# optional dependencies
16-
- pyarrow
16+
- pyarrow>=7.0.0
1717
# TODO: uncomment after Modin switch to python>=3.9
1818
# - xarray
19-
- Jinja2
20-
- scipy
19+
- Jinja2>=3.0.0
20+
- scipy>=1.7.1
2121
- s3fs>=2021.8
22-
- feather-format
23-
- lxml
24-
- openpyxl
25-
- xlrd
26-
- matplotlib
22+
- lxml>=4.6.3
23+
- openpyxl>=3.0.7
24+
- xlrd>=2.0.1
25+
- matplotlib>=3.6.1
2726
- sqlalchemy>=1.4.0,<1.4.46
28-
- pandas-gbq
29-
- pytables
30-
- msgpack-python
31-
- scikit-learn
32-
- pymssql
33-
- psycopg2
34-
- fastparquet<2023.1.0
35-
- tqdm
27+
- pandas-gbq>=0.15.0
28+
- pytables>=3.6.1
29+
- pymssql>=2.1.5
30+
- psycopg2>=2.8.6
31+
- fastparquet>=0.6.3,<2023.1.0
32+
- tqdm>=4.60.0
3633

3734
# dependencies for making release
3835
- pygithub>=v1.58.0
3936
- pygit2>=1.9.2
4037

4138
# test dependencies
42-
- boto3
39+
- boto3>=1.26.0
4340
- coverage>=7.1.0
4441
- moto>=4.1.0
4542
- pytest>=7.2.1

0 commit comments

Comments
 (0)