diff --git a/.github/workflows/32-bit-linux.yml b/.github/workflows/32-bit-linux.yml index 03925991ec632..95d0d78c7585b 100644 --- a/.github/workflows/32-bit-linux.yml +++ b/.github/workflows/32-bit-linux.yml @@ -39,7 +39,7 @@ jobs: . ~/virtualenvs/pandas-dev/bin/activate && \ python -m pip install --no-deps -U pip wheel 'setuptools<60.0.0' && \ python -m pip install versioneer[toml] && \ - python -m pip install cython numpy python-dateutil pytz pytest>=7.0.0 pytest-xdist>=2.2.0 pytest-asyncio>=0.17 hypothesis>=6.34.2 && \ + python -m pip install cython numpy python-dateutil pytz pytest>=7.0.0 pytest-xdist>=2.2.0 pytest-asyncio>=0.17 hypothesis>=6.46.1 && \ python setup.py build_ext -q -j$(nproc) && \ python -m pip install --no-build-isolation --no-use-pep517 -e . && \ python -m pip list && \ diff --git a/.github/workflows/python-dev.yml b/.github/workflows/python-dev.yml index d498c1c3a22a3..8ac8a1a1fcebf 100644 --- a/.github/workflows/python-dev.yml +++ b/.github/workflows/python-dev.yml @@ -79,7 +79,7 @@ jobs: python -m pip install --pre --extra-index-url https://pypi.anaconda.org/scipy-wheels-nightly/simple numpy python -m pip install git+https://github.com/nedbat/coveragepy.git python -m pip install versioneer[toml] - python -m pip install python-dateutil pytz cython hypothesis>=6.34.2 pytest>=7.0.0 pytest-xdist>=2.2.0 pytest-cov pytest-asyncio>=0.17 + python -m pip install python-dateutil pytz cython hypothesis>=6.46.1 pytest>=7.0.0 pytest-xdist>=2.2.0 pytest-cov pytest-asyncio>=0.17 python -m pip list - name: Build Pandas diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index 1d27085dc6039..593a98d64e46a 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -170,7 +170,7 @@ jobs: # (1. Generate sdist 2. Build wheels from sdist) # This tests the sdists, and saves some build time python -m pip install dist/*.gz - pip install hypothesis>=6.34.2 pytest>=7.0.0 pytest-xdist>=2.2.0 pytest-asyncio>=0.17 + pip install hypothesis>=6.46.1 pytest>=7.0.0 pytest-xdist>=2.2.0 pytest-asyncio>=0.17 cd .. # Not a good idea to test within the src tree python -c "import pandas; print(pandas.__version__); pandas.test(extra_args=['-m not clipboard and not single_cpu and not slow and not network and not db', '-n 2']); diff --git a/ci/deps/actions-310-numpydev.yaml b/ci/deps/actions-310-numpydev.yaml index a500ad4a6f852..c39289d38c211 100644 --- a/ci/deps/actions-310-numpydev.yaml +++ b/ci/deps/actions-310-numpydev.yaml @@ -11,7 +11,7 @@ dependencies: - pytest>=7.0.0 - pytest-cov - pytest-xdist>=2.2.0 - - hypothesis>=6.34.2 + - hypothesis>=6.46.1 - pytest-asyncio>=0.17.0 # pandas dependencies diff --git a/ci/deps/actions-310.yaml b/ci/deps/actions-310.yaml index 47405b72476fd..f159b71a1b48c 100644 --- a/ci/deps/actions-310.yaml +++ b/ci/deps/actions-310.yaml @@ -21,38 +21,40 @@ dependencies: - pytz # optional dependencies - - beautifulsoup4>=4.9.3 - - blosc - - bottleneck>=1.3.2 + - beautifulsoup4>=4.11.1 + - blosc>=1.21.0 + - bottleneck>=1.3.4 - brotlipy>=0.7.0 - - fastparquet>=0.6.3 - - fsspec>=2021.07.0 + - fastparquet>=0.8.1 + - fsspec>=2022.05.0 - html5lib>=1.1 - - hypothesis>=6.34.2 - - gcsfs>=2021.07.0 - - jinja2>=3.0.0 - - lxml>=4.6.3 + - hypothesis>=6.46.1 + - gcsfs>=2022.05.0 + - jinja2>=3.1.2 + - lxml>=4.8.0 - matplotlib>=3.6.1, <3.7.0 - - numba>=0.53.1 - - numexpr>=2.7.3 - - openpyxl<3.1.1, >=3.0.7 + - numba>=0.55.2 + - numexpr>=2.8.0 - odfpy>=1.4.1 - - pandas-gbq>=0.15.0 - - psycopg2>=2.8.6 - - pymysql>=1.0.2 - - pytables>=3.6.1 + - qtpy>=2.2.0 + - openpyxl<3.1.1, >=3.0.10 + - pandas-gbq>=0.17.5 + - psycopg2>=2.9.3 - pyarrow>=7.0.0 - - pyreadstat>=1.1.2 - - python-snappy>=0.6.0 - - pyxlsb>=1.0.8 - - s3fs>=2021.08.0 - - scipy>=1.7.1 - - sqlalchemy>=1.4.16 - - tabulate>=0.8.9 - - xarray>=0.21.0 + - pymysql>=1.0.2 + - pyreadstat>=1.1.5 + - pytables>=3.7.0 + - python-snappy>=0.6.1 + - pyxlsb>=1.0.9 + - s3fs>=2022.05.0 + - scipy>=1.8.1 + - sqlalchemy>=1.4.36 + - tabulate>=0.8.10 + - xarray>=2022.03.0 - xlrd>=2.0.1 - - xlsxwriter>=1.4.3 - - zstandard>=0.15.2 + - xlsxwriter>=3.0.3 + - zstandard>=0.17.0 - pip: + - pyqt5>=5.15.6 - tzdata>=2022.1 diff --git a/ci/deps/actions-311-pyarrownightly.yaml b/ci/deps/actions-311-pyarrownightly.yaml index 77e4fc9d2c2d9..a55a33d020238 100644 --- a/ci/deps/actions-311-pyarrownightly.yaml +++ b/ci/deps/actions-311-pyarrownightly.yaml @@ -12,7 +12,7 @@ dependencies: - pytest>=7.0.0 - pytest-cov - pytest-xdist>=2.2.0 - - hypothesis>=6.34.2 + - hypothesis>=6.46.1 - pytest-asyncio>=0.17.0 # required dependencies diff --git a/ci/deps/actions-311.yaml b/ci/deps/actions-311.yaml index 9ebfb710e0abb..6da92a28965a2 100644 --- a/ci/deps/actions-311.yaml +++ b/ci/deps/actions-311.yaml @@ -21,38 +21,40 @@ dependencies: - pytz # optional dependencies - - beautifulsoup4>=4.9.3 - - blosc - - bottleneck>=1.3.2 + - beautifulsoup4>=4.11.1 + - blosc>=1.21.0 + - bottleneck>=1.3.4 - brotlipy>=0.7.0 - - fastparquet>=0.6.3 - - fsspec>=2021.07.0 + - fastparquet>=0.8.1 + - fsspec>=2022.05.0 - html5lib>=1.1 - - hypothesis>=6.34.2 - - gcsfs>=2021.07.0 - - jinja2>=3.0.0 - - lxml>=4.6.3 + - hypothesis>=6.46.1 + - gcsfs>=2022.05.0 + - jinja2>=3.1.2 + - lxml>=4.8.0 - matplotlib>=3.6.1, <3.7.0 - # - numba not compatible with 3.11 - - numexpr>=2.7.3 - - openpyxl<3.1.1, >=3.0.7 + # - numba>=0.55.2 not compatible with 3.11 + - numexpr>=2.8.0 - odfpy>=1.4.1 - - pandas-gbq>=0.15.0 - - psycopg2>=2.8.6 - - pymysql>=1.0.2 - # - pytables>=3.8.0 # first version that supports 3.11 + - qtpy>=2.2.0 + - openpyxl<3.1.1, >=3.0.10 + - pandas-gbq>=0.17.5 + - psycopg2>=2.9.3 - pyarrow>=7.0.0 - - pyreadstat>=1.1.2 - - python-snappy>=0.6.0 - - pyxlsb>=1.0.8 - - s3fs>=2021.08.0 - - scipy>=1.7.1 - - sqlalchemy>=1.4.16 - - tabulate>=0.8.9 - - xarray>=0.21.0 + - pymysql>=1.0.2 + - pyreadstat>=1.1.5 + # - pytables>=3.7.0, 3.8.0 is first version that supports 3.11 + - python-snappy>=0.6.1 + - pyxlsb>=1.0.9 + - s3fs>=2022.05.0 + - scipy>=1.8.1 + - sqlalchemy>=1.4.36 + - tabulate>=0.8.10 + - xarray>=2022.03.0 - xlrd>=2.0.1 - - xlsxwriter>=1.4.3 - - zstandard>=0.15.2 + - xlsxwriter>=3.0.3 + - zstandard>=0.17.0 - pip: + - pyqt5>=5.15.6 - tzdata>=2022.1 diff --git a/ci/deps/actions-38-downstream_compat.yaml b/ci/deps/actions-38-downstream_compat.yaml index 3ed2786b76896..dbfcc535fe3fb 100644 --- a/ci/deps/actions-38-downstream_compat.yaml +++ b/ci/deps/actions-38-downstream_compat.yaml @@ -22,37 +22,39 @@ dependencies: - pytz # optional dependencies - - beautifulsoup4>=4.9.3 - - blosc + - beautifulsoup4>=4.11.1 + - blosc>=1.21.0 + - bottleneck>=1.3.4 - brotlipy>=0.7.0 - - bottleneck>=1.3.2 - - fastparquet>=0.6.3 - - fsspec>=2021.07.0 + - fastparquet>=0.8.1 + - fsspec>=2022.05.0 - html5lib>=1.1 - - hypothesis>=6.34.2 - - gcsfs>=2021.07.0 - - jinja2>=3.0.0 - - lxml>=4.6.3 + - hypothesis>=6.46.1 + - gcsfs>=2022.05.0 + - jinja2>=3.1.2 + - lxml>=4.8.0 - matplotlib>=3.6.1, <3.7.0 - - numba>=0.53.1 - - numexpr>=2.7.3 - - openpyxl<3.1.1, >=3.0.7 + - numba>=0.55.2 + - numexpr>=2.8.0 - odfpy>=1.4.1 - - psycopg2>=2.8.6 + - qtpy>=2.2.0 + - openpyxl<3.1.1, >=3.0.10 + - pandas-gbq>=0.17.5 + - psycopg2>=2.9.3 - pyarrow>=7.0.0 - pymysql>=1.0.2 - - pyreadstat>=1.1.2 - - pytables>=3.6.1 - - python-snappy>=0.6.0 - - pyxlsb>=1.0.8 - - s3fs>=2021.08.0 - - scipy>=1.7.1 - - sqlalchemy>=1.4.16 - - tabulate>=0.8.9 - - xarray>=0.21.0 + - pyreadstat>=1.1.5 + - pytables>=3.7.0 + - python-snappy>=0.6.1 + - pyxlsb>=1.0.9 + - s3fs>=2022.05.0 + - scipy>=1.8.1 + - sqlalchemy>=1.4.36 + - tabulate>=0.8.10 + - xarray>=2022.03.0 - xlrd>=2.0.1 - - xlsxwriter>=1.4.3 - - zstandard>=0.15.2 + - xlsxwriter>=3.0.3 + - zstandard>=0.17.0 # downstream packages - botocore @@ -65,9 +67,9 @@ dependencies: - statsmodels - coverage - pandas-datareader - - pandas-gbq>=0.15.0 - pyyaml - py - pip: + - pyqt5>=5.15.6 - tzdata>=2022.1 diff --git a/ci/deps/actions-38-minimum_versions.yaml b/ci/deps/actions-38-minimum_versions.yaml index 2eb2ade8a2934..c0b4870ebe9e6 100644 --- a/ci/deps/actions-38-minimum_versions.yaml +++ b/ci/deps/actions-38-minimum_versions.yaml @@ -23,40 +23,40 @@ dependencies: - pytz=2020.1 # optional dependencies - - beautifulsoup4=4.9.3 + - beautifulsoup4=4.11.1 - blosc=1.21.0 - - bottleneck=1.3.2 + - bottleneck=1.3.4 - brotlipy=0.7.0 - - fastparquet=0.6.3 - - fsspec=2021.07.0 + - fastparquet=0.8.1 + - fsspec=2022.05.0 - html5lib=1.1 - - hypothesis=6.34.2 - - gcsfs=2021.07.0 - - jinja2=3.0.0 - - lxml=4.6.3 + - hypothesis=6.46.1 + - gcsfs=2022.05.0 + - jinja2=3.1.2 + - lxml=4.8.0 - matplotlib=3.6.1 - - numba=0.53.1 - - numexpr=2.7.3 + - numba=0.55.2 + - numexpr=2.8.0 - odfpy=1.4.1 - qtpy=2.2.0 - - openpyxl=3.0.7 - - pandas-gbq=0.15.0 - - psycopg2=2.8.6 + - openpyxl=3.0.10 + - pandas-gbq=0.17.5 + - psycopg2=2.9.3 - pyarrow=7.0.0 - pymysql=1.0.2 - - pyreadstat=1.1.2 - - pytables=3.6.1 - - python-snappy=0.6.0 - - pyxlsb=1.0.8 - - s3fs=2021.08.0 - - scipy=1.7.1 - - sqlalchemy=1.4.16 - - tabulate=0.8.9 - - xarray=0.21.0 + - pyreadstat=1.1.5 + - pytables=3.7.0 + - python-snappy=0.6.1 + - pyxlsb=1.0.9 + - s3fs=2022.05.0 + - scipy=1.8.1 + - sqlalchemy=1.4.36 + - tabulate=0.8.10 + - xarray=2022.03.0 - xlrd=2.0.1 - - xlsxwriter=1.4.3 - - zstandard=0.15.2 + - xlsxwriter=3.0.3 + - zstandard=0.17.0 - pip: - - pyqt5==5.15.1 + - pyqt5==5.15.6 - tzdata==2022.1 diff --git a/ci/deps/actions-38.yaml b/ci/deps/actions-38.yaml index 4060a837d1757..86877c5f1c263 100644 --- a/ci/deps/actions-38.yaml +++ b/ci/deps/actions-38.yaml @@ -21,38 +21,40 @@ dependencies: - pytz # optional dependencies - - beautifulsoup4>=4.9.3 - - blosc - - bottleneck>=1.3.2 + - beautifulsoup4>=4.11.1 + - blosc>=1.21.0 + - bottleneck>=1.3.4 - brotlipy>=0.7.0 - - fastparquet>=0.6.3 - - fsspec>=2021.07.0 + - fastparquet>=0.8.1 + - fsspec>=2022.05.0 - html5lib>=1.1 - - hypothesis>=6.34.2 - - gcsfs>=2021.07.0 - - jinja2>=3.0.0 - - lxml>=4.6.3 + - hypothesis>=6.46.1 + - gcsfs>=2022.05.0 + - jinja2>=3.1.2 + - lxml>=4.8.0 - matplotlib>=3.6.1, <3.7.0 - - numba>=0.53.1 - - numexpr>=2.7.3 - - openpyxl<3.1.1, >=3.0.7 + - numba>=0.55.2 + - numexpr>=2.8.0 - odfpy>=1.4.1 - - pandas-gbq>=0.15.0 - - psycopg2>=2.8.6 + - qtpy>=2.2.0 + - openpyxl<3.1.1, >=3.0.10 + - pandas-gbq>=0.17.5 + - psycopg2>=2.9.3 - pyarrow>=7.0.0 - pymysql>=1.0.2 - - pyreadstat>=1.1.2 - - pytables>=3.6.1 - - python-snappy>=0.6.0 - - pyxlsb>=1.0.8 - - s3fs>=2021.08.0 - - scipy>=1.7.1 - - sqlalchemy>=1.4.16 - - tabulate>=0.8.9 - - xarray>=0.21.0 + - pyreadstat>=1.1.5 + - pytables>=3.7.0 + - python-snappy>=0.6.1 + - pyxlsb>=1.0.9 + - s3fs>=2022.05.0 + - scipy>=1.8.1 + - sqlalchemy>=1.4.36 + - tabulate>=0.8.10 + - xarray>=2022.03.0 - xlrd>=2.0.1 - - xlsxwriter>=1.4.3 - - zstandard>=0.15.2 + - xlsxwriter>=3.0.3 + - zstandard>=0.17.0 - pip: + - pyqt5>=5.15.6 - tzdata>=2022.1 diff --git a/ci/deps/actions-39.yaml b/ci/deps/actions-39.yaml index 53cd9c5635493..bc89fa7bbb8b9 100644 --- a/ci/deps/actions-39.yaml +++ b/ci/deps/actions-39.yaml @@ -21,38 +21,40 @@ dependencies: - pytz # optional dependencies - - beautifulsoup4>=4.9.3 - - blosc - - bottleneck>=1.3.2 + - beautifulsoup4>=4.11.1 + - blosc>=1.21.0 + - bottleneck>=1.3.4 - brotlipy>=0.7.0 - - fastparquet>=0.6.3 - - fsspec>=2021.07.0 + - fastparquet>=0.8.1 + - fsspec>=2022.05.0 - html5lib>=1.1 - - hypothesis>=6.34.2 - - gcsfs>=2021.07.0 - - jinja2>=3.0.0 - - lxml>=4.6.3 + - hypothesis>=6.46.1 + - gcsfs>=2022.05.0 + - jinja2>=3.1.2 + - lxml>=4.8.0 - matplotlib>=3.6.1, <3.7.0 - - numba>=0.53.1 - - numexpr>=2.7.3 - - openpyxl<3.1.1, >=3.0.7 + - numba>=0.55.2 + - numexpr>=2.8.0 - odfpy>=1.4.1 - - pandas-gbq>=0.15.0 - - psycopg2>=2.8.6 - - pymysql>=1.0.2 + - qtpy>=2.2.0 + - openpyxl<3.1.1, >=3.0.10 + - pandas-gbq>=0.17.5 + - psycopg2>=2.9.3 - pyarrow>=7.0.0 - - pyreadstat>=1.1.2 - - pytables>=3.6.1 - - python-snappy>=0.6.0 - - pyxlsb>=1.0.8 - - s3fs>=2021.08.0 - - scipy>=1.7.1 - - sqlalchemy>=1.4.16 - - tabulate>=0.8.9 - - xarray>=0.21.0 + - pymysql>=1.0.2 + - pyreadstat>=1.1.5 + - pytables>=3.7.0 + - python-snappy>=0.6.1 + - pyxlsb>=1.0.9 + - s3fs>=2022.05.0 + - scipy>=1.8.1 + - sqlalchemy>=1.4.36 + - tabulate>=0.8.10 + - xarray>=2022.03.0 - xlrd>=2.0.1 - - xlsxwriter>=1.4.3 - - zstandard>=0.15.2 + - xlsxwriter>=3.0.3 + - zstandard>=0.17.0 - pip: + - pyqt5>=5.15.6 - tzdata>=2022.1 diff --git a/ci/deps/actions-pypy-38.yaml b/ci/deps/actions-pypy-38.yaml index 87b8344a25eb1..981399dcd4b7c 100644 --- a/ci/deps/actions-pypy-38.yaml +++ b/ci/deps/actions-pypy-38.yaml @@ -16,7 +16,7 @@ dependencies: - pytest-cov - pytest-asyncio>=0.17.0 - pytest-xdist>=2.2.0 - - hypothesis>=6.34.2 + - hypothesis>=6.46.1 # required - numpy diff --git a/ci/deps/circle-38-arm64.yaml b/ci/deps/circle-38-arm64.yaml index 2e4070fa82010..85c4b82d55387 100644 --- a/ci/deps/circle-38-arm64.yaml +++ b/ci/deps/circle-38-arm64.yaml @@ -21,36 +21,36 @@ dependencies: - pytz # optional dependencies - - beautifulsoup4>=4.9.3 - - blosc - - bottleneck>=1.3.2 + - beautifulsoup4>=4.11.1 + - blosc>=1.21.0 + - bottleneck>=1.3.4 - brotlipy>=0.7.0 - - fastparquet>=0.6.3 - - fsspec>=2021.07.0 + - fastparquet>=0.8.1 + - fsspec>=2022.05.0 - html5lib>=1.1 - - hypothesis>=6.34.2 - - gcsfs>=2021.07.0 - - jinja2>=3.0.0 - - lxml>=4.6.3 + - hypothesis>=6.46.1 + - gcsfs>=2022.05.0 + - jinja2>=3.1.2 + - lxml>=4.8.0 - matplotlib>=3.6.1, <3.7.0 - - numba>=0.53.1 - - numexpr>=2.7.3 - - openpyxl<3.1.1, >=3.0.7 + - numba>=0.55.2 + - numexpr>=2.8.0 - odfpy>=1.4.1 - - pandas-gbq>=0.15.0 - - psycopg2>=2.8.6 + - qtpy>=2.2.0 + - openpyxl<3.1.1, >=3.0.10 + - pandas-gbq>=0.17.5 + - psycopg2>=2.9.3 - pyarrow>=7.0.0 - pymysql>=1.0.2 - # Not provided on ARM - #- pyreadstat - - pytables>=3.6.1 - - python-snappy>=0.6.0 - - pyxlsb>=1.0.8 - - s3fs>=2021.08.0 - - scipy>=1.7.1 - - sqlalchemy>=1.4.16 - - tabulate>=0.8.9 - - xarray>=0.21.0 + # - pyreadstat>=1.1.5 not available on ARM + - pytables>=3.7.0 + - python-snappy>=0.6.1 + - pyxlsb>=1.0.9 + - s3fs>=2022.05.0 + - scipy>=1.8.1 + - sqlalchemy>=1.4.36 + - tabulate>=0.8.10 + - xarray>=2022.03.0 - xlrd>=2.0.1 - - xlsxwriter>=1.4.3 - - zstandard>=0.15.2 + - xlsxwriter>=3.0.3 + - zstandard>=0.17.0 diff --git a/ci/test_wheels_windows.bat b/ci/test_wheels_windows.bat index 6364169e53924..9864446d71137 100644 --- a/ci/test_wheels_windows.bat +++ b/ci/test_wheels_windows.bat @@ -4,6 +4,6 @@ pd.test(extra_args=['-m not clipboard and single_cpu and not slow and not networ python --version pip install pytz six numpy python-dateutil tzdata>=2022.1 -pip install hypothesis>=6.34.2 pytest>=7.0.0 pytest-xdist>=2.2.0 pytest-asyncio>=0.17 +pip install hypothesis>=6.46.1 pytest>=7.0.0 pytest-xdist>=2.2.0 pytest-asyncio>=0.17 pip install --find-links=pandas/dist --no-index pandas python -c "%test_command%" diff --git a/doc/source/getting_started/install.rst b/doc/source/getting_started/install.rst index f34676edd26dc..e82cf8ff93bbc 100644 --- a/doc/source/getting_started/install.rst +++ b/doc/source/getting_started/install.rst @@ -303,9 +303,9 @@ Installable with ``pip install "pandas[performance]"`` ===================================================== ================== ================== =================================================================================================================================================================================== Dependency Minimum Version pip extra Notes ===================================================== ================== ================== =================================================================================================================================================================================== -`numexpr `__ 2.7.3 performance Accelerates certain numerical operations by using uses multiple cores as well as smart chunking and caching to achieve large speedups -`bottleneck `__ 1.3.2 performance Accelerates certain types of ``nan`` by using specialized cython routines to achieve large speedup. -`numba `__ 0.53.1 performance Alternative execution engine for operations that accept ``engine="numba"`` using a JIT compiler that translates Python functions to optimized machine code using the LLVM compiler. +`numexpr `__ 2.8.0 performance Accelerates certain numerical operations by using uses multiple cores as well as smart chunking and caching to achieve large speedups +`bottleneck `__ 1.3.4 performance Accelerates certain types of ``nan`` by using specialized cython routines to achieve large speedup. +`numba `__ 0.55.2 performance Alternative execution engine for operations that accept ``engine="numba"`` using a JIT compiler that translates Python functions to optimized machine code using the LLVM compiler. ===================================================== ================== ================== =================================================================================================================================================================================== Visualization @@ -317,8 +317,8 @@ Installable with ``pip install "pandas[plot, output_formatting]"``. Dependency Minimum Version pip extra Notes ========================= ================== ================== ============================================================= matplotlib 3.6.1 plot Plotting library -Jinja2 3.0.0 output_formatting Conditional formatting with DataFrame.style -tabulate 0.8.9 output_formatting Printing in Markdown-friendly format (see `tabulate`_) +Jinja2 3.1.2 output_formatting Conditional formatting with DataFrame.style +tabulate 0.8.10 output_formatting Printing in Markdown-friendly format (see `tabulate`_) ========================= ================== ================== ============================================================= Computation @@ -329,8 +329,8 @@ Installable with ``pip install "pandas[computation]"``. ========================= ================== =============== ============================================================= Dependency Minimum Version pip extra Notes ========================= ================== =============== ============================================================= -SciPy 1.7.1 computation Miscellaneous statistical functions -xarray 0.21.0 computation pandas-like API for N-dimensional data +SciPy 1.8.1 computation Miscellaneous statistical functions +xarray 2022.03.0 computation pandas-like API for N-dimensional data ========================= ================== =============== ============================================================= Excel files @@ -342,9 +342,9 @@ Installable with ``pip install "pandas[excel]"``. Dependency Minimum Version pip extra Notes ========================= ================== =============== ============================================================= xlrd 2.0.1 excel Reading Excel -xlsxwriter 1.4.3 excel Writing Excel -openpyxl 3.0.7 excel Reading / writing for xlsx files -pyxlsb 1.0.8 excel Reading for xlsb files +xlsxwriter 3.0.3 excel Writing Excel +openpyxl 3.0.10 excel Reading / writing for xlsx files +pyxlsb 1.0.9 excel Reading for xlsb files ========================= ================== =============== ============================================================= HTML @@ -355,9 +355,9 @@ Installable with ``pip install "pandas[html]"``. ========================= ================== =============== ============================================================= Dependency Minimum Version pip extra Notes ========================= ================== =============== ============================================================= -BeautifulSoup4 4.9.3 html HTML parser for read_html +BeautifulSoup4 4.11.1 html HTML parser for read_html html5lib 1.1 html HTML parser for read_html -lxml 4.6.3 html HTML parser for read_html +lxml 4.8.0 html HTML parser for read_html ========================= ================== =============== ============================================================= One of the following combinations of libraries is needed to use the @@ -392,7 +392,7 @@ Installable with ``pip install "pandas[xml]"``. ========================= ================== =============== ============================================================= Dependency Minimum Version pip extra Notes ========================= ================== =============== ============================================================= -lxml 4.6.3 xml XML parser for read_xml and tree builder for to_xml +lxml 4.8.0 xml XML parser for read_xml and tree builder for to_xml ========================= ================== =============== ============================================================= SQL databases @@ -403,10 +403,10 @@ Installable with ``pip install "pandas[postgresql, mysql, sql-other]"``. ========================= ================== =============== ============================================================= Dependency Minimum Version pip extra Notes ========================= ================== =============== ============================================================= -SQLAlchemy 1.4.16 postgresql, SQL support for databases other than sqlite +SQLAlchemy 1.4.36 postgresql, SQL support for databases other than sqlite mysql, sql-other -psycopg2 2.8.6 postgresql PostgreSQL engine for sqlalchemy +psycopg2 2.9.3 postgresql PostgreSQL engine for sqlalchemy pymysql 1.0.2 mysql MySQL engine for sqlalchemy ========================= ================== =============== ============================================================= @@ -418,12 +418,12 @@ Installable with ``pip install "pandas[hdf5, parquet, feather, spss, excel]"`` ========================= ================== ================ ============================================================= Dependency Minimum Version pip extra Notes ========================= ================== ================ ============================================================= -PyTables 3.6.1 hdf5 HDF5-based reading / writing +PyTables 3.7.0 hdf5 HDF5-based reading / writing blosc 1.21.0 hdf5 Compression for HDF5; only available on ``conda`` zlib hdf5 Compression for HDF5 -fastparquet 0.6.3 - Parquet reading / writing (pyarrow is default) +fastparquet 0.8.1 - Parquet reading / writing (pyarrow is default) pyarrow 7.0.0 parquet, feather Parquet, ORC, and feather reading / writing -pyreadstat 1.1.2 spss SPSS files (.sav) reading +pyreadstat 1.1.5 spss SPSS files (.sav) reading odfpy 1.4.1 excel Open document format (.odf, .ods, .odt) reading / writing ========================= ================== ================ ============================================================= @@ -450,11 +450,11 @@ Installable with ``pip install "pandas[fss, aws, gcp]"`` ========================= ================== =============== ============================================================= Dependency Minimum Version pip extra Notes ========================= ================== =============== ============================================================= -fsspec 2021.7.0 fss, gcp, aws Handling files aside from simple local and HTTP (required +fsspec 2022.05.0 fss, gcp, aws Handling files aside from simple local and HTTP (required dependency of s3fs, gcsfs). -gcsfs 2021.7.0 gcp Google Cloud Storage access -pandas-gbq 0.15.0 gcp Google Big Query access -s3fs 2021.08.0 aws Amazon S3 access +gcsfs 2022.05.0 gcp Google Cloud Storage access +pandas-gbq 0.17.5 gcp Google Big Query access +s3fs 2022.05.0 aws Amazon S3 access ========================= ================== =============== ============================================================= Clipboard @@ -465,7 +465,7 @@ Installable with ``pip install "pandas[clipboard]"``. ========================= ================== =============== ============================================================= Dependency Minimum Version pip extra Notes ========================= ================== =============== ============================================================= -PyQt4/PyQt5 5.15.1 clipboard Clipboard I/O +PyQt4/PyQt5 5.15.6 clipboard Clipboard I/O qtpy 2.2.0 clipboard Clipboard I/O ========================= ================== =============== ============================================================= @@ -484,6 +484,6 @@ Installable with ``pip install "pandas[compression]"`` Dependency Minimum Version pip extra Notes ========================= ================== =============== ============================================================= brotli 0.7.0 compression Brotli compression -python-snappy 0.6.0 compression Snappy compression -Zstandard 0.15.2 compression Zstandard compression +python-snappy 0.6.1 compression Snappy compression +Zstandard 0.17.0 compression Zstandard compression ========================= ================== =============== ============================================================= diff --git a/doc/source/whatsnew/v2.1.0.rst b/doc/source/whatsnew/v2.1.0.rst index 9f5d6011a7780..7711d6b0613ad 100644 --- a/doc/source/whatsnew/v2.1.0.rst +++ b/doc/source/whatsnew/v2.1.0.rst @@ -125,6 +125,56 @@ If installed, we now require: +=================+=================+==========+=========+ | mypy (dev) | 1.2 | | X | +-----------------+-----------------+----------+---------+ +| beautifulsoup4 | 4.11.1 | | X | ++-----------------+-----------------+----------+---------+ +| bottleneck | 1.3.4 | | X | ++-----------------+-----------------+----------+---------+ +| fastparquet | 0.8.1 | | X | ++-----------------+-----------------+----------+---------+ +| fsspec | 2022.05.0 | | X | ++-----------------+-----------------+----------+---------+ +| hypothesis | 6.46.1 | | X | ++-----------------+-----------------+----------+---------+ +| gcsfs | 2022.05.0 | | X | ++-----------------+-----------------+----------+---------+ +| jinja2 | 3.1.2 | | X | ++-----------------+-----------------+----------+---------+ +| lxml | 4.8.0 | | X | ++-----------------+-----------------+----------+---------+ +| numba | 0.55.2 | | X | ++-----------------+-----------------+----------+---------+ +| numexpr | 2.8.0 | | X | ++-----------------+-----------------+----------+---------+ +| openpyxl | 3.0.10 | | X | ++-----------------+-----------------+----------+---------+ +| pandas-gbq | 0.17.5 | | X | ++-----------------+-----------------+----------+---------+ +| psycopg2 | 2.9.3 | | X | ++-----------------+-----------------+----------+---------+ +| pyreadstat | 1.1.5 | | X | ++-----------------+-----------------+----------+---------+ +| pyqt5 | 5.15.6 | | X | ++-----------------+-----------------+----------+---------+ +| pytables | 3.7.0 | | X | ++-----------------+-----------------+----------+---------+ +| python-snappy | 0.6.1 | | X | ++-----------------+-----------------+----------+---------+ +| pyxlsb | 1.0.9 | | X | ++-----------------+-----------------+----------+---------+ +| s3fs | 2022.05.0 | | X | ++-----------------+-----------------+----------+---------+ +| scipy | 1.8.1 | | X | ++-----------------+-----------------+----------+---------+ +| sqlalchemy | 1.4.36 | | X | ++-----------------+-----------------+----------+---------+ +| tabulate | 0.8.10 | | X | ++-----------------+-----------------+----------+---------+ +| xarray | 2022.03.0 | | X | ++-----------------+-----------------+----------+---------+ +| xlsxwriter | 3.0.3 | | X | ++-----------------+-----------------+----------+---------+ +| zstandard | 0.17.0 | | X | ++-----------------+-----------------+----------+---------+ For `optional libraries `_ the general recommendation is to use the latest version. The following table lists the lowest version per library that is currently being tested throughout the development of pandas. diff --git a/environment.yml b/environment.yml index e2edf967ed8b7..abbf83fea2508 100644 --- a/environment.yml +++ b/environment.yml @@ -23,39 +23,39 @@ dependencies: - pytz # optional dependencies - - beautifulsoup4>=4.9.3 + - beautifulsoup4>=4.11.1 - blosc - brotlipy>=0.7.0 - - bottleneck>=1.3.2 - - fastparquet>=0.6.3 - - fsspec>=2021.07.0 + - bottleneck>=1.3.4 + - fastparquet>=0.8.1 + - fsspec>=2022.05.0 - html5lib>=1.1 - - hypothesis>=6.34.2 - - gcsfs>=2021.07.0 + - hypothesis>=6.46.1 + - gcsfs>=2022.05.0 - ipython - - jinja2>=3.0.0 - - lxml>=4.6.3 + - jinja2>=3.1.2 + - lxml>=4.8.0 - matplotlib>=3.6.1, <3.7.0 - - numba>=0.53.1 - - numexpr>=2.7.3 # pin for "Run checks on imported code" job + - numba>=0.55.2 + - numexpr>=2.8.0 # pin for "Run checks on imported code" job - openpyxl<3.1.1, >=3.0.7 - odfpy>=1.4.1 - py - - psycopg2>=2.8.6 + - psycopg2>=2.9.3 - pyarrow>=7.0.0 - pymysql>=1.0.2 - - pyreadstat>=1.1.2 - - pytables>=3.6.1 - - python-snappy>=0.6.0 - - pyxlsb>=1.0.8 - - s3fs>=2021.08.0 - - scipy>=1.7.1 - - sqlalchemy>=1.4.16 - - tabulate>=0.8.9 - - xarray>=0.21.0 + - pyreadstat>=1.1.5 + - pytables>=3.7.0 + - python-snappy>=0.6.1 + - pyxlsb>=1.0.9 + - s3fs>=2022.05.0 + - scipy>=1.8.1 + - sqlalchemy>=1.4.36 + - tabulate>=0.8.10 + - xarray>=2022.03.0 - xlrd>=2.0.1 - - xlsxwriter>=1.4.3 - - zstandard>=0.15.2 + - xlsxwriter>=3.0.3 + - zstandard>=0.17.0 # downstream packages - dask-core diff --git a/pandas/compat/_optional.py b/pandas/compat/_optional.py index bcfd4ea790e64..ef511828126f8 100644 --- a/pandas/compat/_optional.py +++ b/pandas/compat/_optional.py @@ -15,42 +15,42 @@ # Update install.rst & setup.cfg when updating versions! VERSIONS = { - "bs4": "4.9.3", + "bs4": "4.11.1", "blosc": "1.21.0", - "bottleneck": "1.3.2", + "bottleneck": "1.3.4", "brotli": "0.7.0", - "fastparquet": "0.6.3", - "fsspec": "2021.07.0", + "fastparquet": "0.8.1", + "fsspec": "2022.05.0", "html5lib": "1.1", - "hypothesis": "6.34.2", - "gcsfs": "2021.07.0", - "jinja2": "3.0.0", - "lxml.etree": "4.6.3", + "hypothesis": "6.46.1", + "gcsfs": "2022.05.0", + "jinja2": "3.1.2", + "lxml.etree": "4.8.0", "matplotlib": "3.6.1", - "numba": "0.53.1", - "numexpr": "2.7.3", + "numba": "0.55.2", + "numexpr": "2.8.0", "odfpy": "1.4.1", - "openpyxl": "3.0.7", - "pandas_gbq": "0.15.0", - "psycopg2": "2.8.6", # (dt dec pq3 ext lo64) + "openpyxl": "3.0.10", + "pandas_gbq": "0.17.5", + "psycopg2": "2.9.3", # (dt dec pq3 ext lo64) "pymysql": "1.0.2", "pyarrow": "7.0.0", - "pyreadstat": "1.1.2", + "pyreadstat": "1.1.5", "pytest": "7.0.0", - "pyxlsb": "1.0.8", - "s3fs": "2021.08.0", - "scipy": "1.7.1", - "snappy": "0.6.0", - "sqlalchemy": "1.4.16", - "tables": "3.6.1", - "tabulate": "0.8.9", - "xarray": "0.21.0", + "pyxlsb": "1.0.9", + "s3fs": "2022.05.0", + "scipy": "1.8.1", + "snappy": "0.6.1", + "sqlalchemy": "1.4.36", + "tables": "3.7.0", + "tabulate": "0.8.10", + "xarray": "2022.03.0", "xlrd": "2.0.1", - "xlsxwriter": "1.4.3", - "zstandard": "0.15.2", + "xlsxwriter": "3.0.3", + "zstandard": "0.17.0", "tzdata": "2022.1", "qtpy": "2.2.0", - "pyqt5": "5.15.1", + "pyqt5": "5.15.6", } # A mapping from import name to package name (on PyPI) for packages where @@ -72,9 +72,6 @@ def get_version(module: types.ModuleType) -> str: version = getattr(module, "__version__", None) - if version is None: - # xlrd uses a capitalized attribute name - version = getattr(module, "__VERSION__", None) if version is None: if module.__name__ == "brotli": diff --git a/pandas/io/parquet.py b/pandas/io/parquet.py index 30dfceb29155a..2ea8de2211909 100644 --- a/pandas/io/parquet.py +++ b/pandas/io/parquet.py @@ -24,7 +24,6 @@ get_option, ) from pandas.core.shared_docs import _shared_docs -from pandas.util.version import Version from pandas.io.common import ( IOHandles, @@ -343,9 +342,8 @@ def read( parquet_kwargs: dict[str, Any] = {} use_nullable_dtypes = kwargs.pop("use_nullable_dtypes", False) dtype_backend = kwargs.pop("dtype_backend", lib.no_default) - if Version(self.api.__version__) >= Version("0.7.1"): - # We are disabling nullable dtypes for fastparquet pending discussion - parquet_kwargs["pandas_nulls"] = False + # We are disabling nullable dtypes for fastparquet pending discussion + parquet_kwargs["pandas_nulls"] = False if use_nullable_dtypes: raise ValueError( "The 'use_nullable_dtypes' argument is not supported for the " @@ -365,14 +363,7 @@ def read( if is_fsspec_url(path): fsspec = import_optional_dependency("fsspec") - if Version(self.api.__version__) > Version("0.6.1"): - parquet_kwargs["fs"] = fsspec.open( - path, "rb", **(storage_options or {}) - ).fs - else: - parquet_kwargs["open_with"] = lambda path, _: fsspec.open( - path, "rb", **(storage_options or {}) - ).open() + parquet_kwargs["fs"] = fsspec.open(path, "rb", **(storage_options or {})).fs elif isinstance(path, str) and not os.path.isdir(path): # use get_handle only when we are very certain that it is not a directory # fsspec resources can also point to directories diff --git a/pandas/tests/io/test_parquet.py b/pandas/tests/io/test_parquet.py index c74548bf63e06..783a7af130066 100644 --- a/pandas/tests/io/test_parquet.py +++ b/pandas/tests/io/test_parquet.py @@ -528,11 +528,7 @@ def test_write_column_multiindex_nonstring(self, engine): df = pd.DataFrame(np.random.randn(8, 8), columns=arrays) df.columns.names = ["Level1", "Level2"] if engine == "fastparquet": - if Version(fastparquet.__version__) < Version("0.7.0"): - err = TypeError - else: - err = ValueError - self.check_error_on_write(df, engine, err, "Column name") + self.check_error_on_write(df, engine, ValueError, "Column name") elif engine == "pyarrow": check_round_trip(df, engine) diff --git a/pandas/tests/plotting/frame/test_frame.py b/pandas/tests/plotting/frame/test_frame.py index 16be54124bda3..ded3c1142f27b 100644 --- a/pandas/tests/plotting/frame/test_frame.py +++ b/pandas/tests/plotting/frame/test_frame.py @@ -1400,17 +1400,13 @@ def test_pie_df(self): self._check_colors(ax.patches, facecolors=color_args) def test_pie_df_nan(self): - import matplotlib as mpl - df = DataFrame(np.random.rand(4, 4)) for i in range(4): df.iloc[i, i] = np.nan fig, axes = self.plt.subplots(ncols=4) # GH 37668 - kwargs = {} - if mpl.__version__ >= "3.3": - kwargs = {"normalize": True} + kwargs = {"normalize": True} with tm.assert_produces_warning(None): df.plot.pie(subplots=True, ax=axes, legend=True, **kwargs) diff --git a/pandas/tests/tools/test_to_datetime.py b/pandas/tests/tools/test_to_datetime.py index 7b707be97c653..0b5696116e610 100644 --- a/pandas/tests/tools/test_to_datetime.py +++ b/pandas/tests/tools/test_to_datetime.py @@ -46,7 +46,6 @@ from pandas.core.arrays import DatetimeArray from pandas.core.tools import datetimes as tools from pandas.core.tools.datetimes import start_caching_at -from pandas.util.version import Version PARSING_ERR_MSG = ( r"You might want to try:\n" @@ -1250,23 +1249,13 @@ def test_to_datetime_utc_true_with_series_datetime_ns(self, cache, date, dtype): result = to_datetime(Series([date], dtype=dtype), utc=True, cache=cache) tm.assert_series_equal(result, expected) - @td.skip_if_no("psycopg2") def test_to_datetime_tz_psycopg2(self, request, cache): # xref 8260 - import psycopg2 - - # https://www.psycopg.org/docs/news.html#what-s-new-in-psycopg-2-9 - request.node.add_marker( - pytest.mark.xfail( - Version(psycopg2.__version__.split()[0]) > Version("2.8.7"), - raises=AttributeError, - reason="psycopg2.tz is deprecated (and appears dropped) in 2.9", - ) - ) + psycopg2_tz = pytest.importorskip("psycopg2.tz") # misc cases - tz1 = psycopg2.tz.FixedOffsetTimezone(offset=-300, name=None) - tz2 = psycopg2.tz.FixedOffsetTimezone(offset=-240, name=None) + tz1 = psycopg2_tz.FixedOffsetTimezone(offset=-300, name=None) + tz2 = psycopg2_tz.FixedOffsetTimezone(offset=-240, name=None) arr = np.array( [ datetime(2000, 1, 1, 3, 0, tzinfo=tz1), @@ -1286,7 +1275,7 @@ def test_to_datetime_tz_psycopg2(self, request, cache): # dtype coercion i = DatetimeIndex( ["2000-01-01 08:00:00"], - tz=psycopg2.tz.FixedOffsetTimezone(offset=-300, name=None), + tz=psycopg2_tz.FixedOffsetTimezone(offset=-300, name=None), ) assert is_datetime64_ns_dtype(i) diff --git a/pandas/util/_test_decorators.py b/pandas/util/_test_decorators.py index 55cb97093adbf..ec54f0205f79a 100644 --- a/pandas/util/_test_decorators.py +++ b/pandas/util/_test_decorators.py @@ -82,11 +82,7 @@ def safe_import(mod_name: str, min_version: str | None = None): else: import sys - try: - version = getattr(sys.modules[mod_name], "__version__") - except AttributeError: - # xlrd uses a capitalized attribute name - version = getattr(sys.modules[mod_name], "__VERSION__") + version = getattr(sys.modules[mod_name], "__version__") if version and Version(version) >= Version(min_version): return mod diff --git a/pyproject.toml b/pyproject.toml index ac6a4a7b2a61b..7bd84911c9a9a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -56,66 +56,66 @@ repository = 'https://github.com/pandas-dev/pandas' matplotlib = "pandas:plotting._matplotlib" [project.optional-dependencies] -test = ['hypothesis>=6.34.2', 'pytest>=7.0.0', 'pytest-xdist>=2.2.0', 'pytest-asyncio>=0.17.0'] -performance = ['bottleneck>=1.3.2', 'numba>=0.53.1', 'numexpr>=2.7.1'] -computation = ['scipy>=1.7.1', 'xarray>=0.21.0'] -fss = ['fsspec>=2021.07.0'] -aws = ['s3fs>=2021.08.0'] -gcp = ['gcsfs>=2021.07.0', 'pandas-gbq>=0.15.0'] -excel = ['odfpy>=1.4.1', 'openpyxl>=3.0.7', 'pyxlsb>=1.0.8', 'xlrd>=2.0.1', 'xlsxwriter>=1.4.3'] +test = ['hypothesis>=6.46.1', 'pytest>=7.0.0', 'pytest-xdist>=2.2.0', 'pytest-asyncio>=0.17.0'] +performance = ['bottleneck>=1.3.4', 'numba>=0.55.2', 'numexpr>=2.8.0'] +computation = ['scipy>=1.8.1', 'xarray>=2022.03.0'] +fss = ['fsspec>=2022.05.0'] +aws = ['s3fs>=2022.05.0'] +gcp = ['gcsfs>=2022.05.0', 'pandas-gbq>=0.17.5'] +excel = ['odfpy>=1.4.1', 'openpyxl>=3.0.10', 'pyxlsb>=1.0.9', 'xlrd>=2.0.1', 'xlsxwriter>=3.0.3'] parquet = ['pyarrow>=7.0.0'] feather = ['pyarrow>=7.0.0'] hdf5 = [# blosc only available on conda (https://github.com/Blosc/python-blosc/issues/297) #'blosc>=1.20.1', - 'tables>=3.6.1'] -spss = ['pyreadstat>=1.1.2'] -postgresql = ['SQLAlchemy>=1.4.16', 'psycopg2>=2.8.6'] -mysql = ['SQLAlchemy>=1.4.16', 'pymysql>=1.0.2'] -sql-other = ['SQLAlchemy>=1.4.16'] -html = ['beautifulsoup4>=4.9.3', 'html5lib>=1.1', 'lxml>=4.6.3'] -xml = ['lxml>=4.6.3'] + 'tables>=3.7.0'] +spss = ['pyreadstat>=1.1.5'] +postgresql = ['SQLAlchemy>=1.4.36', 'psycopg2>=2.9.3'] +mysql = ['SQLAlchemy>=1.4.36', 'pymysql>=1.0.2'] +sql-other = ['SQLAlchemy>=1.4.36'] +html = ['beautifulsoup4>=4.11.1', 'html5lib>=1.1', 'lxml>=4.8.0'] +xml = ['lxml>=4.8.0'] plot = ['matplotlib>=3.6.1'] -output_formatting = ['jinja2>=3.0.0', 'tabulate>=0.8.9'] -clipboard = ['PyQt5>=5.15.1', 'qtpy>=2.2.0'] -compression = ['brotlipy>=0.7.0', 'python-snappy>=0.6.0', 'zstandard>=0.15.2'] -all = ['beautifulsoup4>=4.9.3', +output_formatting = ['jinja2>=3.1.2', 'tabulate>=0.8.10'] +clipboard = ['PyQt5>=5.15.6', 'qtpy>=2.2.0'] +compression = ['brotlipy>=0.7.0', 'python-snappy>=0.6.1', 'zstandard>=0.17.0'] +all = ['beautifulsoup4>=4.11.1', # blosc only available on conda (https://github.com/Blosc/python-blosc/issues/297) #'blosc>=1.21.0', - 'bottleneck>=1.3.2', + 'bottleneck>=1.3.4', 'brotlipy>=0.7.0', - 'fastparquet>=0.6.3', - 'fsspec>=2021.07.0', - 'gcsfs>=2021.07.0', + 'fastparquet>=0.8.1', + 'fsspec>=2022.05.0', + 'gcsfs>=2022.05.0', 'html5lib>=1.1', - 'hypothesis>=6.34.2', - 'jinja2>=3.0.0', - 'lxml>=4.6.3', + 'hypothesis>=6.46.1', + 'jinja2>=3.1.2', + 'lxml>=4.8.0', 'matplotlib>=3.6.1', - 'numba>=0.53.1', - 'numexpr>=2.7.3', + 'numba>=0.55.2', + 'numexpr>=2.8.0', 'odfpy>=1.4.1', - 'openpyxl>=3.0.7', - 'pandas-gbq>=0.15.0', - 'psycopg2>=2.8.6', + 'openpyxl>=3.0.10', + 'pandas-gbq>=0.17.5', + 'psycopg2>=2.9.3', 'pyarrow>=7.0.0', 'pymysql>=1.0.2', - 'PyQt5>=5.15.1', - 'pyreadstat>=1.1.2', + 'PyQt5>=5.15.6', + 'pyreadstat>=1.1.5', 'pytest>=7.0.0', 'pytest-xdist>=2.2.0', 'pytest-asyncio>=0.17.0', - 'python-snappy>=0.6.0', - 'pyxlsb>=1.0.8', + 'python-snappy>=0.6.1', + 'pyxlsb>=1.0.9', 'qtpy>=2.2.0', - 'scipy>=1.7.1', - 's3fs>=2021.08.0', - 'SQLAlchemy>=1.4.16', - 'tables>=3.6.1', - 'tabulate>=0.8.9', - 'xarray>=0.21.0', + 'scipy>=1.8.1', + 's3fs>=2022.05.0', + 'SQLAlchemy>=1.4.36', + 'tables>=3.7.0', + 'tabulate>=0.8.10', + 'xarray>=2022.03.0', 'xlrd>=2.0.1', - 'xlsxwriter>=1.4.3', - 'zstandard>=0.15.2'] + 'xlsxwriter>=3.0.3', + 'zstandard>=0.17.0'] # TODO: Remove after setuptools support is dropped. [tool.setuptools] @@ -143,7 +143,7 @@ parentdir_prefix = "pandas-" skip = "cp36-* cp37-* pp37-* *-manylinux_i686 *_ppc64le *_s390x *-musllinux*" build-verbosity = "3" environment = {LDFLAGS="-Wl,--strip-all" } -test-requires = "hypothesis>=6.34.2 pytest>=7.0.0 pytest-xdist>=2.2.0 pytest-asyncio>=0.17" +test-requires = "hypothesis>=6.46.1 pytest>=7.0.0 pytest-xdist>=2.2.0 pytest-asyncio>=0.17" test-command = "python {project}/ci/test_wheels.py" [tool.cibuildwheel.macos] diff --git a/requirements-dev.txt b/requirements-dev.txt index 2dadaee4a71e0..8a79f911265a3 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -12,39 +12,39 @@ coverage python-dateutil numpy pytz -beautifulsoup4>=4.9.3 +beautifulsoup4>=4.11.1 blosc brotlipy>=0.7.0 -bottleneck>=1.3.2 -fastparquet>=0.6.3 -fsspec>=2021.07.0 +bottleneck>=1.3.4 +fastparquet>=0.8.1 +fsspec>=2022.05.0 html5lib>=1.1 -hypothesis>=6.34.2 -gcsfs>=2021.07.0 +hypothesis>=6.46.1 +gcsfs>=2022.05.0 ipython -jinja2>=3.0.0 -lxml>=4.6.3 +jinja2>=3.1.2 +lxml>=4.8.0 matplotlib>=3.6.1, <3.7.0 -numba>=0.53.1 -numexpr>=2.7.3 +numba>=0.55.2 +numexpr>=2.8.0 openpyxl<3.1.1, >=3.0.7 odfpy>=1.4.1 py -psycopg2-binary>=2.8.6 +psycopg2-binary>=2.9.3 pyarrow>=7.0.0 pymysql>=1.0.2 -pyreadstat>=1.1.2 -tables>=3.6.1 -python-snappy>=0.6.0 -pyxlsb>=1.0.8 -s3fs>=2021.08.0 -scipy>=1.7.1 -SQLAlchemy>=1.4.16 -tabulate>=0.8.9 -xarray>=0.21.0 +pyreadstat>=1.1.5 +tables>=3.7.0 +python-snappy>=0.6.1 +pyxlsb>=1.0.9 +s3fs>=2022.05.0 +scipy>=1.8.1 +SQLAlchemy>=1.4.36 +tabulate>=0.8.10 +xarray>=2022.03.0 xlrd>=2.0.1 -xlsxwriter>=1.4.3 -zstandard>=0.15.2 +xlsxwriter>=3.0.3 +zstandard>=0.17.0 dask seaborn moto