diff --git a/build_tools/azure/py38_conda_defaults_openblas_environment.yml b/build_tools/azure/py38_conda_defaults_openblas_environment.yml index b84fab29dda90..24caf7f564aae 100644 --- a/build_tools/azure/py38_conda_defaults_openblas_environment.yml +++ b/build_tools/azure/py38_conda_defaults_openblas_environment.yml @@ -8,7 +8,6 @@ dependencies: - numpy=1.17.3 # min - blas[build=openblas] - scipy=1.3.2 # min - - cython - joblib - threadpoolctl=2.2.0 - matplotlib=3.1.3 # min @@ -21,3 +20,6 @@ dependencies: - pytest-cov - coverage=6.2 - ccache + - pip + - pip: + - cython diff --git a/build_tools/azure/py38_conda_defaults_openblas_linux-64_conda.lock b/build_tools/azure/py38_conda_defaults_openblas_linux-64_conda.lock index 3786b2933d3ac..9e6179c378343 100644 --- a/build_tools/azure/py38_conda_defaults_openblas_linux-64_conda.lock +++ b/build_tools/azure/py38_conda_defaults_openblas_linux-64_conda.lock @@ -1,6 +1,6 @@ # Generated by conda-lock. # platform: linux-64 -# input_hash: b8a0f3bd13671606365ba6bf6380fcc64a1188ae76d1d0999dda4e26371e7742 +# input_hash: 1863117ea2056e97dc2c1fbe9911947e624810721a98e00f07cebe4547d44b3f @EXPLICIT https://repo.anaconda.com/pkgs/main/linux-64/_libgcc_mutex-0.1-main.conda#c3473ff8bdb3d124ed5ff11ec380d6f9 https://repo.anaconda.com/pkgs/main/linux-64/blas-1.0-openblas.conda#9ddfcaef10d79366c90128f5dc444be8 @@ -61,7 +61,6 @@ https://repo.anaconda.com/pkgs/main/linux-64/certifi-2022.12.7-py38h06a4308_0.co https://repo.anaconda.com/pkgs/main/noarch/charset-normalizer-2.0.4-pyhd3eb1b0_0.conda#e7a441d94234b2b5fafee06e25dbf076 https://repo.anaconda.com/pkgs/main/linux-64/coverage-6.2-py38h7f8727e_0.conda#34a3006ca7d8d286b63593b31b845ace https://repo.anaconda.com/pkgs/main/noarch/cycler-0.11.0-pyhd3eb1b0_0.conda#f5e365d2cdb66d547eb8c3ab93843aab -https://repo.anaconda.com/pkgs/main/linux-64/cython-0.29.32-py38h6a678d5_0.conda#81e586e2923e84782265d5e34b2c7189 https://repo.anaconda.com/pkgs/main/noarch/execnet-1.9.0-pyhd3eb1b0_0.conda#f895937671af67cebb8af617494b3513 https://repo.anaconda.com/pkgs/main/linux-64/idna-3.4-py38h06a4308_0.conda#e1c05a7fa231e08f357d92702689cbdd https://repo.anaconda.com/pkgs/main/noarch/iniconfig-1.1.1-pyhd3eb1b0_0.tar.bz2#e40edff2c5708f342cef43c7f280c507 @@ -109,3 +108,4 @@ https://repo.anaconda.com/pkgs/main/linux-64/matplotlib-3.1.3-py38_0.conda#70d5f https://repo.anaconda.com/pkgs/main/linux-64/urllib3-1.26.13-py38h06a4308_0.conda#74608767d976ca14529b126842ffb685 https://repo.anaconda.com/pkgs/main/linux-64/requests-2.28.1-py38h06a4308_0.conda#04d482ea4a1e190d688dee2e4048e49f https://repo.anaconda.com/pkgs/main/noarch/codecov-2.1.11-pyhd3eb1b0_0.conda#83a743cc928162d53d4066c43468b2c7 +# pip cython @ https://files.pythonhosted.org/packages/4c/59/3702d649aeb0fef4dac55036279d3981130cc7024ea2492753f66fb622dd/Cython-0.29.33-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl#sha256=b5e8ce3039ff64000d58cd45b3f6f83e13f032dde7f27bb1ab96070d9213550b diff --git a/build_tools/azure/pylatest_conda_mkl_no_openmp_environment.yml b/build_tools/azure/pylatest_conda_mkl_no_openmp_environment.yml index 93bb7769f4473..7c8d5eacce147 100644 --- a/build_tools/azure/pylatest_conda_mkl_no_openmp_environment.yml +++ b/build_tools/azure/pylatest_conda_mkl_no_openmp_environment.yml @@ -8,7 +8,6 @@ dependencies: - numpy=1.22 - blas[build=mkl] - scipy - - cython - joblib - threadpoolctl - matplotlib @@ -21,3 +20,6 @@ dependencies: - pytest-cov - coverage=6.2 - ccache + - pip + - pip: + - cython diff --git a/build_tools/azure/pylatest_conda_mkl_no_openmp_osx-64_conda.lock b/build_tools/azure/pylatest_conda_mkl_no_openmp_osx-64_conda.lock index 67b12c284172f..ca0232cf3197d 100644 --- a/build_tools/azure/pylatest_conda_mkl_no_openmp_osx-64_conda.lock +++ b/build_tools/azure/pylatest_conda_mkl_no_openmp_osx-64_conda.lock @@ -1,6 +1,6 @@ # Generated by conda-lock. # platform: osx-64 -# input_hash: 63f973e661f241c8cb9b0feab317eeb8fa0c7aeec7b48a6c069aedc821b80c44 +# input_hash: 211dc0aa2fa7562dd69a06e538952166b6595d4ba2e4d2c8351253db0e501950 @EXPLICIT https://repo.anaconda.com/pkgs/main/osx-64/blas-1.0-mkl.conda#cb2c87e85ac8e0ceae776d26d4214c8a https://repo.anaconda.com/pkgs/main/osx-64/ca-certificates-2022.10.11-hecd8cb5_0.conda#47d4ae6c764c72394363ca6daa50e6d0 @@ -42,7 +42,6 @@ https://repo.anaconda.com/pkgs/main/osx-64/certifi-2022.12.7-py39hecd8cb5_0.cond https://repo.anaconda.com/pkgs/main/noarch/charset-normalizer-2.0.4-pyhd3eb1b0_0.conda#e7a441d94234b2b5fafee06e25dbf076 https://repo.anaconda.com/pkgs/main/osx-64/coverage-6.2-py39hca72f7f_0.conda#55962a70ebebc8de15c4e1d745b20cdd https://repo.anaconda.com/pkgs/main/noarch/cycler-0.11.0-pyhd3eb1b0_0.conda#f5e365d2cdb66d547eb8c3ab93843aab -https://repo.anaconda.com/pkgs/main/osx-64/cython-0.29.32-py39he9d5cce_0.conda#e5d7d7620ab25447bc81dc91af7c57e0 https://repo.anaconda.com/pkgs/main/noarch/execnet-1.9.0-pyhd3eb1b0_0.conda#f895937671af67cebb8af617494b3513 https://repo.anaconda.com/pkgs/main/osx-64/idna-3.4-py39hecd8cb5_0.conda#60fb473352c9fe43b690d7b0b40cd47b https://repo.anaconda.com/pkgs/main/noarch/iniconfig-1.1.1-pyhd3eb1b0_0.tar.bz2#e40edff2c5708f342cef43c7f280c507 @@ -93,3 +92,4 @@ https://repo.anaconda.com/pkgs/main/osx-64/numexpr-2.8.4-py39he696674_0.conda#97 https://repo.anaconda.com/pkgs/main/osx-64/scipy-1.9.3-py39h3d31255_0.conda#c2917042394d646f4a2ca22e0b665a06 https://repo.anaconda.com/pkgs/main/osx-64/pandas-1.5.2-py39h07fba90_0.conda#ff5c1d08cf4022f6b58ef4f53ba768d1 https://repo.anaconda.com/pkgs/main/osx-64/pyamg-4.2.3-py39hc29d2bd_0.conda#728a52ac4cc423a4895158c08b95bedf +# pip cython @ https://files.pythonhosted.org/packages/56/3a/e59db3769dee48409c759a88b62cd605324e05d396e10af0a065adc956ad/Cython-0.29.33-py2.py3-none-any.whl#sha256=8b99252bde8ff51cd06a3fe4aeacd3af9b4ff4a4e6b701ac71bddc54f5da61d6 diff --git a/build_tools/github/doc_min_dependencies_environment.yml b/build_tools/github/doc_min_dependencies_environment.yml index 7b0ba5983304d..4667fb1fa74cc 100644 --- a/build_tools/github/doc_min_dependencies_environment.yml +++ b/build_tools/github/doc_min_dependencies_environment.yml @@ -8,7 +8,7 @@ dependencies: - numpy=1.17.3 # min - blas - scipy=1.3.2 # min - - cython=0.29.24 # min + - cython=0.29.33 # min - joblib - threadpoolctl - matplotlib=3.1.3 # min diff --git a/build_tools/github/doc_min_dependencies_linux-64_conda.lock b/build_tools/github/doc_min_dependencies_linux-64_conda.lock index 09bc0ce81a0c4..8333762deaeb2 100644 --- a/build_tools/github/doc_min_dependencies_linux-64_conda.lock +++ b/build_tools/github/doc_min_dependencies_linux-64_conda.lock @@ -1,6 +1,6 @@ # Generated by conda-lock. # platform: linux-64 -# input_hash: 980f5bade7f2b6355391f184da81979ecdbbc22d74d1c965c7bed1921e988107 +# input_hash: 238bbbc8d5b6c170ef44d61c232d9b6255fb0379c58a2ede8e0cfc8f3eeb6b29 @EXPLICIT https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2#d7c89558ba9fa0495403155b64376d81 https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2022.12.7-ha878542_0.conda#ff9f73d45c4a07d6f424495288a26080 @@ -82,7 +82,7 @@ https://conda.anaconda.org/conda-forge/noarch/cloudpickle-2.2.0-pyhd8ed1ab_0.tar https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_0.tar.bz2#3faab06a954c2a04039983f2c4a50d99 https://conda.anaconda.org/conda-forge/linux-64/compilers-1.1.1-0.tar.bz2#1ba267e19dbaf3db9dd0404e6fb9cdb9 https://conda.anaconda.org/conda-forge/noarch/cycler-0.11.0-pyhd8ed1ab_0.tar.bz2#a50559fad0affdbb33729a68669ca1cb -https://conda.anaconda.org/conda-forge/linux-64/cython-0.29.24-py38h709712a_1.tar.bz2#9e5fe389471a13ae523ae980de4ad1f4 +https://conda.anaconda.org/conda-forge/linux-64/cython-0.29.33-py38h8dc9893_0.conda#5d50cd654981f0ccc7c878ac297afaa7 https://conda.anaconda.org/conda-forge/linux-64/docutils-0.17.1-py38h578d9bd_3.tar.bz2#34e1f12e3ed15aff218644e9d865b722 https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.1.0-pyhd8ed1ab_0.conda#a385c3e8968b4cf8fbc426ace915fd1a https://conda.anaconda.org/conda-forge/noarch/execnet-1.9.0-pyhd8ed1ab_0.tar.bz2#0e521f7a5e60d508b121d38b04874fb2 diff --git a/build_tools/update_environments_and_lock_files.py b/build_tools/update_environments_and_lock_files.py index 856ec8d7e6fd4..545483c79868b 100644 --- a/build_tools/update_environments_and_lock_files.py +++ b/build_tools/update_environments_and_lock_files.py @@ -110,7 +110,12 @@ def remove_from(alist, to_remove): "folder": "build_tools/azure", "platform": "osx-64", "channel": "defaults", - "conda_dependencies": common_dependencies + ["ccache"], + # TODO work-around to get cython>=0.29.33 via PyPi until it is in conda defaults + # See: https://github.com/ContinuumIO/anaconda-issues/issues/13120 + "conda_dependencies": remove_from(common_dependencies, ["cython"]) + ["ccache"], + # TODO work-around to get cython>=0.29.33 via PyPi until it is in conda defaults + # See: https://github.com/ContinuumIO/anaconda-issues/issues/13120 + "pip_dependencies": ["cython"], "package_constraints": { "blas": "[build=mkl]", # 2022-06-09 currently mamba install 1.23 and scipy 1.7 which @@ -142,7 +147,12 @@ def remove_from(alist, to_remove): "folder": "build_tools/azure", "platform": "linux-64", "channel": "defaults", - "conda_dependencies": common_dependencies + ["ccache"], + # TODO work-around to get cython>=0.29.33 via PyPi until it is in conda defaults + # See: https://github.com/ContinuumIO/anaconda-issues/issues/13120 + "conda_dependencies": remove_from(common_dependencies, ["cython"]) + ["ccache"], + # TODO work-around to get cython>=0.29.33 via PyPi until it is in conda defaults + # See: https://github.com/ContinuumIO/anaconda-issues/issues/13120 + "pip_dependencies": ["cython"], "package_constraints": { "python": "3.8", "blas": "[build=openblas]", diff --git a/pyproject.toml b/pyproject.toml index 92ed0f0564eee..ec79ca21fc63a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -3,7 +3,7 @@ requires = [ "setuptools<60.0", "wheel", - "Cython>=0.29.24", + "Cython>=0.29.33", # use oldest-supported-numpy which provides the oldest numpy version with # wheels on PyPI diff --git a/sklearn/_min_dependencies.py b/sklearn/_min_dependencies.py index d857318686210..b06c7fb47afb4 100644 --- a/sklearn/_min_dependencies.py +++ b/sklearn/_min_dependencies.py @@ -18,7 +18,7 @@ JOBLIB_MIN_VERSION = "1.1.1" THREADPOOLCTL_MIN_VERSION = "2.0.0" PYTEST_MIN_VERSION = "5.3.1" -CYTHON_MIN_VERSION = "0.29.24" +CYTHON_MIN_VERSION = "0.29.33" # 'build' and 'install' is included to have structured metadata for CI.