diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml
index e010c9d4..7e35d99e 100755
--- a/.azure-pipelines/azure-pipelines-linux.yml
+++ b/.azure-pipelines/azure-pipelines-linux.yml
@@ -24,6 +24,50 @@ jobs:
CONFIG: linux_64_numpy1.19python3.9.____cpythonpython_implcpython
UPLOAD_PACKAGES: 'True'
DOCKER_IMAGE: quay.io/condaforge/linux-anvil-comp7
+ linux_64_numpy1.21python3.10.____cpythonpython_implcpython:
+ CONFIG: linux_64_numpy1.21python3.10.____cpythonpython_implcpython
+ UPLOAD_PACKAGES: 'True'
+ DOCKER_IMAGE: quay.io/condaforge/linux-anvil-comp7
+ linux_aarch64_numpy1.18python3.7.____cpythonpython_implcpython:
+ CONFIG: linux_aarch64_numpy1.18python3.7.____cpythonpython_implcpython
+ UPLOAD_PACKAGES: 'True'
+ DOCKER_IMAGE: quay.io/condaforge/linux-anvil-comp7
+ linux_aarch64_numpy1.18python3.8.____cpythonpython_implcpython:
+ CONFIG: linux_aarch64_numpy1.18python3.8.____cpythonpython_implcpython
+ UPLOAD_PACKAGES: 'True'
+ DOCKER_IMAGE: quay.io/condaforge/linux-anvil-comp7
+ linux_aarch64_numpy1.19python3.7.____73_pypypython_implpypy:
+ CONFIG: linux_aarch64_numpy1.19python3.7.____73_pypypython_implpypy
+ UPLOAD_PACKAGES: 'True'
+ DOCKER_IMAGE: quay.io/condaforge/linux-anvil-comp7
+ linux_aarch64_numpy1.19python3.9.____cpythonpython_implcpython:
+ CONFIG: linux_aarch64_numpy1.19python3.9.____cpythonpython_implcpython
+ UPLOAD_PACKAGES: 'True'
+ DOCKER_IMAGE: quay.io/condaforge/linux-anvil-comp7
+ linux_aarch64_numpy1.21python3.10.____cpythonpython_implcpython:
+ CONFIG: linux_aarch64_numpy1.21python3.10.____cpythonpython_implcpython
+ UPLOAD_PACKAGES: 'True'
+ DOCKER_IMAGE: quay.io/condaforge/linux-anvil-comp7
+ linux_ppc64le_numpy1.18python3.7.____cpythonpython_implcpython:
+ CONFIG: linux_ppc64le_numpy1.18python3.7.____cpythonpython_implcpython
+ UPLOAD_PACKAGES: 'True'
+ DOCKER_IMAGE: quay.io/condaforge/linux-anvil-comp7
+ linux_ppc64le_numpy1.18python3.8.____cpythonpython_implcpython:
+ CONFIG: linux_ppc64le_numpy1.18python3.8.____cpythonpython_implcpython
+ UPLOAD_PACKAGES: 'True'
+ DOCKER_IMAGE: quay.io/condaforge/linux-anvil-comp7
+ linux_ppc64le_numpy1.19python3.7.____73_pypypython_implpypy:
+ CONFIG: linux_ppc64le_numpy1.19python3.7.____73_pypypython_implpypy
+ UPLOAD_PACKAGES: 'True'
+ DOCKER_IMAGE: quay.io/condaforge/linux-anvil-comp7
+ linux_ppc64le_numpy1.19python3.9.____cpythonpython_implcpython:
+ CONFIG: linux_ppc64le_numpy1.19python3.9.____cpythonpython_implcpython
+ UPLOAD_PACKAGES: 'True'
+ DOCKER_IMAGE: quay.io/condaforge/linux-anvil-comp7
+ linux_ppc64le_numpy1.21python3.10.____cpythonpython_implcpython:
+ CONFIG: linux_ppc64le_numpy1.21python3.10.____cpythonpython_implcpython
+ UPLOAD_PACKAGES: 'True'
+ DOCKER_IMAGE: quay.io/condaforge/linux-anvil-comp7
timeoutInMinutes: 360
steps:
diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml
index db9e32e6..1faf5896 100755
--- a/.azure-pipelines/azure-pipelines-osx.yml
+++ b/.azure-pipelines/azure-pipelines-osx.yml
@@ -20,11 +20,17 @@ jobs:
osx_64_numpy1.19python3.9.____cpythonpython_implcpython:
CONFIG: osx_64_numpy1.19python3.9.____cpythonpython_implcpython
UPLOAD_PACKAGES: 'True'
- osx_arm64_python3.8.____cpython:
- CONFIG: osx_arm64_python3.8.____cpython
+ osx_64_numpy1.21python3.10.____cpythonpython_implcpython:
+ CONFIG: osx_64_numpy1.21python3.10.____cpythonpython_implcpython
UPLOAD_PACKAGES: 'True'
- osx_arm64_python3.9.____cpython:
- CONFIG: osx_arm64_python3.9.____cpython
+ osx_arm64_numpy1.19python3.8.____cpython:
+ CONFIG: osx_arm64_numpy1.19python3.8.____cpython
+ UPLOAD_PACKAGES: 'True'
+ osx_arm64_numpy1.19python3.9.____cpython:
+ CONFIG: osx_arm64_numpy1.19python3.9.____cpython
+ UPLOAD_PACKAGES: 'True'
+ osx_arm64_numpy1.21python3.10.____cpython:
+ CONFIG: osx_arm64_numpy1.21python3.10.____cpython
UPLOAD_PACKAGES: 'True'
timeoutInMinutes: 360
diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml
index 57814956..8c3f9c69 100755
--- a/.azure-pipelines/azure-pipelines-win.yml
+++ b/.azure-pipelines/azure-pipelines-win.yml
@@ -20,6 +20,9 @@ jobs:
win_64_numpy1.19python3.9.____cpythonpython_implcpython:
CONFIG: win_64_numpy1.19python3.9.____cpythonpython_implcpython
UPLOAD_PACKAGES: 'True'
+ win_64_numpy1.21python3.10.____cpythonpython_implcpython:
+ CONFIG: win_64_numpy1.21python3.10.____cpythonpython_implcpython
+ UPLOAD_PACKAGES: 'True'
timeoutInMinutes: 360
variables:
CONDA_BLD_PATH: D:\\bld\\
diff --git a/.ci_support/linux_64_numpy1.21python3.10.____cpythonpython_implcpython.yaml b/.ci_support/linux_64_numpy1.21python3.10.____cpythonpython_implcpython.yaml
new file mode 100644
index 00000000..5d469ecf
--- /dev/null
+++ b/.ci_support/linux_64_numpy1.21python3.10.____cpythonpython_implcpython.yaml
@@ -0,0 +1,38 @@
+c_compiler:
+- gcc
+c_compiler_version:
+- '9'
+cdt_name:
+- cos6
+channel_sources:
+- conda-forge
+channel_targets:
+- conda-forge main
+cxx_compiler:
+- gxx
+cxx_compiler_version:
+- '9'
+docker_image:
+- quay.io/condaforge/linux-anvil-comp7
+libcblas:
+- 3.8 *netlib
+numpy:
+- '1.21'
+pin_run_as_build:
+ python:
+ min_pin: x.x
+ max_pin: x.x
+python:
+- 3.10.* *_cpython
+python_impl:
+- cpython
+target_platform:
+- linux-64
+zip_keys:
+- - c_compiler_version
+ - cxx_compiler_version
+- - cdt_name
+ - docker_image
+- - python
+ - numpy
+ - python_impl
diff --git a/.ci_support/linux_aarch64_numpy1.18python3.7.____cpythonpython_implcpython.yaml b/.ci_support/linux_aarch64_numpy1.18python3.7.____cpythonpython_implcpython.yaml
index 903912b8..1a924574 100644
--- a/.ci_support/linux_aarch64_numpy1.18python3.7.____cpythonpython_implcpython.yaml
+++ b/.ci_support/linux_aarch64_numpy1.18python3.7.____cpythonpython_implcpython.yaml
@@ -17,7 +17,7 @@ cxx_compiler:
cxx_compiler_version:
- '9'
docker_image:
-- quay.io/condaforge/linux-anvil-aarch64
+- quay.io/condaforge/linux-anvil-comp7
libcblas:
- 3.8 *netlib
numpy:
diff --git a/.ci_support/linux_aarch64_numpy1.18python3.8.____cpythonpython_implcpython.yaml b/.ci_support/linux_aarch64_numpy1.18python3.8.____cpythonpython_implcpython.yaml
index 4ee06f15..10c0405f 100644
--- a/.ci_support/linux_aarch64_numpy1.18python3.8.____cpythonpython_implcpython.yaml
+++ b/.ci_support/linux_aarch64_numpy1.18python3.8.____cpythonpython_implcpython.yaml
@@ -17,7 +17,7 @@ cxx_compiler:
cxx_compiler_version:
- '9'
docker_image:
-- quay.io/condaforge/linux-anvil-aarch64
+- quay.io/condaforge/linux-anvil-comp7
libcblas:
- 3.8 *netlib
numpy:
diff --git a/.ci_support/linux_aarch64_numpy1.19python3.7.____73_pypypython_implpypy.yaml b/.ci_support/linux_aarch64_numpy1.19python3.7.____73_pypypython_implpypy.yaml
index 118fc6ec..8226c9c0 100644
--- a/.ci_support/linux_aarch64_numpy1.19python3.7.____73_pypypython_implpypy.yaml
+++ b/.ci_support/linux_aarch64_numpy1.19python3.7.____73_pypypython_implpypy.yaml
@@ -17,7 +17,7 @@ cxx_compiler:
cxx_compiler_version:
- '9'
docker_image:
-- quay.io/condaforge/linux-anvil-aarch64
+- quay.io/condaforge/linux-anvil-comp7
libcblas:
- 3.8 *netlib
numpy:
diff --git a/.ci_support/linux_aarch64_numpy1.19python3.9.____cpythonpython_implcpython.yaml b/.ci_support/linux_aarch64_numpy1.19python3.9.____cpythonpython_implcpython.yaml
index 7b23a2d8..2e94dcf8 100644
--- a/.ci_support/linux_aarch64_numpy1.19python3.9.____cpythonpython_implcpython.yaml
+++ b/.ci_support/linux_aarch64_numpy1.19python3.9.____cpythonpython_implcpython.yaml
@@ -17,7 +17,7 @@ cxx_compiler:
cxx_compiler_version:
- '9'
docker_image:
-- quay.io/condaforge/linux-anvil-aarch64
+- quay.io/condaforge/linux-anvil-comp7
libcblas:
- 3.8 *netlib
numpy:
diff --git a/.ci_support/linux_aarch64_numpy1.21python3.10.____cpythonpython_implcpython.yaml b/.ci_support/linux_aarch64_numpy1.21python3.10.____cpythonpython_implcpython.yaml
new file mode 100644
index 00000000..8c7d4839
--- /dev/null
+++ b/.ci_support/linux_aarch64_numpy1.21python3.10.____cpythonpython_implcpython.yaml
@@ -0,0 +1,40 @@
+BUILD:
+- aarch64-conda_cos7-linux-gnu
+c_compiler:
+- gcc
+c_compiler_version:
+- '9'
+cdt_arch:
+- aarch64
+cdt_name:
+- cos7
+channel_sources:
+- conda-forge
+channel_targets:
+- conda-forge main
+cxx_compiler:
+- gxx
+cxx_compiler_version:
+- '9'
+docker_image:
+- quay.io/condaforge/linux-anvil-comp7
+libcblas:
+- 3.8 *netlib
+numpy:
+- '1.21'
+pin_run_as_build:
+ python:
+ min_pin: x.x
+ max_pin: x.x
+python:
+- 3.10.* *_cpython
+python_impl:
+- cpython
+target_platform:
+- linux-aarch64
+zip_keys:
+- - c_compiler_version
+ - cxx_compiler_version
+- - python
+ - numpy
+ - python_impl
diff --git a/.ci_support/linux_ppc64le_numpy1.18python3.7.____cpythonpython_implcpython.yaml b/.ci_support/linux_ppc64le_numpy1.18python3.7.____cpythonpython_implcpython.yaml
index 956d50cc..077d541a 100644
--- a/.ci_support/linux_ppc64le_numpy1.18python3.7.____cpythonpython_implcpython.yaml
+++ b/.ci_support/linux_ppc64le_numpy1.18python3.7.____cpythonpython_implcpython.yaml
@@ -13,7 +13,7 @@ cxx_compiler:
cxx_compiler_version:
- '9'
docker_image:
-- quay.io/condaforge/linux-anvil-ppc64le
+- quay.io/condaforge/linux-anvil-comp7
libcblas:
- 3.8 *netlib
numpy:
diff --git a/.ci_support/linux_ppc64le_numpy1.18python3.8.____cpythonpython_implcpython.yaml b/.ci_support/linux_ppc64le_numpy1.18python3.8.____cpythonpython_implcpython.yaml
index 8f8fdf93..7905ae7d 100644
--- a/.ci_support/linux_ppc64le_numpy1.18python3.8.____cpythonpython_implcpython.yaml
+++ b/.ci_support/linux_ppc64le_numpy1.18python3.8.____cpythonpython_implcpython.yaml
@@ -13,7 +13,7 @@ cxx_compiler:
cxx_compiler_version:
- '9'
docker_image:
-- quay.io/condaforge/linux-anvil-ppc64le
+- quay.io/condaforge/linux-anvil-comp7
libcblas:
- 3.8 *netlib
numpy:
diff --git a/.ci_support/linux_ppc64le_numpy1.19python3.7.____73_pypypython_implpypy.yaml b/.ci_support/linux_ppc64le_numpy1.19python3.7.____73_pypypython_implpypy.yaml
index d7ccf6d3..8e89cead 100644
--- a/.ci_support/linux_ppc64le_numpy1.19python3.7.____73_pypypython_implpypy.yaml
+++ b/.ci_support/linux_ppc64le_numpy1.19python3.7.____73_pypypython_implpypy.yaml
@@ -13,7 +13,7 @@ cxx_compiler:
cxx_compiler_version:
- '9'
docker_image:
-- quay.io/condaforge/linux-anvil-ppc64le
+- quay.io/condaforge/linux-anvil-comp7
libcblas:
- 3.8 *netlib
numpy:
diff --git a/.ci_support/linux_ppc64le_numpy1.19python3.9.____cpythonpython_implcpython.yaml b/.ci_support/linux_ppc64le_numpy1.19python3.9.____cpythonpython_implcpython.yaml
index 2ee5ed13..538c2a52 100644
--- a/.ci_support/linux_ppc64le_numpy1.19python3.9.____cpythonpython_implcpython.yaml
+++ b/.ci_support/linux_ppc64le_numpy1.19python3.9.____cpythonpython_implcpython.yaml
@@ -13,7 +13,7 @@ cxx_compiler:
cxx_compiler_version:
- '9'
docker_image:
-- quay.io/condaforge/linux-anvil-ppc64le
+- quay.io/condaforge/linux-anvil-comp7
libcblas:
- 3.8 *netlib
numpy:
diff --git a/.ci_support/linux_ppc64le_numpy1.21python3.10.____cpythonpython_implcpython.yaml b/.ci_support/linux_ppc64le_numpy1.21python3.10.____cpythonpython_implcpython.yaml
new file mode 100644
index 00000000..0fd4a732
--- /dev/null
+++ b/.ci_support/linux_ppc64le_numpy1.21python3.10.____cpythonpython_implcpython.yaml
@@ -0,0 +1,36 @@
+c_compiler:
+- gcc
+c_compiler_version:
+- '9'
+cdt_name:
+- cos7
+channel_sources:
+- conda-forge
+channel_targets:
+- conda-forge main
+cxx_compiler:
+- gxx
+cxx_compiler_version:
+- '9'
+docker_image:
+- quay.io/condaforge/linux-anvil-comp7
+libcblas:
+- 3.8 *netlib
+numpy:
+- '1.21'
+pin_run_as_build:
+ python:
+ min_pin: x.x
+ max_pin: x.x
+python:
+- 3.10.* *_cpython
+python_impl:
+- cpython
+target_platform:
+- linux-ppc64le
+zip_keys:
+- - c_compiler_version
+ - cxx_compiler_version
+- - python
+ - numpy
+ - python_impl
diff --git a/.ci_support/migrations/python310.yaml b/.ci_support/migrations/python310.yaml
new file mode 100644
index 00000000..f61ae7ad
--- /dev/null
+++ b/.ci_support/migrations/python310.yaml
@@ -0,0 +1,33 @@
+migrator_ts: 1634137107
+__migrator:
+ migration_number: 1
+ operation: key_add
+ primary_key: python
+ ordering:
+ python:
+ - 3.6.* *_cpython
+ - 3.7.* *_cpython
+ - 3.8.* *_cpython
+ - 3.9.* *_cpython
+ - 3.10.* *_cpython # new entry
+ - 3.6.* *_73_pypy
+ - 3.7.* *_73_pypy
+ paused: false
+ longterm: True
+ pr_limit: 40
+ exclude:
+ # this shouldn't attempt to modify the python feedstocks
+ - python
+ - pypy3.6
+ - pypy-meta
+ - cross-python
+ - python_abi
+ exclude_pinned_pkgs: false
+
+python:
+ - 3.10.* *_cpython
+# additional entries to add for zip_keys
+numpy:
+ - 1.21
+python_impl:
+ - cpython
diff --git a/.ci_support/osx_64_numpy1.21python3.10.____cpythonpython_implcpython.yaml b/.ci_support/osx_64_numpy1.21python3.10.____cpythonpython_implcpython.yaml
new file mode 100644
index 00000000..6cf5378a
--- /dev/null
+++ b/.ci_support/osx_64_numpy1.21python3.10.____cpythonpython_implcpython.yaml
@@ -0,0 +1,38 @@
+MACOSX_DEPLOYMENT_TARGET:
+- '10.9'
+c_compiler:
+- clang
+c_compiler_version:
+- '11'
+channel_sources:
+- conda-forge
+channel_targets:
+- conda-forge main
+cxx_compiler:
+- clangxx
+cxx_compiler_version:
+- '11'
+libcblas:
+- 3.8 *netlib
+llvm_openmp:
+- '11'
+macos_machine:
+- x86_64-apple-darwin13.4.0
+numpy:
+- '1.21'
+pin_run_as_build:
+ python:
+ min_pin: x.x
+ max_pin: x.x
+python:
+- 3.10.* *_cpython
+python_impl:
+- cpython
+target_platform:
+- osx-64
+zip_keys:
+- - c_compiler_version
+ - cxx_compiler_version
+- - python
+ - numpy
+ - python_impl
diff --git a/.ci_support/osx_arm64_python3.8.____cpython.yaml b/.ci_support/osx_arm64_numpy1.19python3.8.____cpython.yaml
similarity index 100%
rename from .ci_support/osx_arm64_python3.8.____cpython.yaml
rename to .ci_support/osx_arm64_numpy1.19python3.8.____cpython.yaml
diff --git a/.ci_support/osx_arm64_python3.9.____cpython.yaml b/.ci_support/osx_arm64_numpy1.19python3.9.____cpython.yaml
similarity index 100%
rename from .ci_support/osx_arm64_python3.9.____cpython.yaml
rename to .ci_support/osx_arm64_numpy1.19python3.9.____cpython.yaml
diff --git a/.ci_support/osx_arm64_numpy1.21python3.10.____cpython.yaml b/.ci_support/osx_arm64_numpy1.21python3.10.____cpython.yaml
new file mode 100644
index 00000000..4f419f0e
--- /dev/null
+++ b/.ci_support/osx_arm64_numpy1.21python3.10.____cpython.yaml
@@ -0,0 +1,38 @@
+MACOSX_DEPLOYMENT_TARGET:
+- '11.0'
+c_compiler:
+- clang
+c_compiler_version:
+- '11'
+channel_sources:
+- conda-forge
+channel_targets:
+- conda-forge main
+cxx_compiler:
+- clangxx
+cxx_compiler_version:
+- '11'
+libcblas:
+- 3.9 *netlib
+llvm_openmp:
+- '11'
+macos_machine:
+- arm64-apple-darwin20.0.0
+numpy:
+- '1.21'
+pin_run_as_build:
+ python:
+ min_pin: x.x
+ max_pin: x.x
+python:
+- 3.10.* *_cpython
+python_impl:
+- cpython
+target_platform:
+- osx-arm64
+zip_keys:
+- - c_compiler_version
+ - cxx_compiler_version
+- - python
+ - numpy
+ - python_impl
diff --git a/.ci_support/win_64_numpy1.21python3.10.____cpythonpython_implcpython.yaml b/.ci_support/win_64_numpy1.21python3.10.____cpythonpython_implcpython.yaml
new file mode 100644
index 00000000..6715d48b
--- /dev/null
+++ b/.ci_support/win_64_numpy1.21python3.10.____cpythonpython_implcpython.yaml
@@ -0,0 +1,26 @@
+c_compiler:
+- vs2017
+channel_sources:
+- conda-forge
+channel_targets:
+- conda-forge main
+cxx_compiler:
+- vs2017
+libcblas:
+- 3.8 *netlib
+numpy:
+- '1.21'
+pin_run_as_build:
+ python:
+ min_pin: x.x
+ max_pin: x.x
+python:
+- 3.10.* *_cpython
+python_impl:
+- cpython
+target_platform:
+- win-64
+zip_keys:
+- - python
+ - numpy
+ - python_impl
diff --git a/.drone.yml b/.drone.yml
deleted file mode 100644
index 6de80373..00000000
--- a/.drone.yml
+++ /dev/null
@@ -1,128 +0,0 @@
----
-kind: pipeline
-name: linux_aarch64_numpy1.18python3.7.___h1cadc65bfe
-
-platform:
- os: linux
- arch: arm64
-
-steps:
-- name: Install and build
- image: quay.io/condaforge/linux-anvil-aarch64
- environment:
- CONFIG: linux_aarch64_numpy1.18python3.7.____cpythonpython_implcpython
- UPLOAD_PACKAGES: True
- PLATFORM: linux-aarch64
- BINSTAR_TOKEN:
- from_secret: BINSTAR_TOKEN
- FEEDSTOCK_TOKEN:
- from_secret: FEEDSTOCK_TOKEN
- STAGING_BINSTAR_TOKEN:
- from_secret: STAGING_BINSTAR_TOKEN
- commands:
- - export FEEDSTOCK_ROOT="$DRONE_WORKSPACE"
- - export RECIPE_ROOT="$FEEDSTOCK_ROOT/recipe"
- - export CI=drone
- - export GIT_BRANCH="$DRONE_BRANCH"
- - export FEEDSTOCK_NAME=$(basename ${DRONE_REPO_NAME})
- - export IS_PR_BUILD=$(if [[ "$${DRONE_PULL_REQUEST:-}" == "" ]]; then echo "False"; else echo "True"; fi)
- - sed -i '$ichown -R conda:conda "$FEEDSTOCK_ROOT"' /opt/docker/bin/entrypoint
- - /opt/docker/bin/entrypoint $FEEDSTOCK_ROOT/.scripts/build_steps.sh
- - echo "Done building"
-
----
-kind: pipeline
-name: linux_aarch64_numpy1.18python3.8.___ha3ae6cc14c
-
-platform:
- os: linux
- arch: arm64
-
-steps:
-- name: Install and build
- image: quay.io/condaforge/linux-anvil-aarch64
- environment:
- CONFIG: linux_aarch64_numpy1.18python3.8.____cpythonpython_implcpython
- UPLOAD_PACKAGES: True
- PLATFORM: linux-aarch64
- BINSTAR_TOKEN:
- from_secret: BINSTAR_TOKEN
- FEEDSTOCK_TOKEN:
- from_secret: FEEDSTOCK_TOKEN
- STAGING_BINSTAR_TOKEN:
- from_secret: STAGING_BINSTAR_TOKEN
- commands:
- - export FEEDSTOCK_ROOT="$DRONE_WORKSPACE"
- - export RECIPE_ROOT="$FEEDSTOCK_ROOT/recipe"
- - export CI=drone
- - export GIT_BRANCH="$DRONE_BRANCH"
- - export FEEDSTOCK_NAME=$(basename ${DRONE_REPO_NAME})
- - export IS_PR_BUILD=$(if [[ "$${DRONE_PULL_REQUEST:-}" == "" ]]; then echo "False"; else echo "True"; fi)
- - sed -i '$ichown -R conda:conda "$FEEDSTOCK_ROOT"' /opt/docker/bin/entrypoint
- - /opt/docker/bin/entrypoint $FEEDSTOCK_ROOT/.scripts/build_steps.sh
- - echo "Done building"
-
----
-kind: pipeline
-name: linux_aarch64_numpy1.19python3.7.___hdc30312686
-
-platform:
- os: linux
- arch: arm64
-
-steps:
-- name: Install and build
- image: quay.io/condaforge/linux-anvil-aarch64
- environment:
- CONFIG: linux_aarch64_numpy1.19python3.7.____73_pypypython_implpypy
- UPLOAD_PACKAGES: True
- PLATFORM: linux-aarch64
- BINSTAR_TOKEN:
- from_secret: BINSTAR_TOKEN
- FEEDSTOCK_TOKEN:
- from_secret: FEEDSTOCK_TOKEN
- STAGING_BINSTAR_TOKEN:
- from_secret: STAGING_BINSTAR_TOKEN
- commands:
- - export FEEDSTOCK_ROOT="$DRONE_WORKSPACE"
- - export RECIPE_ROOT="$FEEDSTOCK_ROOT/recipe"
- - export CI=drone
- - export GIT_BRANCH="$DRONE_BRANCH"
- - export FEEDSTOCK_NAME=$(basename ${DRONE_REPO_NAME})
- - export IS_PR_BUILD=$(if [[ "$${DRONE_PULL_REQUEST:-}" == "" ]]; then echo "False"; else echo "True"; fi)
- - sed -i '$ichown -R conda:conda "$FEEDSTOCK_ROOT"' /opt/docker/bin/entrypoint
- - /opt/docker/bin/entrypoint $FEEDSTOCK_ROOT/.scripts/build_steps.sh
- - echo "Done building"
-
----
-kind: pipeline
-name: linux_aarch64_numpy1.19python3.9.___hb72e2bb7de
-
-platform:
- os: linux
- arch: arm64
-
-steps:
-- name: Install and build
- image: quay.io/condaforge/linux-anvil-aarch64
- environment:
- CONFIG: linux_aarch64_numpy1.19python3.9.____cpythonpython_implcpython
- UPLOAD_PACKAGES: True
- PLATFORM: linux-aarch64
- BINSTAR_TOKEN:
- from_secret: BINSTAR_TOKEN
- FEEDSTOCK_TOKEN:
- from_secret: FEEDSTOCK_TOKEN
- STAGING_BINSTAR_TOKEN:
- from_secret: STAGING_BINSTAR_TOKEN
- commands:
- - export FEEDSTOCK_ROOT="$DRONE_WORKSPACE"
- - export RECIPE_ROOT="$FEEDSTOCK_ROOT/recipe"
- - export CI=drone
- - export GIT_BRANCH="$DRONE_BRANCH"
- - export FEEDSTOCK_NAME=$(basename ${DRONE_REPO_NAME})
- - export IS_PR_BUILD=$(if [[ "$${DRONE_PULL_REQUEST:-}" == "" ]]; then echo "False"; else echo "True"; fi)
- - sed -i '$ichown -R conda:conda "$FEEDSTOCK_ROOT"' /opt/docker/bin/entrypoint
- - /opt/docker/bin/entrypoint $FEEDSTOCK_ROOT/.scripts/build_steps.sh
- - echo "Done building"
-
diff --git a/.gitattributes b/.gitattributes
index 9060b272..ce52713a 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -18,6 +18,7 @@ bld.bat text eol=crlf
.gitignore linguist-generated=true
.travis.yml linguist-generated=true
.scripts/* linguist-generated=true
+.woodpecker.yml linguist-generated=true
LICENSE.txt linguist-generated=true
README.md linguist-generated=true
azure-pipelines.yml linguist-generated=true
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index f8ea2b62..00000000
--- a/.travis.yml
+++ /dev/null
@@ -1,37 +0,0 @@
-# This file was generated automatically from conda-smithy. To update this configuration,
-# update the conda-forge.yml and/or the recipe/meta.yaml.
-
-language: generic
-
-
-
-matrix:
- include:
- - env: CONFIG=linux_ppc64le_numpy1.18python3.7.____cpythonpython_implcpython UPLOAD_PACKAGES=True PLATFORM=linux-ppc64le DOCKER_IMAGE=quay.io/condaforge/linux-anvil-ppc64le
- os: linux
- arch: ppc64le
- dist: focal
-
- - env: CONFIG=linux_ppc64le_numpy1.18python3.8.____cpythonpython_implcpython UPLOAD_PACKAGES=True PLATFORM=linux-ppc64le DOCKER_IMAGE=quay.io/condaforge/linux-anvil-ppc64le
- os: linux
- arch: ppc64le
- dist: focal
-
- - env: CONFIG=linux_ppc64le_numpy1.19python3.7.____73_pypypython_implpypy UPLOAD_PACKAGES=True PLATFORM=linux-ppc64le DOCKER_IMAGE=quay.io/condaforge/linux-anvil-ppc64le
- os: linux
- arch: ppc64le
- dist: focal
-
- - env: CONFIG=linux_ppc64le_numpy1.19python3.9.____cpythonpython_implcpython UPLOAD_PACKAGES=True PLATFORM=linux-ppc64le DOCKER_IMAGE=quay.io/condaforge/linux-anvil-ppc64le
- os: linux
- arch: ppc64le
- dist: focal
-
-script:
- - export CI=travis
- - export GIT_BRANCH="$TRAVIS_BRANCH"
- - export FEEDSTOCK_NAME=$(basename ${TRAVIS_REPO_SLUG})
- - if [[ "${TRAVIS_PULL_REQUEST:-}" == "false" ]]; then export IS_PR_BUILD="False"; else export IS_PR_BUILD="True"; fi
-
-
- - if [[ ${PLATFORM} =~ .*linux.* ]]; then CONDA_FORGE_DOCKER_RUN_ARGS=--network=host ./.scripts/run_docker_build.sh; fi
\ No newline at end of file
diff --git a/README.md b/README.md
index dc6aa29d..82baff93 100644
--- a/README.md
+++ b/README.md
@@ -9,25 +9,13 @@ Feedstock license: [BSD-3-Clause](https://github.com/conda-forge/scikit-learn-fe
Summary: A set of python modules for machine learning and data mining
+Development: https://github.com/scikit-learn/scikit-learn
+
Current build status
====================
-
- Travis |
-
-
-
-
- |
-
- Drone |
-
-
-
-
- |
-
+
Azure |
@@ -68,6 +56,13 @@ Current build status
+
+ linux_64_numpy1.21python3.10.____cpythonpython_implcpython |
+
+
+
+
+ |
linux_aarch64_numpy1.18python3.7.____cpythonpython_implcpython |
@@ -96,6 +91,13 @@ Current build status
|
+
+ linux_aarch64_numpy1.21python3.10.____cpythonpython_implcpython |
+
+
+
+
+ |
linux_ppc64le_numpy1.18python3.7.____cpythonpython_implcpython |
@@ -124,6 +126,13 @@ Current build status
|
+
+ linux_ppc64le_numpy1.21python3.10.____cpythonpython_implcpython |
+
+
+
+
+ |
osx_64_numpy1.18python3.7.____cpythonpython_implcpython |
@@ -153,17 +162,31 @@ Current build status
|
- osx_arm64_python3.8.____cpython |
+ osx_64_numpy1.21python3.10.____cpythonpython_implcpython |
+
+
+
+
+ |
+
+ osx_arm64_numpy1.19python3.8.____cpython |
+
+
+
+
+ |
+
+ osx_arm64_numpy1.19python3.9.____cpython |
-
+
|
- osx_arm64_python3.9.____cpython |
+ osx_arm64_numpy1.21python3.10.____cpython |
-
+
|
@@ -194,6 +217,13 @@ Current build status
+
+ win_64_numpy1.21python3.10.____cpythonpython_implcpython |
+
+
+
+
+ |
@@ -235,7 +265,8 @@ conda search scikit-learn --channel conda-forge
About conda-forge
=================
-[![Powered by NumFOCUS](https://img.shields.io/badge/powered%20by-NumFOCUS-orange.svg?style=flat&colorA=E1523D&colorB=007D8A)](http://numfocus.org)
+[![Powered by
+NumFOCUS](https://img.shields.io/badge/powered%20by-NumFOCUS-orange.svg?style=flat&colorA=E1523D&colorB=007D8A)](https://numfocus.org)
conda-forge is a community-led conda channel of installable packages.
In order to provide high-quality builds, the process has been automated into the
diff --git a/build-locally.py b/build-locally.py
index f3d4f62f..8b743489 100755
--- a/build-locally.py
+++ b/build-locally.py
@@ -22,6 +22,10 @@ def setup_environment(ns):
os.environ["MINIFORGE_HOME"] = os.path.join(
os.path.dirname(__file__), "miniforge3"
)
+ if "OSX_SDK_DIR" not in os.environ:
+ os.environ["OSX_SDK_DIR"] = os.path.join(
+ os.path.dirname(__file__), "SDKs"
+ )
def run_docker_build(ns):
diff --git a/conda-forge.yml b/conda-forge.yml
index 4e389521..28b89b8e 100644
--- a/conda-forge.yml
+++ b/conda-forge.yml
@@ -1,7 +1,13 @@
-build_platform: {osx_arm64: osx_64}
-conda_forge_output_validation: true
-provider: {linux_aarch64: default, linux_ppc64le: default, win: azure}
-test_on_native_only: true
bot:
abi_migration_branches:
- - "rc"
+ - rc
+build_platform:
+ linux_aarch64: linux_64
+ linux_ppc64le: linux_64
+ osx_arm64: osx_64
+conda_forge_output_validation: true
+provider:
+ linux_aarch64: default
+ linux_ppc64le: default
+ win: azure
+test_on_native_only: true
diff --git a/recipe/meta.yaml b/recipe/meta.yaml
index 904e741e..0e6207e5 100644
--- a/recipe/meta.yaml
+++ b/recipe/meta.yaml
@@ -11,7 +11,7 @@ source:
- patches/0001-ignore-errors-when-tearing-down-modules.patch
build:
- number: 1
+ number: 2
skip: true # [py<37]
script:
- rm $PREFIX/include/cblas.h # [not win]
@@ -53,29 +53,50 @@ requirements:
{% set tests_to_skip = tests_to_skip + " or test_loadings_converges" %}
# Numerically unstable test numerical difference in test
{% set tests_to_skip = tests_to_skip + " or test_mlp_regressor_dtypes_casting" %} # [ppc64le]
-{% if aarch64 and python_impl == "pypy" %}
- # skip longest-running tests on azure for pypy build times out otherwise;
- # since pytest -k skips on string matches, try to match accurately to avoid
- # skipping more than intended; all run >40sec, up to 4+ min, see pypy-on-arch-slowest.txt
- {% set tests_to_skip = tests_to_skip + " or (test_voting and test_gridsearch) or test_check_estimator_clones"
- + " or (test_bagging and (test_regression or test_classification))"
- + " or (check_estimator_sparse_data and (Sequential or TSNE or RFECV))"
- + " or (test_ensemble_heterogeneous_estimators_behavior and stacking)"
- + " or test_rfe_cv_groups or test_nan_support"
- + " or (test_tsne_different_square_distances and exact)"
- + " or test_linear_models_cv_fit_for_all_backends[MultiTaskLassoCV-loky]"
- + " or (test_forest and test_class_weights[RandomForestClassifier])"
- + " or test_kde_sample_weights or test_uniform_grid[exact]"
- + " or test_parallel_classification or test_sparse_coder_parallel_mmap"
- + " or test_sparse_precomputed_distance or test_n_iter_no_change_inf"
- + " or test_sample_without_replacement_algorithms" %}
-{% endif %}
-{% if ppc64le and python_impl == "pypy" %}
- # WARNING:
- # On Travis, the pypy build is timing out and we need to skip all tests
- # Then, we only test the docstring
- {% set tests_to_skip = tests_to_skip + " or test" %}
- {% set extra_pytest_args = "--doctest-modules" %}
+{% if aarch64 and CI %}
+ # due to emulation through QEMU, the tests for aarch run very long;
+ # azure has different linux agents, and the weaker ones can be a factor 2 slower;
+ # skip longest-running ones; all run >60sec (on fast agents) resp. >90sec (on slow agents);
+ # since pytest -k skips on string matches, try to match accurately to avoid skipping more than intended
+ {% set tests_to_skip = tests_to_skip + " or (test_quantile and (test_asymmetric_error
+ or test_quantile_estimates_calibration or test_quantile_sample_weight))"
+ + " or test_kernel_pca_solvers_equivalence or test_n_iter_no_change_inf"
+ + " or test_iterative_imputer_no_missing or (test_voting and test_gridsearch)"
+ + " or test_svc_ovr_tie_breaking or test_check_estimator_clones"
+ + " or (test_estimators and QuantileRegressor)"
+ + " or (test_pairwise and test_cosine_distances)"
+ + " or test_randomized_eigsh_reconst_low_rank"
+ + " or test_randomized_svd_power_iteration_normalizer"
+ + " or test_SGDClassifier_fit_for_all_backends"
+ + " or test_classifier_chain_fit_and_predict_with_linear_svc"
+ + " or (test_gradient_boosting and test_poisson)"
+ + " or (test_ridge and test_lbfgs_solver_consistency)"
+ + " or (test_linear_models_cv_fit_for_all_backends and MultiTask)"
+ + " or test_spectral_embedding_callable_affinity"
+ + " or test_spectral_embedding_precomputed_affinity" %}
+ # this problem is exacerbated for PyPy; skip some more tests there
+ {% if python_impl == "pypy" %}
+ {% set tests_to_skip = tests_to_skip + " or (test_bagging and (test_regression or test_classification))"
+ + " or (check_estimator_sparse_data and (Sequential or TSNE or RFECV))"
+ + " or (test_ensemble_heterogeneous_estimators_behavior and stacking)"
+ + " or test_rfe_cv_groups or test_nan_support"
+ + " or (test_tsne_different_square_distances and exact)"
+ + " or (test_forest and test_class_weights[RandomForestClassifier])"
+ + " or test_kde_sample_weights or test_uniform_grid[exact]"
+ + " or test_parallel_classification or test_sparse_coder_parallel_mmap"
+ + " or test_sparse_precomputed_distance or test_n_iter_no_change_inf"
+ + " or test_randomized_eigsh_compared_to_others"
+ + " or (test_quantile and test_equivariance)"
+ + " or (test_estimators and GaussianProcessClassifier)"
+ + " or (test_stacking_with_sample_weight and StackingClassifier)"
+ + " or (test_mlp and test_partial_fit_classification)"
+ + " or (test_tree and test_min_impurity_decrease)"
+ + " or test_scores_attribute_layout_elasticnet"
+ + " or (test_warning_default_transform_alpha and MiniBatch)"
+ + " or (test_tsne_different_square_distances and barnes_hut)"
+ + " or (test_kernel_approximation and test_polynomial_count_sketch)"
+ + " or test_sample_without_replacement_algorithms" %}
+ {% endif %}
{% endif %}
test:
@@ -87,18 +108,19 @@ test:
imports:
- sklearn
commands:
- # Some tests take alot of memory, and seem to cause segfaults when memory runs out
- {% set cpus = 2 if ppc64le else (8 if aarch64 else CPU_COUNT) %}
# reduce contention for parallelism (xdist-workers, openblas, openmp) that
- # actually increases the runtime and can lead to timeouts on drone/travis
+ # actually increases the runtime and can lead to timeouts
- export OMP_NUM_THREADS=1 # [aarch64 or ppc64le]
- - pytest --pyargs sklearn -k "not ({{ tests_to_skip }})" -n {{ cpus }} --durations=50 {{ extra_pytest_args }}
+ - pytest --pyargs sklearn -k "not ({{ tests_to_skip }})" -nauto --timeout=1200 --durations=50 # [not ppc64le]
+ # NOTE: test suite is skipped on ppc due to bugs in QEMU code that cause
+ # CI to fail, even though the tests should run through on native hardware
about:
home: http://scikit-learn.org/
license: BSD-3-Clause
license_file: COPYING
summary: A set of python modules for machine learning and data mining
+ dev_url: https://github.com/scikit-learn/scikit-learn
extra:
recipe-maintainers:
diff --git a/recipe/pypy-on-aarch-slowest.txt b/recipe/pypy-on-aarch-slowest.txt
deleted file mode 100644
index 3951ee26..00000000
--- a/recipe/pypy-on-aarch-slowest.txt
+++ /dev/null
@@ -1,28 +0,0 @@
-# Aggregated across several runs with different skips (because the full test suite timed out)
-# August 2021, scikit-learn v0.24.2, PyPy 7.3.5 on aarch64
-============================= slowest X durations =============================
-253.79s call ensemble/tests/test_voting.py::test_gridsearch
-138.25s call ensemble/tests/test_bagging.py::test_classification
-135.25s call utils/tests/test_estimator_checks.py::test_check_estimator_clones
-106.52s call tests/test_common.py::test_estimators[SequentialFeatureSelector(estimator=LogisticRegression(C=1))-check_estimator_sparse_data]
-101.77s call ensemble/tests/test_common.py::test_ensemble_heterogeneous_estimators_behavior[stacking-classifier]
-95.01s call ensemble/tests/test_common.py::test_ensemble_heterogeneous_estimators_behavior[stacking-regressor]
-76.04s call feature_selection/tests/test_rfe.py::test_rfe_cv_groups
-72.23s call tests/test_common.py::test_estimators[TSNE()-check_estimator_sparse_data]
-64.21s call manifold/tests/test_t_sne.py::test_tsne_different_square_distances[True-manhattan-exact]
-64.08s call manifold/tests/test_t_sne.py::test_tsne_different_square_distances[legacy-euclidean-exact]
-63.84s call manifold/tests/test_t_sne.py::test_tsne_different_square_distances[True-euclidean-exact]
-63.24s call manifold/tests/test_t_sne.py::test_tsne_different_square_distances[legacy-manhattan-exact]
-61.57s call linear_model/tests/test_coordinate_descent.py::test_linear_models_cv_fit_for_all_backends[MultiTaskLassoCV-loky]
-59.26s call ensemble/tests/test_bagging.py::test_regression
-52.94s call ensemble/tests/test_forest.py::test_class_weights[RandomForestClassifier]
-52.75s call feature_selection/tests/test_sequential.py::test_nan_support
-52.38s call neighbors/tests/test_kde.py::test_kde_sample_weights
-47.97s call manifold/tests/test_t_sne.py::test_uniform_grid[exact]
-47.28s call utils/tests/test_estimator_checks.py::test_check_estimator
-45.71s call ensemble/tests/test_bagging.py::test_parallel_classification
-44.37s call decomposition/tests/test_dict_learning.py::test_sparse_coder_parallel_mmap
-42.23s call manifold/tests/test_t_sne.py::test_sparse_precomputed_distance
-40.57s call neural_network/tests/test_mlp.py::test_n_iter_no_change_inf
-40.38s call utils/tests/test_random.py::test_sample_without_replacement_algorithms
-39.31s call tests/test_common.py::test_estimators[RFECV(estimator=LogisticRegression(C=1))-check_estimator_sparse_data]