From 542b336e2adbfd8167ba8eadf50b183dfbbe5548 Mon Sep 17 00:00:00 2001 From: Kostya Farber Date: Sun, 23 Oct 2022 13:10:42 +0100 Subject: [PATCH 01/13] Add dependency check for setup.cfg --- scripts/validate_min_versions_in_sync.py | 29 ++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/scripts/validate_min_versions_in_sync.py b/scripts/validate_min_versions_in_sync.py index cb6a204094bf5..8626f821462cf 100755 --- a/scripts/validate_min_versions_in_sync.py +++ b/scripts/validate_min_versions_in_sync.py @@ -13,6 +13,7 @@ """ from __future__ import annotations +import configparser import pathlib import sys @@ -21,6 +22,7 @@ pathlib.Path("ci/deps").absolute().glob("actions-*-minimum_versions.yaml") ) CODE_PATH = pathlib.Path("pandas/compat/_optional.py").resolve() +SETUP_PATH = pathlib.Path("setup.cfg").resolve() EXCLUDE_DEPS = {"tzdata"} # pandas package is not available # in pre-commit environment @@ -69,15 +71,38 @@ def get_versions_from_ci(content: list[str]) -> tuple[dict[str, str], dict[str, return required_deps, optional_deps +def get_versions_from_setup() -> dict[str, str]: + optional_dependencies = {} + + parser = configparser.ConfigParser() + parser.read(SETUP_PATH) + setup_optional = parser["options.extras_require"]["all"] + + dependencies = setup_optional[1:].split("\n") + + for dependency in dependencies: + package, version = dependency.strip().split(">=") + optional_dependencies[package] = version + + return optional_dependencies + + def main(): with open(CI_PATH, encoding="utf-8") as f: _, ci_optional = get_versions_from_ci(f.readlines()) code_optional = get_versions_from_code() - diff = set(ci_optional.items()).symmetric_difference(code_optional.items()) + setup_optional = get_versions_from_setup() + + diff = set( + (ci_optional.items() | code_optional.items() | setup_optional.items()) + - (ci_optional.items() & code_optional.items() & setup_optional.items()) + ) + if diff: sys.stdout.write( f"The follow minimum version differences were found between " - f"{CI_PATH} and {CODE_PATH}. Please ensure these are aligned: " + f"{CI_PATH}, {CODE_PATH} AND {SETUP_PATH}. " + f"Please ensure these are aligned: " f"{diff}\n" ) sys.exit(1) From 39e86cc318e3d844bbe76ca139ce1745901b9281 Mon Sep 17 00:00:00 2001 From: Kostya Farber Date: Thu, 27 Oct 2022 08:18:57 +0100 Subject: [PATCH 02/13] improve diff alert, add install mapping, remove test deps --- scripts/validate_min_versions_in_sync.py | 35 ++++++++++++++++++------ 1 file changed, 27 insertions(+), 8 deletions(-) diff --git a/scripts/validate_min_versions_in_sync.py b/scripts/validate_min_versions_in_sync.py index 8626f821462cf..1c59c8e2fbfa0 100755 --- a/scripts/validate_min_versions_in_sync.py +++ b/scripts/validate_min_versions_in_sync.py @@ -4,6 +4,7 @@ ci/deps/actions-.*-minimum_versions.yaml pandas/compat/_optional.py +setup.cfg TODO: doc/source/getting_started/install.rst @@ -72,17 +73,27 @@ def get_versions_from_ci(content: list[str]) -> tuple[dict[str, str], dict[str, def get_versions_from_setup() -> dict[str, str]: + install_map = _optional.INSTALL_MAPPING optional_dependencies = {} parser = configparser.ConfigParser() parser.read(SETUP_PATH) setup_optional = parser["options.extras_require"]["all"] - dependencies = setup_optional[1:].split("\n") + # remove test dependencies + test = parser["options.extras_require"]["test"] + test_dependencies = set(test[1:].split("\n")) + dependencies = [ + package for package in dependencies if package not in test_dependencies + ] + for dependency in dependencies: package, version = dependency.strip().split(">=") - optional_dependencies[package] = version + optional_dependencies[install_map.get(package, package).casefold()] = version + + for item in EXCLUDE_DEPS: + optional_dependencies.pop(item) return optional_dependencies @@ -93,18 +104,26 @@ def main(): code_optional = get_versions_from_code() setup_optional = get_versions_from_setup() - diff = set( - (ci_optional.items() | code_optional.items() | setup_optional.items()) - - (ci_optional.items() & code_optional.items() & setup_optional.items()) + diff = (ci_optional.items() | code_optional.items() | setup_optional.items()) - ( + ci_optional.items() & code_optional.items() & setup_optional.items() ) if diff: - sys.stdout.write( + packages = {package for package, _ in diff} + out = sys.stdout + out.write( f"The follow minimum version differences were found between " f"{CI_PATH}, {CODE_PATH} AND {SETUP_PATH}. " - f"Please ensure these are aligned: " - f"{diff}\n" + f"Please ensure these are aligned: \n\n" ) + + for package in packages: + out.write( + f"{package}\n" + f"{CI_PATH}: {ci_optional.get(package, 'Not specified')}\n" + f"{CODE_PATH}: {code_optional.get(package, 'Not specified')}\n" + f"{SETUP_PATH}: {setup_optional.get(package, 'Not specified')}\n\n" + ) sys.exit(1) sys.exit(0) From 97adc2ab470bea511148ba4af64096fb69e6e796 Mon Sep 17 00:00:00 2001 From: Kostya Farber Date: Mon, 31 Oct 2022 10:09:00 +0000 Subject: [PATCH 03/13] align versions across min version files --- ci/deps/actions-38-minimum_versions.yaml | 5 ++++- pandas/compat/_optional.py | 3 +++ scripts/validate_min_versions_in_sync.py | 4 ++-- setup.cfg | 20 ++++++++++---------- 4 files changed, 19 insertions(+), 13 deletions(-) diff --git a/ci/deps/actions-38-minimum_versions.yaml b/ci/deps/actions-38-minimum_versions.yaml index 5540ba01a8f36..06835095f35ea 100644 --- a/ci/deps/actions-38-minimum_versions.yaml +++ b/ci/deps/actions-38-minimum_versions.yaml @@ -13,7 +13,7 @@ dependencies: - pytest-xdist>=1.31 - psutil - pytest-asyncio>=0.17 - - boto3 + # required dependencies - python-dateutil=2.8.2 @@ -23,6 +23,7 @@ dependencies: # optional dependencies - beautifulsoup4=4.9.3 - blosc=1.21.0 + - boto3=1.22.7 - bottleneck=1.3.2 - brotlipy=0.7.0 - fastparquet=0.4.0 @@ -36,6 +37,7 @@ dependencies: - numba=0.53.1 - numexpr=2.7.3 - odfpy=1.4.1 + - qtpy=2.2.0 - openpyxl=3.0.7 - pandas-gbq=0.15.0 - psycopg2=2.8.6 @@ -54,3 +56,4 @@ dependencies: - xlrd=2.0.1 - xlsxwriter=1.4.3 - zstandard=0.15.2 + - PyQt5=5.15.1 diff --git a/pandas/compat/_optional.py b/pandas/compat/_optional.py index 856fb5e4cb66b..2ef2797d98d7a 100644 --- a/pandas/compat/_optional.py +++ b/pandas/compat/_optional.py @@ -15,6 +15,7 @@ "bs4": "4.9.3", "blosc": "1.21.0", "bottleneck": "1.3.2", + "boto3": "1.22.7", "brotli": "0.7.0", "fastparquet": "0.4.0", "fsspec": "2021.07.0", @@ -46,6 +47,8 @@ "xlsxwriter": "1.4.3", "zstandard": "0.15.2", "tzdata": "2022.1", + "qtpy": "2.2.0", + "PyQt5": "5.15.1", } # A mapping from import name to package name (on PyPI) for packages where diff --git a/scripts/validate_min_versions_in_sync.py b/scripts/validate_min_versions_in_sync.py index 1c59c8e2fbfa0..bf5f3a1114263 100755 --- a/scripts/validate_min_versions_in_sync.py +++ b/scripts/validate_min_versions_in_sync.py @@ -66,9 +66,9 @@ def get_versions_from_ci(content: list[str]) -> tuple[dict[str, str], dict[str, if package in EXCLUDE_DEPS: continue if not seen_optional: - required_deps[package] = version + required_deps[package.casefold()] = version else: - optional_deps[package] = version + optional_deps[package.casefold()] = version return required_deps, optional_deps diff --git a/setup.cfg b/setup.cfg index d80d09725d18b..134f7b408d018 100644 --- a/setup.cfg +++ b/setup.cfg @@ -58,7 +58,7 @@ test = # see: doc/source/getting_started/install.rst performance = bottleneck>=1.3.2 - numba>=0.53.0 + numba>=0.53.1 numexpr>=2.7.1 timezone = tzdata>=2022.1 @@ -66,12 +66,12 @@ computation = scipy>=1.7.1 xarray>=0.19.0 fss = - fsspec>=2021.7.0 + fsspec>=2021.07.0 aws = boto3>=1.22.7 s3fs>=0.4.0 gcp = - gcsfs>=2021.05.0 + gcsfs>=2021.07.0 pandas-gbq>=0.15.0 excel = odfpy>=1.4.1 @@ -121,19 +121,19 @@ compression = all = beautifulsoup4>=4.9.3 blosc>=1.21.0 - bottleneck>=1.3.1 + bottleneck>=1.3.2 boto3>=1.22.7 brotlipy>=0.7.0 fastparquet>=0.4.0 - fsspec>=2021.7.0 - gcsfs>=2021.05.0 + fsspec>=2021.07.0 + gcsfs>=2021.07.0 html5lib>=1.1 - hypothesis>=5.5.3 + hypothesis>=6.13.0 jinja2>=3.0.0 lxml>=4.6.3 matplotlib>=3.3.2 - numba>=0.53.0 - numexpr>=2.7.1 + numba>=0.53.1 + numexpr>=2.7.3 odfpy>=1.4.1 openpyxl>=3.0.7 pandas-gbq>=0.15.0 @@ -149,7 +149,7 @@ all = pyxlsb>=1.0.8 qtpy>=2.2.0 scipy>=1.7.1 - s3fs>=0.4.0 + s3fs>=2021.08.0 SQLAlchemy>=1.4.16 tables>=3.6.1 tabulate>=0.8.9 From 4036bfe4d44c1a2b6ba5692aca01085d3e57b661 Mon Sep 17 00:00:00 2001 From: Kostya Farber Date: Mon, 31 Oct 2022 19:14:25 +0000 Subject: [PATCH 04/13] fix version issues for boto3, s3fs and pyqt5. Small change to script --- ci/deps/actions-38-minimum_versions.yaml | 9 +++++---- pandas/compat/_optional.py | 3 +-- scripts/validate_min_versions_in_sync.py | 2 ++ setup.cfg | 4 +--- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/ci/deps/actions-38-minimum_versions.yaml b/ci/deps/actions-38-minimum_versions.yaml index 06835095f35ea..27bb20248e058 100644 --- a/ci/deps/actions-38-minimum_versions.yaml +++ b/ci/deps/actions-38-minimum_versions.yaml @@ -13,7 +13,7 @@ dependencies: - pytest-xdist>=1.31 - psutil - pytest-asyncio>=0.17 - + - boto3 # required dependencies - python-dateutil=2.8.2 @@ -23,7 +23,6 @@ dependencies: # optional dependencies - beautifulsoup4=4.9.3 - blosc=1.21.0 - - boto3=1.22.7 - bottleneck=1.3.2 - brotlipy=0.7.0 - fastparquet=0.4.0 @@ -47,7 +46,7 @@ dependencies: - pytables=3.6.1 - python-snappy=0.6.0 - pyxlsb=1.0.8 - - s3fs=2021.08.0 + - s3fs=0.4.0 - scipy=1.7.1 - sqlalchemy=1.4.16 - tabulate=0.8.9 @@ -56,4 +55,6 @@ dependencies: - xlrd=2.0.1 - xlsxwriter=1.4.3 - zstandard=0.15.2 - - PyQt5=5.15.1 + + - pip: + - PyQt5=5.15.1 diff --git a/pandas/compat/_optional.py b/pandas/compat/_optional.py index 2ef2797d98d7a..4932fb41b2414 100644 --- a/pandas/compat/_optional.py +++ b/pandas/compat/_optional.py @@ -15,7 +15,6 @@ "bs4": "4.9.3", "blosc": "1.21.0", "bottleneck": "1.3.2", - "boto3": "1.22.7", "brotli": "0.7.0", "fastparquet": "0.4.0", "fsspec": "2021.07.0", @@ -36,7 +35,7 @@ "pyreadstat": "1.1.2", "pytest": "6.0", "pyxlsb": "1.0.8", - "s3fs": "2021.08.0", + "s3fs": "0.4.0", "scipy": "1.7.1", "snappy": "0.6.0", "sqlalchemy": "1.4.16", diff --git a/scripts/validate_min_versions_in_sync.py b/scripts/validate_min_versions_in_sync.py index bf5f3a1114263..55308dbc89c4e 100755 --- a/scripts/validate_min_versions_in_sync.py +++ b/scripts/validate_min_versions_in_sync.py @@ -60,6 +60,8 @@ def get_versions_from_ci(content: list[str]) -> tuple[dict[str, str], dict[str, seen_required = True elif "# optional dependencies" in line: seen_optional = True + elif "pip" in line: + continue elif seen_required and line.strip(): package, version = line.strip().split("=") package = package[2:] diff --git a/setup.cfg b/setup.cfg index 134f7b408d018..e60f6d2eca1a6 100644 --- a/setup.cfg +++ b/setup.cfg @@ -68,7 +68,6 @@ computation = fss = fsspec>=2021.07.0 aws = - boto3>=1.22.7 s3fs>=0.4.0 gcp = gcsfs>=2021.07.0 @@ -122,7 +121,6 @@ all = beautifulsoup4>=4.9.3 blosc>=1.21.0 bottleneck>=1.3.2 - boto3>=1.22.7 brotlipy>=0.7.0 fastparquet>=0.4.0 fsspec>=2021.07.0 @@ -149,7 +147,7 @@ all = pyxlsb>=1.0.8 qtpy>=2.2.0 scipy>=1.7.1 - s3fs>=2021.08.0 + s3fs>=0.4.0 SQLAlchemy>=1.4.16 tables>=3.6.1 tabulate>=0.8.9 From d079b4f211639710b8bc40ecb720e1e0a4704f1c Mon Sep 17 00:00:00 2001 From: Kostya Farber Date: Tue, 1 Nov 2022 08:46:07 +0000 Subject: [PATCH 05/13] fix version equality, modify script for CI check --- ci/deps/actions-38-minimum_versions.yaml | 2 +- scripts/validate_min_versions_in_sync.py | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/ci/deps/actions-38-minimum_versions.yaml b/ci/deps/actions-38-minimum_versions.yaml index 27bb20248e058..12e3c1247c124 100644 --- a/ci/deps/actions-38-minimum_versions.yaml +++ b/ci/deps/actions-38-minimum_versions.yaml @@ -57,4 +57,4 @@ dependencies: - zstandard=0.15.2 - pip: - - PyQt5=5.15.1 + - PyQt5>=5.15.1 diff --git a/scripts/validate_min_versions_in_sync.py b/scripts/validate_min_versions_in_sync.py index 55308dbc89c4e..3fb536808507e 100755 --- a/scripts/validate_min_versions_in_sync.py +++ b/scripts/validate_min_versions_in_sync.py @@ -63,7 +63,11 @@ def get_versions_from_ci(content: list[str]) -> tuple[dict[str, str], dict[str, elif "pip" in line: continue elif seen_required and line.strip(): - package, version = line.strip().split("=") + if ">" in line: + package, version = line.strip().split(">=") + + else: + package, version = line.strip().split("=") package = package[2:] if package in EXCLUDE_DEPS: continue From a256dcc9a36b9a25765c428c404f65217367280c Mon Sep 17 00:00:00 2001 From: Kostya Farber Date: Wed, 2 Nov 2022 10:27:14 +0000 Subject: [PATCH 06/13] fix version typo in min version yaml and update min version script --- ci/deps/actions-38-minimum_versions.yaml | 2 +- scripts/validate_min_versions_in_sync.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ci/deps/actions-38-minimum_versions.yaml b/ci/deps/actions-38-minimum_versions.yaml index 621b2fd2aee2d..70debdc55e8ea 100644 --- a/ci/deps/actions-38-minimum_versions.yaml +++ b/ci/deps/actions-38-minimum_versions.yaml @@ -57,4 +57,4 @@ dependencies: - zstandard=0.15.2 - pip: - - PyQt5>=5.15.1 + - PyQt5==5.15.1 diff --git a/scripts/validate_min_versions_in_sync.py b/scripts/validate_min_versions_in_sync.py index 3fb536808507e..2f03d5395388d 100755 --- a/scripts/validate_min_versions_in_sync.py +++ b/scripts/validate_min_versions_in_sync.py @@ -63,8 +63,8 @@ def get_versions_from_ci(content: list[str]) -> tuple[dict[str, str], dict[str, elif "pip" in line: continue elif seen_required and line.strip(): - if ">" in line: - package, version = line.strip().split(">=") + if "==" in line: + package, version = line.strip().split("==") else: package, version = line.strip().split("=") From 52efecb8c7c65e25640faeb8de5ea4bc7bdf40e5 Mon Sep 17 00:00:00 2001 From: Kostya Farber Date: Wed, 2 Nov 2022 12:16:14 +0000 Subject: [PATCH 07/13] bump fsspec, gcsfs to match in whats new --- ci/deps/actions-38-minimum_versions.yaml | 4 ++-- pandas/compat/_optional.py | 4 ++-- setup.cfg | 10 +++++----- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/ci/deps/actions-38-minimum_versions.yaml b/ci/deps/actions-38-minimum_versions.yaml index 70debdc55e8ea..e1fab45930739 100644 --- a/ci/deps/actions-38-minimum_versions.yaml +++ b/ci/deps/actions-38-minimum_versions.yaml @@ -26,10 +26,10 @@ dependencies: - bottleneck=1.3.2 - brotlipy=0.7.0 - fastparquet=0.6.3 - - fsspec=2021.07.0 + - fsspec=2021.08.0 - html5lib=1.1 - hypothesis=6.13.0 - - gcsfs=2021.07.0 + - gcsfs=2021.08.0 - jinja2=3.0.0 - lxml=4.6.3 - matplotlib=3.3.2 diff --git a/pandas/compat/_optional.py b/pandas/compat/_optional.py index 998ef1801c681..050e6a13ceb1e 100644 --- a/pandas/compat/_optional.py +++ b/pandas/compat/_optional.py @@ -17,10 +17,10 @@ "bottleneck": "1.3.2", "brotli": "0.7.0", "fastparquet": "0.6.3", - "fsspec": "2021.07.0", + "fsspec": "2021.08.0", "html5lib": "1.1", "hypothesis": "6.13.0", - "gcsfs": "2021.07.0", + "gcsfs": "2021.08.0", "jinja2": "3.0.0", "lxml.etree": "4.6.3", "matplotlib": "3.3.2", diff --git a/setup.cfg b/setup.cfg index 9c27ecf673164..ba74adc3febfe 100644 --- a/setup.cfg +++ b/setup.cfg @@ -68,11 +68,11 @@ computation = scipy>=1.7.1 xarray>=0.19.0 fss = - fsspec>=2021.07.0 + fsspec>=2021.08.0 aws = s3fs>=0.4.0 gcp = - gcsfs>=2021.07.0 + gcsfs>=2021.08.0 pandas-gbq>=0.15.0 excel = odfpy>=1.4.1 @@ -124,9 +124,9 @@ all = blosc>=1.21.0 bottleneck>=1.3.2 brotlipy>=0.7.0 - fastparquet>=0.4.0 - fsspec>=2021.07.0 - gcsfs>=2021.07.0 + fastparquet>=0.6.3 + fsspec>=2021.08.0 + gcsfs>=2021.08.0 html5lib>=1.1 hypothesis>=6.13.0 jinja2>=3.0.0 From af47477a6ff52fd5cc31be2ceaadac713570e628 Mon Sep 17 00:00:00 2001 From: Kostya Farber Date: Wed, 2 Nov 2022 12:53:10 +0000 Subject: [PATCH 08/13] Revert "bump fsspec, gcsfs to match in whats new" This reverts commit 52efecb8c7c65e25640faeb8de5ea4bc7bdf40e5. --- ci/deps/actions-38-minimum_versions.yaml | 4 ++-- pandas/compat/_optional.py | 4 ++-- setup.cfg | 10 +++++----- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/ci/deps/actions-38-minimum_versions.yaml b/ci/deps/actions-38-minimum_versions.yaml index e1fab45930739..70debdc55e8ea 100644 --- a/ci/deps/actions-38-minimum_versions.yaml +++ b/ci/deps/actions-38-minimum_versions.yaml @@ -26,10 +26,10 @@ dependencies: - bottleneck=1.3.2 - brotlipy=0.7.0 - fastparquet=0.6.3 - - fsspec=2021.08.0 + - fsspec=2021.07.0 - html5lib=1.1 - hypothesis=6.13.0 - - gcsfs=2021.08.0 + - gcsfs=2021.07.0 - jinja2=3.0.0 - lxml=4.6.3 - matplotlib=3.3.2 diff --git a/pandas/compat/_optional.py b/pandas/compat/_optional.py index 050e6a13ceb1e..998ef1801c681 100644 --- a/pandas/compat/_optional.py +++ b/pandas/compat/_optional.py @@ -17,10 +17,10 @@ "bottleneck": "1.3.2", "brotli": "0.7.0", "fastparquet": "0.6.3", - "fsspec": "2021.08.0", + "fsspec": "2021.07.0", "html5lib": "1.1", "hypothesis": "6.13.0", - "gcsfs": "2021.08.0", + "gcsfs": "2021.07.0", "jinja2": "3.0.0", "lxml.etree": "4.6.3", "matplotlib": "3.3.2", diff --git a/setup.cfg b/setup.cfg index ba74adc3febfe..9c27ecf673164 100644 --- a/setup.cfg +++ b/setup.cfg @@ -68,11 +68,11 @@ computation = scipy>=1.7.1 xarray>=0.19.0 fss = - fsspec>=2021.08.0 + fsspec>=2021.07.0 aws = s3fs>=0.4.0 gcp = - gcsfs>=2021.08.0 + gcsfs>=2021.07.0 pandas-gbq>=0.15.0 excel = odfpy>=1.4.1 @@ -124,9 +124,9 @@ all = blosc>=1.21.0 bottleneck>=1.3.2 brotlipy>=0.7.0 - fastparquet>=0.6.3 - fsspec>=2021.08.0 - gcsfs>=2021.08.0 + fastparquet>=0.4.0 + fsspec>=2021.07.0 + gcsfs>=2021.07.0 html5lib>=1.1 hypothesis>=6.13.0 jinja2>=3.0.0 From 6f6b97d58a2e57954ff5aceb277b0ccb3880bd74 Mon Sep 17 00:00:00 2001 From: Kostya Farber Date: Wed, 2 Nov 2022 15:08:49 +0000 Subject: [PATCH 09/13] align fastparquet, lowercase PyQt5 --- ci/deps/actions-38-minimum_versions.yaml | 2 +- pandas/compat/_optional.py | 2 +- setup.cfg | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ci/deps/actions-38-minimum_versions.yaml b/ci/deps/actions-38-minimum_versions.yaml index 70debdc55e8ea..9f142e4a8c66c 100644 --- a/ci/deps/actions-38-minimum_versions.yaml +++ b/ci/deps/actions-38-minimum_versions.yaml @@ -57,4 +57,4 @@ dependencies: - zstandard=0.15.2 - pip: - - PyQt5==5.15.1 + - pyqt5==5.15.1 diff --git a/pandas/compat/_optional.py b/pandas/compat/_optional.py index 998ef1801c681..61aa9f21112ec 100644 --- a/pandas/compat/_optional.py +++ b/pandas/compat/_optional.py @@ -47,7 +47,7 @@ "zstandard": "0.15.2", "tzdata": "2022.1", "qtpy": "2.2.0", - "PyQt5": "5.15.1", + "pyqt5": "5.15.1", } # A mapping from import name to package name (on PyPI) for packages where diff --git a/setup.cfg b/setup.cfg index 9c27ecf673164..0e27fe37995e8 100644 --- a/setup.cfg +++ b/setup.cfg @@ -124,7 +124,7 @@ all = blosc>=1.21.0 bottleneck>=1.3.2 brotlipy>=0.7.0 - fastparquet>=0.4.0 + fastparquet>=0.6.3 fsspec>=2021.07.0 gcsfs>=2021.07.0 html5lib>=1.1 From 0366b535bf43b9f88078da206dcaec7e65c53ed2 Mon Sep 17 00:00:00 2001 From: Kostya Farber Date: Thu, 3 Nov 2022 08:17:16 +0000 Subject: [PATCH 10/13] ENH: align matplotlib versions --- setup.cfg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/setup.cfg b/setup.cfg index 0e27fe37995e8..c75771ff7fa60 100644 --- a/setup.cfg +++ b/setup.cfg @@ -104,7 +104,7 @@ html = xml = lxml>=4.6.3 plot = - matplotlib>=3.3.2 + matplotlib>=3.6.0 output_formatting = jinja2>=3.0.0 tabulate>=0.8.9 @@ -131,7 +131,7 @@ all = hypothesis>=6.13.0 jinja2>=3.0.0 lxml>=4.6.3 - matplotlib>=3.3.2 + matplotlib>=3.6.0 numba>=0.53.1 numexpr>=2.7.3 odfpy>=1.4.1 From bace671c266ceae7e2ad33b4b1366c95b49e914b Mon Sep 17 00:00:00 2001 From: Kostya Farber Date: Fri, 4 Nov 2022 09:01:18 +0000 Subject: [PATCH 11/13] ENH: align matplotlib in setup.cfg --- setup.cfg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/setup.cfg b/setup.cfg index c75771ff7fa60..a44ba477af0a1 100644 --- a/setup.cfg +++ b/setup.cfg @@ -104,7 +104,7 @@ html = xml = lxml>=4.6.3 plot = - matplotlib>=3.6.0 + matplotlib>=3.6.1 output_formatting = jinja2>=3.0.0 tabulate>=0.8.9 @@ -131,7 +131,7 @@ all = hypothesis>=6.13.0 jinja2>=3.0.0 lxml>=4.6.3 - matplotlib>=3.6.0 + matplotlib>=3.6.1 numba>=0.53.1 numexpr>=2.7.3 odfpy>=1.4.1 From aee587ac9018f4662540fb00199b8ff39032bebe Mon Sep 17 00:00:00 2001 From: Kostya Farber Date: Sun, 6 Nov 2022 15:23:23 +0000 Subject: [PATCH 12/13] bump s3fs across min version files --- ci/deps/actions-38-minimum_versions.yaml | 2 +- pandas/compat/_optional.py | 2 +- setup.cfg | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ci/deps/actions-38-minimum_versions.yaml b/ci/deps/actions-38-minimum_versions.yaml index 98d222eb81a5e..8e0ccd77b19a6 100644 --- a/ci/deps/actions-38-minimum_versions.yaml +++ b/ci/deps/actions-38-minimum_versions.yaml @@ -46,7 +46,7 @@ dependencies: - pytables=3.6.1 - python-snappy=0.6.0 - pyxlsb=1.0.8 - - s3fs=0.4.0 + - s3fs=2021.08.0 - scipy=1.7.1 - sqlalchemy=1.4.16 - tabulate=0.8.9 diff --git a/pandas/compat/_optional.py b/pandas/compat/_optional.py index 55e1624f9c56f..abad188f06720 100644 --- a/pandas/compat/_optional.py +++ b/pandas/compat/_optional.py @@ -35,7 +35,7 @@ "pyreadstat": "1.1.2", "pytest": "6.0", "pyxlsb": "1.0.8", - "s3fs": "0.4.0", + "s3fs": "2021.08.0", "scipy": "1.7.1", "snappy": "0.6.0", "sqlalchemy": "1.4.16", diff --git a/setup.cfg b/setup.cfg index a44ba477af0a1..785143c7b647c 100644 --- a/setup.cfg +++ b/setup.cfg @@ -70,7 +70,7 @@ computation = fss = fsspec>=2021.07.0 aws = - s3fs>=0.4.0 + s3fs>=2021.08.0 gcp = gcsfs>=2021.07.0 pandas-gbq>=0.15.0 @@ -149,7 +149,7 @@ all = pyxlsb>=1.0.8 qtpy>=2.2.0 scipy>=1.7.1 - s3fs>=0.4.0 + s3fs>=2021.08.0 SQLAlchemy>=1.4.16 tables>=3.6.1 tabulate>=0.8.9 From d2608b14e5451844a31d5d8ed7f4a0d0b2437dc6 Mon Sep 17 00:00:00 2001 From: Kostya Farber <73378227+kostyafarber@users.noreply.github.com> Date: Sun, 6 Nov 2022 20:55:47 +0000 Subject: [PATCH 13/13] Update scripts/validate_min_versions_in_sync.py Co-authored-by: Marco Edward Gorelli <33491632+MarcoGorelli@users.noreply.github.com> --- scripts/validate_min_versions_in_sync.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/validate_min_versions_in_sync.py b/scripts/validate_min_versions_in_sync.py index 2f03d5395388d..ad0375a4320a2 100755 --- a/scripts/validate_min_versions_in_sync.py +++ b/scripts/validate_min_versions_in_sync.py @@ -60,7 +60,7 @@ def get_versions_from_ci(content: list[str]) -> tuple[dict[str, str], dict[str, seen_required = True elif "# optional dependencies" in line: seen_optional = True - elif "pip" in line: + elif "- pip:" in line: continue elif seen_required and line.strip(): if "==" in line: