Skip to content

DEPS: Upgrade Deps for Python 3.10 #43729

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 41 commits into from
Oct 13, 2021
Merged
Show file tree
Hide file tree
Changes from 31 commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
f22feed
Update pyproject.toml
lithomas1 Sep 23, 2021
4d5ab7f
Update setup.py
lithomas1 Sep 23, 2021
2cf1f0b
Update pyproject.toml
lithomas1 Sep 24, 2021
fc4329b
Update pyproject.toml
lithomas1 Sep 24, 2021
0360bae
Update setup.cfg
lithomas1 Sep 24, 2021
98be5bd
Update pyproject.toml
lithomas1 Sep 24, 2021
4f406e5
Update actions-38-db-min.yaml
lithomas1 Sep 24, 2021
c5d3021
Update actions-38-minimum_versions.yaml
lithomas1 Sep 24, 2021
1b043b6
Update actions-38-locale.yaml
lithomas1 Sep 24, 2021
1ec533f
Update actions-38-db.yaml
lithomas1 Sep 24, 2021
5764d02
Update actions-38-slow.yaml
lithomas1 Sep 24, 2021
a68c546
Update actions-38-locale_slow.yaml
lithomas1 Sep 24, 2021
7d3dd4c
Update actions-38.yaml
lithomas1 Sep 24, 2021
e1745d6
Update actions-39-slow.yaml
lithomas1 Sep 24, 2021
94ea941
Update actions-39-numpydev.yaml
lithomas1 Sep 24, 2021
9c12e9c
Update actions-39.yaml
lithomas1 Sep 24, 2021
1b686d5
Update azure-macos-38.yaml
lithomas1 Sep 24, 2021
2304615
Update azure-windows-38.yaml
lithomas1 Sep 24, 2021
5daaf27
Update azure-windows-39.yaml
lithomas1 Sep 24, 2021
435e9b1
Update circle-38-arm64.yaml
lithomas1 Sep 24, 2021
79819ca
Update action.yml
lithomas1 Sep 25, 2021
956a80b
Merge branch 'pandas-dev:master' into python310-deps-update
lithomas1 Sep 25, 2021
9533da5
Update setup.cfg
lithomas1 Sep 30, 2021
692ca3a
Update sdist.yml
lithomas1 Sep 30, 2021
7cd2152
Update sdist.yml
lithomas1 Sep 30, 2021
43316c3
Update sdist.yml
lithomas1 Sep 30, 2021
6288e9e
Update sdist.yml
lithomas1 Sep 30, 2021
a8fcee5
Update v1.4.0.rst
lithomas1 Oct 5, 2021
af883e5
typo
lithomas1 Oct 5, 2021
5c30ced
Update sdist.yml
lithomas1 Oct 5, 2021
cbcee65
Update sdist.yml
lithomas1 Oct 6, 2021
ccb3b86
Merge branch 'pandas-dev:master' into python310-deps-update
lithomas1 Oct 6, 2021
1d5a4b7
Merge branch 'pandas-dev:master' into python310-deps-update
lithomas1 Oct 8, 2021
2f9f466
Update sdist.yml
lithomas1 Oct 9, 2021
33178c4
Update sdist.yml
lithomas1 Oct 11, 2021
58f2d36
Update sdist.yml
lithomas1 Oct 11, 2021
0fb3755
Merge branch 'python310-deps-update' of github.com:lithomas1/pandas i…
lithomas1 Oct 11, 2021
6dcafea
Update sdist.yml
lithomas1 Oct 11, 2021
3abc5a6
Merge branch 'pandas-dev:master' into python310-deps-update
lithomas1 Oct 11, 2021
8cf70dd
Update setup.cfg
lithomas1 Oct 12, 2021
542c5de
move whatsnew
lithomas1 Oct 13, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/actions/build_pandas/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,5 @@ runs:
- name: Build Pandas
run: |
python setup.py build_ext -j 2
python -m pip install -e . --no-build-isolation --no-use-pep517
python -m pip install -e . --no-build-isolation --no-use-pep517 --no-index
shell: bash -l {0}
5 changes: 3 additions & 2 deletions .github/workflows/sdist.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ["3.8", "3.9"]
python-version: ["3.8", "3.9", "3.10"]
concurrency:
group: ${{github.ref}}-${{matrix.python-version}}-sdist
cancel-in-progress: ${{github.event_name == 'pull_request'}}
Expand Down Expand Up @@ -54,10 +54,11 @@ jobs:
with:
activate-environment: pandas-sdist
python-version: ${{ matrix.python-version }}
channels: conda-forge

- name: Install pandas from sdist
run: |
conda list
pip list
python -m pip install dist/*.gz

- name: Import pandas
Expand Down
2 changes: 1 addition & 1 deletion ci/deps/actions-38-db-min.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ dependencies:
- python=3.8

# tools
- cython>=0.29.21
- cython>=0.29.24
- pytest>=6.0
- pytest-cov
- pytest-xdist>=1.31
Expand Down
2 changes: 1 addition & 1 deletion ci/deps/actions-38-db.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ dependencies:
- python=3.8

# tools
- cython>=0.29.21
- cython>=0.29.24
- pytest>=6.0
- pytest-xdist>=1.31
- hypothesis>=5.5.3
Expand Down
2 changes: 1 addition & 1 deletion ci/deps/actions-38-locale.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ dependencies:
- python=3.8

# tools
- cython>=0.29.21
- cython>=0.29.24
- pytest>=6.0
- pytest-cov
- pytest-xdist>=1.31
Expand Down
2 changes: 1 addition & 1 deletion ci/deps/actions-38-locale_slow.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ dependencies:
- python=3.8

# tools
- cython>=0.29.21
- cython>=0.29.24
- pytest>=6.0
- pytest-cov
- pytest-xdist>=1.31
Expand Down
2 changes: 1 addition & 1 deletion ci/deps/actions-38-minimum_versions.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ dependencies:
- python=3.8.0

# tools
- cython=0.29.21
- cython=0.29.24
- pytest>=6.0
- pytest-cov
- pytest-xdist>=1.31
Expand Down
2 changes: 1 addition & 1 deletion ci/deps/actions-38-slow.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ dependencies:
- python=3.8

# tools
- cython>=0.29.21
- cython>=0.29.24
- pytest>=6.0
- pytest-cov
- pytest-xdist>=1.31
Expand Down
2 changes: 1 addition & 1 deletion ci/deps/actions-38.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ dependencies:
- python=3.8

# tools
- cython>=0.29.21
- cython>=0.29.24
- pytest>=6.0
- pytest-cov
- pytest-xdist>=1.31
Expand Down
2 changes: 1 addition & 1 deletion ci/deps/actions-39-numpydev.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ dependencies:
- pytz
- pip
- pip:
- cython==0.29.21 # GH#34014
- cython==0.29.24 # GH#34014
- "--extra-index-url https://pypi.anaconda.org/scipy-wheels-nightly/simple"
- "--pre"
- "numpy"
Expand Down
2 changes: 1 addition & 1 deletion ci/deps/actions-39-slow.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ dependencies:
- python=3.9

# tools
- cython>=0.29.21
- cython>=0.29.24
- pytest>=6.0
- pytest-cov
- pytest-xdist>=1.31
Expand Down
2 changes: 1 addition & 1 deletion ci/deps/actions-39.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ dependencies:
- python=3.9

# tools
- cython>=0.29.21
- cython>=0.29.24
- pytest>=6.0
- pytest-cov
- pytest-xdist>=1.31
Expand Down
2 changes: 1 addition & 1 deletion ci/deps/azure-macos-38.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,6 @@ dependencies:
- xlwt
- pip
- pip:
- cython>=0.29.21
- cython>=0.29.24
- pyreadstat
- pyxlsb
2 changes: 1 addition & 1 deletion ci/deps/azure-windows-38.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ dependencies:
- python=3.8

# tools
- cython>=0.29.21
- cython>=0.29.24
- pytest>=6.0
- pytest-xdist>=1.31
- hypothesis>=5.5.3
Expand Down
2 changes: 1 addition & 1 deletion ci/deps/azure-windows-39.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ dependencies:
- python=3.9

# tools
- cython>=0.29.21
- cython>=0.29.24
- pytest>=6.0
- pytest-xdist>=1.31
- hypothesis>=5.5.3
Expand Down
2 changes: 1 addition & 1 deletion ci/deps/circle-38-arm64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ dependencies:
- python=3.8

# tools
- cython>=0.29.21
- cython>=0.29.24
- pytest>=6.0
- pytest-xdist>=1.31
- hypothesis>=5.5.3
Expand Down
6 changes: 6 additions & 0 deletions doc/source/whatsnew/v1.4.0.rst
Original file line number Diff line number Diff line change
Expand Up @@ -281,6 +281,12 @@ Other API changes
- :meth:`Index.get_indexer_for` no longer accepts keyword arguments (other than 'target'); in the past these would be silently ignored if the index was not unique (:issue:`42310`)
-

.. _whatsnew_140.api_breaking.build:

Build
^^^^^
- The minimum version of Cython needed to compile pandas is now ``0.29.24`` (:issue:`43729`)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is only to work with py310. for older python, previous min of Cython is still ok?

We are backporting this PR? (if so will need to move release note and say that the minimum is for py310 only?)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah i think ok to move to 1.3.4, this is only a build requirement so ok changing (esp for 3.10) on backport

.. ---------------------------------------------------------------------------

.. _whatsnew_140.deprecations:
Expand Down
14 changes: 2 additions & 12 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,8 @@
requires = [
"setuptools>=51.0.0",
"wheel",
"Cython>=0.29.21,<3", # Note: sync with setup.py
# Numpy requirements for different OS/architectures
# Copied from https://github.com/scipy/scipy/blob/master/pyproject.toml (which is also licensed under BSD)
"numpy==1.17.3; python_version=='3.7' and (platform_machine!='arm64' or platform_system!='Darwin') and platform_machine!='aarch64'",
"numpy==1.18.3; python_version=='3.8' and (platform_machine!='arm64' or platform_system!='Darwin') and platform_machine!='aarch64'",
"numpy==1.19.3; python_version>='3.9' and (platform_machine!='arm64' or platform_system!='Darwin')",
# Aarch64(Python 3.9 requirements are the same as AMD64)
"numpy==1.19.2; python_version=='3.7' and platform_machine=='aarch64'",
"numpy==1.19.2; python_version=='3.8' and platform_machine=='aarch64'",
# Darwin Arm64
"numpy>=1.20.0; python_version=='3.8' and platform_machine=='arm64' and platform_system=='Darwin'",
"numpy>=1.20.0; python_version=='3.9' and platform_machine=='arm64' and platform_system=='Darwin'"
"Cython>=0.29.24,<3", # Note: sync with setup.py
"oldest-supported-numpy>=0.10"
]
# uncomment to enable pep517 after versioneer problem is fixed.
# https://github.com/python-versioneer/python-versioneer/issues/193
Expand Down
6 changes: 5 additions & 1 deletion setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ classifiers =
Programming Language :: Python :: 3 :: Only
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
Topic :: Scientific/Engineering
project_urls =
Bug Tracker = https://github.com/pandas-dev/pandas/issues
Expand All @@ -30,7 +31,10 @@ project_urls =
[options]
packages = find:
install_requires =
numpy>=1.18.5
numpy>=1.18.5; platform_machine!='aarch64' and platform_machine!='arm64' and python_version<'3.10'
numpy>=1.19.2; platform_machine=='aarch64'
numpy>=1.20.0; platform_machine=='arm64'
numpy>=1.21.0; python_version=='3.10'
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a reason to list these out? If you are on Python 3.10, there simply won't be a version of Python older than 1.21, if you are on a special arch, same thing; so why limit it here? Also this exact string won't work when Python 3.11 comes along.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the feedback!

The rationale behind listing it out is that I think its still possible for pip to attempt an install from the sdists of older numpys, which could be caused by other projects who pin numpy forcing e.g. numpy < 1.21, which will ultimately result in a compile error for numpy. I'm not too familiar with this stuff so could be wrong here.

Regarding Python 3.11, we'll add a new entry for that when it releases, as I don't expect the 1.21 series to work with it.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd still recommend python_version>='3.10', as that will make testing development versions, etc. easier. Best to never leave these incomplete.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah this is ok for now.

"oldest-supported-numpy>=0.10"

does this have entries here as well?

python-dateutil>=2.8.1
pytz>=2020.1
python_requires = >=3.8
Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ def is_platform_mac():
return sys.platform == "darwin"


min_cython_ver = "0.29.21" # note: sync with pyproject.toml
min_cython_ver = "0.29.24" # note: sync with pyproject.toml

try:
from Cython import (
Expand Down