From a595ffc96edae6ec6b34ddfb6fa25893159a58ca Mon Sep 17 00:00:00 2001 From: Benjamin Bertrand Date: Mon, 27 Apr 2026 11:37:06 +0200 Subject: [PATCH 1/8] Convert to v1 feedstock and use pixi as conda install tool --- conda-forge.yml | 2 ++ recipe/meta.yaml | 64 ----------------------------------------- recipe/recipe.yaml | 72 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 74 insertions(+), 64 deletions(-) delete mode 100644 recipe/meta.yaml create mode 100644 recipe/recipe.yaml diff --git a/conda-forge.yml b/conda-forge.yml index e30df6f..bd801c2 100644 --- a/conda-forge.yml +++ b/conda-forge.yml @@ -4,3 +4,5 @@ github: conda_build: error_overlinking: true conda_forge_output_validation: true +conda_install_tool: pixi +conda_build_tool: rattler-build diff --git a/recipe/meta.yaml b/recipe/meta.yaml deleted file mode 100644 index 76c4cde..0000000 --- a/recipe/meta.yaml +++ /dev/null @@ -1,64 +0,0 @@ -{% set name = "plotpy" %} -{% set version = "2.9.0" %} - -package: - name: {{ name|lower }} - version: {{ version }} - -source: - url: https://pypi.org/packages/source/{{ name[0] }}/{{ name }}/plotpy-{{ version }}.tar.gz - sha256: 1746c796c5484447d133f0459c6bd9a1c7324cd1910d7f1356b19d188c6d6725 - -build: - skip: true # [py>=400 or py2k] - script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation - number: 0 - -requirements: - build: - - {{ compiler('c') }} - - {{ compiler('cxx') }} - - {{ stdlib("c") }} - host: - - python - - setuptools - - wheel - - numpy >=2.0 - - cython >=3.0 - - pip - run: - - python - - {{ pin_compatible('numpy') }} - - guidata >=3.14.1 - - pythonqwt >=0.15 - - scipy >=1.7.3 - - scikit-image >=0.19 - - pillow - - tifffile - - pyqt - -test: - imports: - - plotpy - commands: - - pip check - - set QT_QPA_PLATFORM=offscreen && pytest --collect-only --pyargs plotpy.tests # [win] - - QT_QPA_PLATFORM=offscreen pytest --collect-only --pyargs plotpy.tests # [not win] - requires: - - pip - - pytest - - pytest-xvfb # [linux] - -about: - summary: Curve and image plotting tools for Python/Qt applications - description: | - PlotPy is is a Python library providing efficient 2D data-plotting features for interactive computing and signal/image processing application development. - It is part of the PlotPyStack project, aiming at providing a unified framework for creating scientific GUIs with Python and Qt. - home: https://github.com/PlotPyStack/PlotPy - doc_url: https://plotpy.readthedocs.io/ - license: BSD-3-Clause - license_file: LICENSE - -extra: - recipe-maintainers: - - PierreRaybaut diff --git a/recipe/recipe.yaml b/recipe/recipe.yaml new file mode 100644 index 0000000..f8f41dc --- /dev/null +++ b/recipe/recipe.yaml @@ -0,0 +1,72 @@ +schema_version: 1 + +context: + name: plotpy + version: "2.9.0" + +package: + name: ${{ name|lower }} + version: ${{ version }} + +source: + url: https://pypi.org/packages/source/${{ name[0] }}/${{ name }}/plotpy-${{ version }}.tar.gz + sha256: 1746c796c5484447d133f0459c6bd9a1c7324cd1910d7f1356b19d188c6d6725 + +build: + number: 1 + skip: py>=400 or match(python, ">=2,<3") + script: ${{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + +requirements: + build: + - ${{ compiler('c') }} + - ${{ compiler('cxx') }} + - ${{ stdlib("c") }} + host: + - python + - setuptools + - wheel + - numpy >=2.0 + - cython >=3.0 + - pip + run: + - python + - ${{ pin_compatible('numpy') }} + - guidata >=3.14.1 + - pythonqwt >=0.15 + - scipy >=1.7.3 + - scikit-image >=0.19 + - pillow + - tifffile + - pyqt + +tests: + - python: + imports: + - plotpy + pip_check: true + - requirements: + run: + - pip + - pytest + - if: linux + then: pytest-xvfb + script: + - if: win + then: set QT_QPA_PLATFORM=offscreen && pytest --collect-only --pyargs plotpy.tests + - if: not win + then: QT_QPA_PLATFORM=offscreen pytest --collect-only --pyargs plotpy.tests + +about: + summary: Curve and image plotting tools for Python/Qt applications + description: | + PlotPy is is a Python library providing efficient 2D data-plotting features for interactive computing and signal/image processing application development. + It is part of the PlotPyStack project, aiming at providing a unified framework for creating scientific GUIs with Python and Qt. + license: BSD-3-Clause + license_file: LICENSE + homepage: https://github.com/PlotPyStack/PlotPy + documentation: https://plotpy.readthedocs.io/ + +extra: + recipe-maintainers: + - PierreRaybaut From 8a968715c3cc1e3bc16cf68069922c5ab33b3041 Mon Sep 17 00:00:00 2001 From: Benjamin Bertrand Date: Mon, 27 Apr 2026 11:37:09 +0200 Subject: [PATCH 2/8] MNT: Re-rendered with conda-smithy 3.61.2 and conda-forge-pinning 2026.04.25.10.12.57 Other tools: - conda-build 26.3.0 - rattler-build 0.63.0 - rattler-build-conda-compat 1.4.14 --- .azure-pipelines/azure-pipelines-osx.yml | 5 + .azure-pipelines/azure-pipelines-win.yml | 5 + .../linux_64_python3.10.____cpython.yaml | 2 - .../linux_64_python3.11.____cpython.yaml | 2 - .../linux_64_python3.12.____cpython.yaml | 2 - .../linux_64_python3.13.____cp313.yaml | 2 - .../linux_64_python3.14.____cp314.yaml | 2 - .../osx_64_python3.10.____cpython.yaml | 2 - .../osx_64_python3.11.____cpython.yaml | 2 - .../osx_64_python3.12.____cpython.yaml | 2 - .ci_support/osx_64_python3.13.____cp313.yaml | 2 - .ci_support/osx_64_python3.14.____cp314.yaml | 2 - .../win_64_python3.10.____cpython.yaml | 2 - .../win_64_python3.11.____cpython.yaml | 2 - .../win_64_python3.12.____cpython.yaml | 2 - .ci_support/win_64_python3.13.____cp313.yaml | 2 - .ci_support/win_64_python3.14.____cp314.yaml | 2 - .github/workflows/conda-build.yml | 7 +- .gitignore | 1 + .scripts/build_steps.sh | 40 +++--- .scripts/run_osx_build.sh | 62 +++----- .scripts/run_win_build.bat | 59 +++++--- README.md | 1 - pixi.toml | 136 ++++++++++++++++++ 24 files changed, 233 insertions(+), 113 deletions(-) create mode 100644 pixi.toml diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml index e5f9736..ac9ec95 100755 --- a/.azure-pipelines/azure-pipelines-osx.yml +++ b/.azure-pipelines/azure-pipelines-osx.yml @@ -12,22 +12,27 @@ jobs: CONFIG: osx_64_python3.10.____cpython UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_64_python3.11.____cpython: CONFIG: osx_64_python3.11.____cpython UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_64_python3.12.____cpython: CONFIG: osx_64_python3.12.____cpython UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_64_python3.13.____cp313: CONFIG: osx_64_python3.13.____cp313 UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false osx_64_python3.14.____cp314: CONFIG: osx_64_python3.14.____cp314 UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + store_build_artifacts: false timeoutInMinutes: 360 variables: {} diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml index 2adcb90..0a281de 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -11,18 +11,23 @@ jobs: win_64_python3.10.____cpython: CONFIG: win_64_python3.10.____cpython UPLOAD_PACKAGES: 'True' + store_build_artifacts: false win_64_python3.11.____cpython: CONFIG: win_64_python3.11.____cpython UPLOAD_PACKAGES: 'True' + store_build_artifacts: false win_64_python3.12.____cpython: CONFIG: win_64_python3.12.____cpython UPLOAD_PACKAGES: 'True' + store_build_artifacts: false win_64_python3.13.____cp313: CONFIG: win_64_python3.13.____cp313 UPLOAD_PACKAGES: 'True' + store_build_artifacts: false win_64_python3.14.____cp314: CONFIG: win_64_python3.14.____cp314 UPLOAD_PACKAGES: 'True' + store_build_artifacts: false timeoutInMinutes: 360 variables: CONDA_BLD_PATH: D:\\bld\\ diff --git a/.ci_support/linux_64_python3.10.____cpython.yaml b/.ci_support/linux_64_python3.10.____cpython.yaml index 05046f6..78b5715 100644 --- a/.ci_support/linux_64_python3.10.____cpython.yaml +++ b/.ci_support/linux_64_python3.10.____cpython.yaml @@ -16,8 +16,6 @@ cxx_compiler_version: - '14' docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 -numpy: -- '2' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/linux_64_python3.11.____cpython.yaml b/.ci_support/linux_64_python3.11.____cpython.yaml index ca5349a..4f09778 100644 --- a/.ci_support/linux_64_python3.11.____cpython.yaml +++ b/.ci_support/linux_64_python3.11.____cpython.yaml @@ -16,8 +16,6 @@ cxx_compiler_version: - '14' docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 -numpy: -- '2' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/linux_64_python3.12.____cpython.yaml b/.ci_support/linux_64_python3.12.____cpython.yaml index 3328a6a..78ddb1b 100644 --- a/.ci_support/linux_64_python3.12.____cpython.yaml +++ b/.ci_support/linux_64_python3.12.____cpython.yaml @@ -16,8 +16,6 @@ cxx_compiler_version: - '14' docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 -numpy: -- '2' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/linux_64_python3.13.____cp313.yaml b/.ci_support/linux_64_python3.13.____cp313.yaml index 487ae61..eaf5479 100644 --- a/.ci_support/linux_64_python3.13.____cp313.yaml +++ b/.ci_support/linux_64_python3.13.____cp313.yaml @@ -16,8 +16,6 @@ cxx_compiler_version: - '14' docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 -numpy: -- '2' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/linux_64_python3.14.____cp314.yaml b/.ci_support/linux_64_python3.14.____cp314.yaml index 9a59704..f43f303 100644 --- a/.ci_support/linux_64_python3.14.____cp314.yaml +++ b/.ci_support/linux_64_python3.14.____cp314.yaml @@ -16,8 +16,6 @@ cxx_compiler_version: - '14' docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 -numpy: -- '2' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/osx_64_python3.10.____cpython.yaml b/.ci_support/osx_64_python3.10.____cpython.yaml index a9568e7..3179197 100644 --- a/.ci_support/osx_64_python3.10.____cpython.yaml +++ b/.ci_support/osx_64_python3.10.____cpython.yaml @@ -20,8 +20,6 @@ cxx_compiler_version: - '19' macos_machine: - x86_64-apple-darwin13.4.0 -numpy: -- '2' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/osx_64_python3.11.____cpython.yaml b/.ci_support/osx_64_python3.11.____cpython.yaml index 200c03a..754f99e 100644 --- a/.ci_support/osx_64_python3.11.____cpython.yaml +++ b/.ci_support/osx_64_python3.11.____cpython.yaml @@ -20,8 +20,6 @@ cxx_compiler_version: - '19' macos_machine: - x86_64-apple-darwin13.4.0 -numpy: -- '2' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/osx_64_python3.12.____cpython.yaml b/.ci_support/osx_64_python3.12.____cpython.yaml index 650c8b8..bfcf412 100644 --- a/.ci_support/osx_64_python3.12.____cpython.yaml +++ b/.ci_support/osx_64_python3.12.____cpython.yaml @@ -20,8 +20,6 @@ cxx_compiler_version: - '19' macos_machine: - x86_64-apple-darwin13.4.0 -numpy: -- '2' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/osx_64_python3.13.____cp313.yaml b/.ci_support/osx_64_python3.13.____cp313.yaml index ef4fd01..511b747 100644 --- a/.ci_support/osx_64_python3.13.____cp313.yaml +++ b/.ci_support/osx_64_python3.13.____cp313.yaml @@ -20,8 +20,6 @@ cxx_compiler_version: - '19' macos_machine: - x86_64-apple-darwin13.4.0 -numpy: -- '2' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/osx_64_python3.14.____cp314.yaml b/.ci_support/osx_64_python3.14.____cp314.yaml index fbf7f05..184ba00 100644 --- a/.ci_support/osx_64_python3.14.____cp314.yaml +++ b/.ci_support/osx_64_python3.14.____cp314.yaml @@ -20,8 +20,6 @@ cxx_compiler_version: - '19' macos_machine: - x86_64-apple-darwin13.4.0 -numpy: -- '2' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/win_64_python3.10.____cpython.yaml b/.ci_support/win_64_python3.10.____cpython.yaml index 6ff390f..687a99d 100644 --- a/.ci_support/win_64_python3.10.____cpython.yaml +++ b/.ci_support/win_64_python3.10.____cpython.yaml @@ -8,8 +8,6 @@ channel_targets: - conda-forge main cxx_compiler: - vs2022 -numpy: -- '2' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/win_64_python3.11.____cpython.yaml b/.ci_support/win_64_python3.11.____cpython.yaml index 26d70d3..a0fdba1 100644 --- a/.ci_support/win_64_python3.11.____cpython.yaml +++ b/.ci_support/win_64_python3.11.____cpython.yaml @@ -8,8 +8,6 @@ channel_targets: - conda-forge main cxx_compiler: - vs2022 -numpy: -- '2' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/win_64_python3.12.____cpython.yaml b/.ci_support/win_64_python3.12.____cpython.yaml index 4e42156..3b8ddbf 100644 --- a/.ci_support/win_64_python3.12.____cpython.yaml +++ b/.ci_support/win_64_python3.12.____cpython.yaml @@ -8,8 +8,6 @@ channel_targets: - conda-forge main cxx_compiler: - vs2022 -numpy: -- '2' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/win_64_python3.13.____cp313.yaml b/.ci_support/win_64_python3.13.____cp313.yaml index 413dacf..9b6a35c 100644 --- a/.ci_support/win_64_python3.13.____cp313.yaml +++ b/.ci_support/win_64_python3.13.____cp313.yaml @@ -8,8 +8,6 @@ channel_targets: - conda-forge main cxx_compiler: - vs2022 -numpy: -- '2' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/win_64_python3.14.____cp314.yaml b/.ci_support/win_64_python3.14.____cp314.yaml index c8cfb0d..05cc1c6 100644 --- a/.ci_support/win_64_python3.14.____cp314.yaml +++ b/.ci_support/win_64_python3.14.____cp314.yaml @@ -8,8 +8,6 @@ channel_targets: - conda-forge main cxx_compiler: - vs2022 -numpy: -- '2' pin_run_as_build: python: min_pin: x.x diff --git a/.github/workflows/conda-build.yml b/.github/workflows/conda-build.yml index 3e1fda7..019e8b7 100644 --- a/.github/workflows/conda-build.yml +++ b/.github/workflows/conda-build.yml @@ -23,26 +23,31 @@ jobs: matrix: include: - CONFIG: linux_64_python3.10.____cpython + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_64_python3.11.____cpython + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_64_python3.12.____cpython + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_64_python3.13.____cp313 + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - CONFIG: linux_64_python3.14.____cp314 + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True os: ubuntu runs_on: ['ubuntu-latest'] @@ -119,7 +124,7 @@ jobs: env: # default value; make it explicit, as it needs to match with artefact # generation below. Not configurable for now, can be revisited later - CONDA_BLD_DIR: C:\bld + CONDA_BLD_PATH: C:\bld MINIFORGE_HOME: ${{ contains(runner.arch, 'ARM') && 'C' || 'D' }}:\Miniforge PYTHONUNBUFFERED: 1 CONFIG: ${{ matrix.CONFIG }} diff --git a/.gitignore b/.gitignore index 47b5408..86a9c55 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,7 @@ # Ignore all files and folders in root * !/conda-forge.yml +!.recipe_maintainers.json # Don't ignore any files/folders if the parent folder is 'un-ignored' # This also avoids warnings when adding an already-checked file with an ignored parent. diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index d7df163..ce848e2 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -32,11 +32,19 @@ pkgs_dirs: solver: libmamba CONDARC -mv /opt/conda/conda-meta/history /opt/conda/conda-meta/history.$(date +%Y-%m-%d-%H-%M-%S) -echo > /opt/conda/conda-meta/history -micromamba install --root-prefix ~/.conda --prefix /opt/conda \ - --yes --override-channels --channel conda-forge --strict-channel-priority \ - pip python=3.12 conda-build conda-forge-ci-setup=4 "conda-build>=24.1" +pushd "${FEEDSTOCK_ROOT}" +arch=$(uname -m) +if [[ "$arch" == "x86_64" ]]; then + arch="64" +fi +sed -i.bak -e "s/platforms = .*/platforms = [\"linux-${arch}\"]/" -e "s/# __PLATFORM_SPECIFIC_ENV__ =/docker-build-linux-$arch =/" pixi.toml +echo "Creating environment" +PIXI_CACHE_DIR=/opt/conda pixi install --environment docker-build-linux-$arch +pixi list +echo "Activating environment" +eval "$(pixi shell-hook --environment docker-build-linux-$arch)" +mv pixi.toml.bak pixi.toml +popd export CONDA_LIBMAMBA_SOLVER_NO_CHANNELS_FROM_INSTALLED=1 # set up the condarc @@ -58,20 +66,16 @@ if [[ -f "${FEEDSTOCK_ROOT}/LICENSE.txt" ]]; then fi if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then - if [[ "x${BUILD_OUTPUT_ID:-}" != "x" ]]; then - EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --output-id ${BUILD_OUTPUT_ID}" - fi - conda debug "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ - ${EXTRA_CB_OPTIONS:-} \ - --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" - - # Drop into an interactive shell - /bin/bash + echo "rattler-build currently doesn't support debug mode" else - conda-build "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ - --suppress-variables ${EXTRA_CB_OPTIONS:-} \ - --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" \ - --extra-meta flow_run_id="${flow_run_id:-}" remote_url="${remote_url:-}" sha="${sha:-}" + + rattler-build build --recipe "${RECIPE_ROOT}" \ + -m "${CI_SUPPORT}/${CONFIG}.yaml" \ + ${EXTRA_CB_OPTIONS:-} \ + --target-platform "${HOST_PLATFORM}" \ + --extra-meta flow_run_id="${flow_run_id:-}" \ + --extra-meta remote_url="${remote_url:-}" \ + --extra-meta sha="${sha:-}" ( startgroup "Inspecting artifacts" ) 2> /dev/null # inspect_artifacts was only added in conda-forge-ci-setup 4.9.4 diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index df767d0..709bb00 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -9,34 +9,24 @@ set -xe MINIFORGE_HOME="${MINIFORGE_HOME:-${HOME}/miniforge3}" MINIFORGE_HOME="${MINIFORGE_HOME%/}" # remove trailing slash export CONDA_BLD_PATH="${CONDA_BLD_PATH:-${MINIFORGE_HOME}/conda-bld}" - -( startgroup "Provisioning base env with micromamba" ) 2> /dev/null -MICROMAMBA_VERSION="1.5.10-0" -if [[ "$(uname -m)" == "arm64" ]]; then - osx_arch="osx-arm64" -else - osx_arch="osx-64" +( startgroup "Provisioning base env with pixi" ) 2> /dev/null +mkdir -p "${MINIFORGE_HOME}" +curl -fsSL https://pixi.sh/install.sh | bash +export PATH="~/.pixi/bin:$PATH" +arch=$(uname -m) +if [[ "$arch" == "x86_64" ]]; then + arch="64" fi -MICROMAMBA_URL="https://github.com/mamba-org/micromamba-releases/releases/download/${MICROMAMBA_VERSION}/micromamba-${osx_arch}" -MAMBA_ROOT_PREFIX="${MINIFORGE_HOME}-micromamba-$(date +%s)" -echo "Downloading micromamba ${MICROMAMBA_VERSION}" -micromamba_exe="$(mktemp -d)/micromamba" -curl -L -o "${micromamba_exe}" "${MICROMAMBA_URL}" -chmod +x "${micromamba_exe}" +sed -i.bak "s/platforms = .*/platforms = [\"osx-${arch}\"]/" pixi.toml echo "Creating environment" -"${micromamba_exe}" create --yes --root-prefix "${MAMBA_ROOT_PREFIX}" --prefix "${MINIFORGE_HOME}" \ - --channel conda-forge \ - pip python=3.12 conda-build conda-forge-ci-setup=4 "conda-build>=24.1" -echo "Moving pkgs cache from ${MAMBA_ROOT_PREFIX} to ${MINIFORGE_HOME}" -mv "${MAMBA_ROOT_PREFIX}/pkgs" "${MINIFORGE_HOME}" -echo "Cleaning up micromamba" -rm -rf "${MAMBA_ROOT_PREFIX}" "${micromamba_exe}" || true -( endgroup "Provisioning base env with micromamba" ) 2> /dev/null +pixi install +pixi list +echo "Activating environment" +eval "$(pixi shell-hook)" +mv pixi.toml.bak pixi.toml +( endgroup "Provisioning base env with pixi" ) 2> /dev/null ( startgroup "Configuring conda" ) 2> /dev/null -echo "Activating environment" -source "${MINIFORGE_HOME}/etc/profile.d/conda.sh" -conda activate base export CONDA_SOLVER="libmamba" export CONDA_LIBMAMBA_SOLVER_NO_CHANNELS_FROM_INSTALLED=1 @@ -89,29 +79,21 @@ source run_conda_forge_build_setup ( endgroup "Configuring conda" ) 2> /dev/null -echo -e "\n\nMaking the build clobber file" -make_build_number ./ ./recipe ./.ci_support/${CONFIG}.yaml - if [[ -f LICENSE.txt ]]; then cp LICENSE.txt "recipe/recipe-scripts-license.txt" fi if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then - if [[ "x${BUILD_OUTPUT_ID:-}" != "x" ]]; then - EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --output-id ${BUILD_OUTPUT_ID}" - fi - conda debug ./recipe -m ./.ci_support/${CONFIG}.yaml \ - ${EXTRA_CB_OPTIONS:-} \ - --clobber-file ./.ci_support/clobber_${CONFIG}.yaml - - # Drop into an interactive shell - /bin/bash + echo "rattler-build does not currently support debug mode" else - conda-build ./recipe -m ./.ci_support/${CONFIG}.yaml \ - --suppress-variables ${EXTRA_CB_OPTIONS:-} \ - --clobber-file ./.ci_support/clobber_${CONFIG}.yaml \ - --extra-meta flow_run_id="$flow_run_id" remote_url="$remote_url" sha="$sha" + rattler-build build --recipe ./recipe \ + -m ./.ci_support/${CONFIG}.yaml \ + ${EXTRA_CB_OPTIONS:-} \ + --target-platform "${HOST_PLATFORM}" \ + --extra-meta flow_run_id="$flow_run_id" \ + --extra-meta remote_url="$remote_url" \ + --extra-meta sha="$sha" ( startgroup "Inspecting artifacts" ) 2> /dev/null diff --git a/.scripts/run_win_build.bat b/.scripts/run_win_build.bat index 2b9fd75..90effaa 100755 --- a/.scripts/run_win_build.bat +++ b/.scripts/run_win_build.bat @@ -13,36 +13,49 @@ setlocal enableextensions enabledelayedexpansion FOR %%A IN ("%~dp0.") DO SET "REPO_ROOT=%%~dpA" -if "%MINIFORGE_HOME%"=="" set "MINIFORGE_HOME=%USERPROFILE%\Miniforge3" +if "%MINIFORGE_HOME%"=="" ( + set "MINIFORGE_HOME=%REPO_ROOT%\.pixi\envs\default" +) else ( + set "PIXI_CACHE_DIR=%MINIFORGE_HOME%" +) :: Remove trailing backslash, if present if "%MINIFORGE_HOME:~-1%"=="\" set "MINIFORGE_HOME=%MINIFORGE_HOME:~0,-1%" -call :start_group "Provisioning base env with micromamba" -set "MAMBA_ROOT_PREFIX=%MINIFORGE_HOME%-micromamba-%RANDOM%" -set "MICROMAMBA_VERSION=1.5.10-0" -set "MICROMAMBA_URL=https://github.com/mamba-org/micromamba-releases/releases/download/%MICROMAMBA_VERSION%/micromamba-win-64" -set "MICROMAMBA_TMPDIR=%TMP%\micromamba-%RANDOM%" -set "MICROMAMBA_EXE=%MICROMAMBA_TMPDIR%\micromamba.exe" - -echo Downloading micromamba %MICROMAMBA_VERSION% -if not exist "%MICROMAMBA_TMPDIR%" mkdir "%MICROMAMBA_TMPDIR%" -powershell -ExecutionPolicy Bypass -Command "(New-Object Net.WebClient).DownloadFile('%MICROMAMBA_URL%', '%MICROMAMBA_EXE%')" +call :start_group "Provisioning base env with pixi" +echo Installing pixi +powershell -NoProfile -ExecutionPolicy unrestricted -Command "iwr -useb https://pixi.sh/install.ps1 | iex" if !errorlevel! neq 0 exit /b !errorlevel! - -echo Creating environment -call "%MICROMAMBA_EXE%" create --yes --root-prefix "%MAMBA_ROOT_PREFIX%" --prefix "%MINIFORGE_HOME%" ^ - --channel conda-forge ^ - pip python=3.12 conda-build conda-forge-ci-setup=4 "conda-build>=24.1" +set "PATH=%USERPROFILE%\.pixi\bin;%PATH%" +echo Installing environment +if "%PIXI_CACHE_DIR%"=="%MINIFORGE_HOME%" ( + mkdir "%MINIFORGE_HOME%" + copy /Y pixi.toml "%MINIFORGE_HOME%" + pushd "%MINIFORGE_HOME%" +) else ( + pushd "%REPO_ROOT%" +) +move /y pixi.toml pixi.toml.bak +set "arch=64" +if "%PROCESSOR_ARCHITECTURE%"=="ARM64" set "arch=arm64" +powershell -NoProfile -ExecutionPolicy unrestricted -Command "(Get-Content pixi.toml.bak -Encoding UTF8) -replace 'platforms = .*', 'platforms = [''win-%arch%'']' | Out-File pixi.toml -Encoding UTF8" +:: Git on Windows needs to run post link scripts to properly set up SSL certificates +pixi config set --global run-post-link-scripts insecure +if !errorlevel! neq 0 exit /b !errorlevel! +pixi install +if !errorlevel! neq 0 exit /b !errorlevel! +pixi list +if !errorlevel! neq 0 exit /b !errorlevel! +set "ACTIVATE_PIXI=%TMP%\pixi-activate-%RANDOM%.bat" +pixi shell-hook > "%ACTIVATE_PIXI%" +if !errorlevel! neq 0 exit /b !errorlevel! +call "%ACTIVATE_PIXI%" if !errorlevel! neq 0 exit /b !errorlevel! -echo Removing %MAMBA_ROOT_PREFIX% -del /S /Q "%MAMBA_ROOT_PREFIX%" >nul -del /S /Q "%MICROMAMBA_TMPDIR%" >nul +move /y pixi.toml.bak pixi.toml +popd call :end_group call :start_group "Configuring conda" :: Activate the base conda environment -echo Activating environment -call "%MINIFORGE_HOME%\Scripts\activate.bat" :: Configure the solver set "CONDA_SOLVER=libmamba" if !errorlevel! neq 0 exit /b !errorlevel! @@ -64,14 +77,14 @@ if EXIST LICENSE.txt ( ) if NOT [%flow_run_id%] == [] ( - set "EXTRA_CB_OPTIONS=%EXTRA_CB_OPTIONS% --extra-meta flow_run_id=%flow_run_id% remote_url=%remote_url% sha=%sha%" + set "EXTRA_CB_OPTIONS=%EXTRA_CB_OPTIONS% --extra-meta flow_run_id=%flow_run_id% --extra-meta remote_url=%remote_url% --extra-meta sha=%sha%" ) call :end_group :: Build the recipe echo Building recipe -conda-build.exe "recipe" -m .ci_support\%CONFIG%.yaml --suppress-variables %EXTRA_CB_OPTIONS% +rattler-build.exe build --recipe "recipe" -m .ci_support\%CONFIG%.yaml %EXTRA_CB_OPTIONS% --target-platform %HOST_PLATFORM% if !errorlevel! neq 0 exit /b !errorlevel! call :start_group "Inspecting artifacts" diff --git a/README.md b/README.md index 842b261..a649a3f 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,6 @@ Documentation: https://plotpy.readthedocs.io/ PlotPy is is a Python library providing efficient 2D data-plotting features for interactive computing and signal/image processing application development. It is part of the PlotPyStack project, aiming at providing a unified framework for creating scientific GUIs with Python and Qt. - Current build status ==================== diff --git a/pixi.toml b/pixi.toml new file mode 100644 index 0000000..11287f7 --- /dev/null +++ b/pixi.toml @@ -0,0 +1,136 @@ +# -*- mode: toml -*- +# This file was generated automatically from conda-smithy. To update this configuration, +# update the conda-forge.yml and/or the recipe/meta.yaml. +"$schema" = "https://pixi.sh/v0.59.0/schema/manifest/schema.json" + +[workspace] +name = "plotpy-feedstock" +version = "3.61.2" # conda-smithy version used to generate this file +description = "Pixi configuration for conda-forge/plotpy-feedstock" +authors = ["@conda-forge/plotpy"] +channels = ["conda-forge"] +platforms = ["linux-64", "osx-64", "win-64"] +requires-pixi = ">=0.59.0" + +[dependencies] +conda-build = ">=24.1" +conda-forge-ci-setup = "4.*" +rattler-build = "*" + +[tasks.inspect-all] +cmd = "inspect_artifacts --all-packages" +description = "List contents of all packages found in rattler-build build directory." +[tasks.build] +cmd = "rattler-build build --recipe recipe" +description = "Build plotpy-feedstock directly (without setup scripts), no particular variant specified" +[tasks."build-linux_64_python3.10.____cpython"] +cmd = "rattler-build build --recipe recipe -m .ci_support/linux_64_python3.10.____cpython.yaml" +description = "Build plotpy-feedstock with variant linux_64_python3.10.____cpython directly (without setup scripts)" +[tasks."inspect-linux_64_python3.10.____cpython"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/linux_64_python3.10.____cpython.yaml" +description = "List contents of plotpy-feedstock packages built for variant linux_64_python3.10.____cpython" +[tasks."build-linux_64_python3.11.____cpython"] +cmd = "rattler-build build --recipe recipe -m .ci_support/linux_64_python3.11.____cpython.yaml" +description = "Build plotpy-feedstock with variant linux_64_python3.11.____cpython directly (without setup scripts)" +[tasks."inspect-linux_64_python3.11.____cpython"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/linux_64_python3.11.____cpython.yaml" +description = "List contents of plotpy-feedstock packages built for variant linux_64_python3.11.____cpython" +[tasks."build-linux_64_python3.12.____cpython"] +cmd = "rattler-build build --recipe recipe -m .ci_support/linux_64_python3.12.____cpython.yaml" +description = "Build plotpy-feedstock with variant linux_64_python3.12.____cpython directly (without setup scripts)" +[tasks."inspect-linux_64_python3.12.____cpython"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/linux_64_python3.12.____cpython.yaml" +description = "List contents of plotpy-feedstock packages built for variant linux_64_python3.12.____cpython" +[tasks."build-linux_64_python3.13.____cp313"] +cmd = "rattler-build build --recipe recipe -m .ci_support/linux_64_python3.13.____cp313.yaml" +description = "Build plotpy-feedstock with variant linux_64_python3.13.____cp313 directly (without setup scripts)" +[tasks."inspect-linux_64_python3.13.____cp313"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/linux_64_python3.13.____cp313.yaml" +description = "List contents of plotpy-feedstock packages built for variant linux_64_python3.13.____cp313" +[tasks."build-linux_64_python3.14.____cp314"] +cmd = "rattler-build build --recipe recipe -m .ci_support/linux_64_python3.14.____cp314.yaml" +description = "Build plotpy-feedstock with variant linux_64_python3.14.____cp314 directly (without setup scripts)" +[tasks."inspect-linux_64_python3.14.____cp314"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/linux_64_python3.14.____cp314.yaml" +description = "List contents of plotpy-feedstock packages built for variant linux_64_python3.14.____cp314" +[tasks."build-osx_64_python3.10.____cpython"] +cmd = "rattler-build build --recipe recipe -m .ci_support/osx_64_python3.10.____cpython.yaml" +description = "Build plotpy-feedstock with variant osx_64_python3.10.____cpython directly (without setup scripts)" +[tasks."inspect-osx_64_python3.10.____cpython"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/osx_64_python3.10.____cpython.yaml" +description = "List contents of plotpy-feedstock packages built for variant osx_64_python3.10.____cpython" +[tasks."build-osx_64_python3.11.____cpython"] +cmd = "rattler-build build --recipe recipe -m .ci_support/osx_64_python3.11.____cpython.yaml" +description = "Build plotpy-feedstock with variant osx_64_python3.11.____cpython directly (without setup scripts)" +[tasks."inspect-osx_64_python3.11.____cpython"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/osx_64_python3.11.____cpython.yaml" +description = "List contents of plotpy-feedstock packages built for variant osx_64_python3.11.____cpython" +[tasks."build-osx_64_python3.12.____cpython"] +cmd = "rattler-build build --recipe recipe -m .ci_support/osx_64_python3.12.____cpython.yaml" +description = "Build plotpy-feedstock with variant osx_64_python3.12.____cpython directly (without setup scripts)" +[tasks."inspect-osx_64_python3.12.____cpython"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/osx_64_python3.12.____cpython.yaml" +description = "List contents of plotpy-feedstock packages built for variant osx_64_python3.12.____cpython" +[tasks."build-osx_64_python3.13.____cp313"] +cmd = "rattler-build build --recipe recipe -m .ci_support/osx_64_python3.13.____cp313.yaml" +description = "Build plotpy-feedstock with variant osx_64_python3.13.____cp313 directly (without setup scripts)" +[tasks."inspect-osx_64_python3.13.____cp313"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/osx_64_python3.13.____cp313.yaml" +description = "List contents of plotpy-feedstock packages built for variant osx_64_python3.13.____cp313" +[tasks."build-osx_64_python3.14.____cp314"] +cmd = "rattler-build build --recipe recipe -m .ci_support/osx_64_python3.14.____cp314.yaml" +description = "Build plotpy-feedstock with variant osx_64_python3.14.____cp314 directly (without setup scripts)" +[tasks."inspect-osx_64_python3.14.____cp314"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/osx_64_python3.14.____cp314.yaml" +description = "List contents of plotpy-feedstock packages built for variant osx_64_python3.14.____cp314" +[tasks."build-win_64_python3.10.____cpython"] +cmd = "rattler-build build --recipe recipe -m .ci_support/win_64_python3.10.____cpython.yaml" +description = "Build plotpy-feedstock with variant win_64_python3.10.____cpython directly (without setup scripts)" +[tasks."inspect-win_64_python3.10.____cpython"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/win_64_python3.10.____cpython.yaml" +description = "List contents of plotpy-feedstock packages built for variant win_64_python3.10.____cpython" +[tasks."build-win_64_python3.11.____cpython"] +cmd = "rattler-build build --recipe recipe -m .ci_support/win_64_python3.11.____cpython.yaml" +description = "Build plotpy-feedstock with variant win_64_python3.11.____cpython directly (without setup scripts)" +[tasks."inspect-win_64_python3.11.____cpython"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/win_64_python3.11.____cpython.yaml" +description = "List contents of plotpy-feedstock packages built for variant win_64_python3.11.____cpython" +[tasks."build-win_64_python3.12.____cpython"] +cmd = "rattler-build build --recipe recipe -m .ci_support/win_64_python3.12.____cpython.yaml" +description = "Build plotpy-feedstock with variant win_64_python3.12.____cpython directly (without setup scripts)" +[tasks."inspect-win_64_python3.12.____cpython"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/win_64_python3.12.____cpython.yaml" +description = "List contents of plotpy-feedstock packages built for variant win_64_python3.12.____cpython" +[tasks."build-win_64_python3.13.____cp313"] +cmd = "rattler-build build --recipe recipe -m .ci_support/win_64_python3.13.____cp313.yaml" +description = "Build plotpy-feedstock with variant win_64_python3.13.____cp313 directly (without setup scripts)" +[tasks."inspect-win_64_python3.13.____cp313"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/win_64_python3.13.____cp313.yaml" +description = "List contents of plotpy-feedstock packages built for variant win_64_python3.13.____cp313" +[tasks."build-win_64_python3.14.____cp314"] +cmd = "rattler-build build --recipe recipe -m .ci_support/win_64_python3.14.____cp314.yaml" +description = "Build plotpy-feedstock with variant win_64_python3.14.____cp314 directly (without setup scripts)" +[tasks."inspect-win_64_python3.14.____cp314"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/win_64_python3.14.____cp314.yaml" +description = "List contents of plotpy-feedstock packages built for variant win_64_python3.14.____cp314" + +[feature.smithy.dependencies] +conda-smithy = "*" +[feature.smithy.tasks.build-locally] +cmd = "python ./build-locally.py" +description = "Build packages locally using the same setup scripts used in conda-forge's CI" +[feature.smithy.tasks.smithy] +cmd = "conda-smithy" +description = "Run conda-smithy. Pass necessary arguments." +[feature.smithy.tasks.rerender] +cmd = "conda-smithy rerender" +description = "Rerender the feedstock." +[feature.smithy.tasks.lint] +cmd = "conda-smithy lint --conda-forge recipe" +description = "Lint the feedstock recipe" + +[environments] +smithy = ["smithy"] + +# This is a copy of default, to be enabled by build_steps.sh during Docker builds +# __PLATFORM_SPECIFIC_ENV__ = [] From f4a68f5504724ef7db379331a9b561e061045444 Mon Sep 17 00:00:00 2001 From: Benjamin Bertrand Date: Mon, 27 Apr 2026 11:43:20 +0200 Subject: [PATCH 3/8] Clean v1 recipe - no need to skip for python 2 and 4 - pin_compatible numpy not needed anymore: https://conda-forge.org/docs/maintainer/knowledge_base/#building-against-numpy --- recipe/recipe.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/recipe/recipe.yaml b/recipe/recipe.yaml index f8f41dc..d7e7565 100644 --- a/recipe/recipe.yaml +++ b/recipe/recipe.yaml @@ -14,7 +14,6 @@ source: build: number: 1 - skip: py>=400 or match(python, ">=2,<3") script: ${{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation requirements: @@ -31,7 +30,6 @@ requirements: - pip run: - python - - ${{ pin_compatible('numpy') }} - guidata >=3.14.1 - pythonqwt >=0.15 - scipy >=1.7.3 @@ -47,7 +45,6 @@ tests: pip_check: true - requirements: run: - - pip - pytest - if: linux then: pytest-xvfb From f85bf1395aae3a58e2c4d817f25a5e3731efbbfb Mon Sep 17 00:00:00 2001 From: Benjamin Bertrand Date: Mon, 27 Apr 2026 11:46:09 +0200 Subject: [PATCH 4/8] Add cross-compilation support --- recipe/recipe.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/recipe/recipe.yaml b/recipe/recipe.yaml index d7e7565..ab030ec 100644 --- a/recipe/recipe.yaml +++ b/recipe/recipe.yaml @@ -21,6 +21,12 @@ requirements: - ${{ compiler('c') }} - ${{ compiler('cxx') }} - ${{ stdlib("c") }} + - if: build_platform != host_platform + then: + - cross-python_${{ host_platform }} + - python + - cython + - numpy host: - python - setuptools From bcb14a90cdb0bc4a12082a2db97582bf28f28f7e Mon Sep 17 00:00:00 2001 From: Benjamin Bertrand Date: Mon, 27 Apr 2026 11:47:28 +0200 Subject: [PATCH 5/8] Add osx-arm64 and linux-aarch64 support --- conda-forge.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/conda-forge.yml b/conda-forge.yml index bd801c2..699ce1b 100644 --- a/conda-forge.yml +++ b/conda-forge.yml @@ -1,3 +1,5 @@ +build_platform: + linux_aarch64: linux_64 github: branch_name: main tooling_branch_name: main @@ -6,3 +8,7 @@ conda_build: conda_forge_output_validation: true conda_install_tool: pixi conda_build_tool: rattler-build +provider: + linux_aarch64: default + osx_arm64: azure +test: native_and_emulated From 26a4b8791167ceca34e59b7783debf319c6f300c Mon Sep 17 00:00:00 2001 From: Benjamin Bertrand Date: Mon, 27 Apr 2026 11:48:07 +0200 Subject: [PATCH 6/8] MNT: Re-rendered with conda-smithy 3.61.2 and conda-forge-pinning 2026.04.25.10.12.57 Other tools: - conda-build 26.3.0 - rattler-build 0.63.0 - rattler-build-conda-compat 1.4.14 --- .azure-pipelines/azure-pipelines-osx.yml | 25 +++++++ .../linux_aarch64_python3.10.____cpython.yaml | 29 ++++++++ .../linux_aarch64_python3.11.____cpython.yaml | 29 ++++++++ .../linux_aarch64_python3.12.____cpython.yaml | 29 ++++++++ .../linux_aarch64_python3.13.____cp313.yaml | 29 ++++++++ .../linux_aarch64_python3.14.____cp314.yaml | 29 ++++++++ .../osx_arm64_python3.10.____cpython.yaml | 33 +++++++++ .../osx_arm64_python3.11.____cpython.yaml | 33 +++++++++ .../osx_arm64_python3.12.____cpython.yaml | 33 +++++++++ .../osx_arm64_python3.13.____cp313.yaml | 33 +++++++++ .../osx_arm64_python3.14.____cp314.yaml | 33 +++++++++ .github/workflows/conda-build.yml | 30 ++++++++ .scripts/build_steps.sh | 3 + .scripts/run_osx_build.sh | 4 ++ .scripts/run_win_build.bat | 5 ++ README.md | 70 +++++++++++++++++++ pixi.toml | 62 +++++++++++++++- 17 files changed, 508 insertions(+), 1 deletion(-) create mode 100644 .ci_support/linux_aarch64_python3.10.____cpython.yaml create mode 100644 .ci_support/linux_aarch64_python3.11.____cpython.yaml create mode 100644 .ci_support/linux_aarch64_python3.12.____cpython.yaml create mode 100644 .ci_support/linux_aarch64_python3.13.____cp313.yaml create mode 100644 .ci_support/linux_aarch64_python3.14.____cp314.yaml create mode 100644 .ci_support/osx_arm64_python3.10.____cpython.yaml create mode 100644 .ci_support/osx_arm64_python3.11.____cpython.yaml create mode 100644 .ci_support/osx_arm64_python3.12.____cpython.yaml create mode 100644 .ci_support/osx_arm64_python3.13.____cp313.yaml create mode 100644 .ci_support/osx_arm64_python3.14.____cp314.yaml diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml index ac9ec95..3371f3f 100755 --- a/.azure-pipelines/azure-pipelines-osx.yml +++ b/.azure-pipelines/azure-pipelines-osx.yml @@ -33,6 +33,31 @@ jobs: UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 store_build_artifacts: false + osx_arm64_python3.10.____cpython: + CONFIG: osx_arm64_python3.10.____cpython + UPLOAD_PACKAGES: 'True' + VMIMAGE: macOS-15-arm64 + store_build_artifacts: false + osx_arm64_python3.11.____cpython: + CONFIG: osx_arm64_python3.11.____cpython + UPLOAD_PACKAGES: 'True' + VMIMAGE: macOS-15-arm64 + store_build_artifacts: false + osx_arm64_python3.12.____cpython: + CONFIG: osx_arm64_python3.12.____cpython + UPLOAD_PACKAGES: 'True' + VMIMAGE: macOS-15-arm64 + store_build_artifacts: false + osx_arm64_python3.13.____cp313: + CONFIG: osx_arm64_python3.13.____cp313 + UPLOAD_PACKAGES: 'True' + VMIMAGE: macOS-15-arm64 + store_build_artifacts: false + osx_arm64_python3.14.____cp314: + CONFIG: osx_arm64_python3.14.____cp314 + UPLOAD_PACKAGES: 'True' + VMIMAGE: macOS-15-arm64 + store_build_artifacts: false timeoutInMinutes: 360 variables: {} diff --git a/.ci_support/linux_aarch64_python3.10.____cpython.yaml b/.ci_support/linux_aarch64_python3.10.____cpython.yaml new file mode 100644 index 0000000..d123c5e --- /dev/null +++ b/.ci_support/linux_aarch64_python3.10.____cpython.yaml @@ -0,0 +1,29 @@ +c_compiler: +- gcc +c_compiler_version: +- '14' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.17' +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- gxx +cxx_compiler_version: +- '14' +docker_image: +- quay.io/condaforge/linux-anvil-x86_64:alma9 +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.10.* *_cpython +target_platform: +- linux-aarch64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version diff --git a/.ci_support/linux_aarch64_python3.11.____cpython.yaml b/.ci_support/linux_aarch64_python3.11.____cpython.yaml new file mode 100644 index 0000000..c8f56cc --- /dev/null +++ b/.ci_support/linux_aarch64_python3.11.____cpython.yaml @@ -0,0 +1,29 @@ +c_compiler: +- gcc +c_compiler_version: +- '14' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.17' +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- gxx +cxx_compiler_version: +- '14' +docker_image: +- quay.io/condaforge/linux-anvil-x86_64:alma9 +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.11.* *_cpython +target_platform: +- linux-aarch64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version diff --git a/.ci_support/linux_aarch64_python3.12.____cpython.yaml b/.ci_support/linux_aarch64_python3.12.____cpython.yaml new file mode 100644 index 0000000..648b2df --- /dev/null +++ b/.ci_support/linux_aarch64_python3.12.____cpython.yaml @@ -0,0 +1,29 @@ +c_compiler: +- gcc +c_compiler_version: +- '14' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.17' +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- gxx +cxx_compiler_version: +- '14' +docker_image: +- quay.io/condaforge/linux-anvil-x86_64:alma9 +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.12.* *_cpython +target_platform: +- linux-aarch64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version diff --git a/.ci_support/linux_aarch64_python3.13.____cp313.yaml b/.ci_support/linux_aarch64_python3.13.____cp313.yaml new file mode 100644 index 0000000..041eded --- /dev/null +++ b/.ci_support/linux_aarch64_python3.13.____cp313.yaml @@ -0,0 +1,29 @@ +c_compiler: +- gcc +c_compiler_version: +- '14' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.17' +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- gxx +cxx_compiler_version: +- '14' +docker_image: +- quay.io/condaforge/linux-anvil-x86_64:alma9 +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.13.* *_cp313 +target_platform: +- linux-aarch64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version diff --git a/.ci_support/linux_aarch64_python3.14.____cp314.yaml b/.ci_support/linux_aarch64_python3.14.____cp314.yaml new file mode 100644 index 0000000..4478f7b --- /dev/null +++ b/.ci_support/linux_aarch64_python3.14.____cp314.yaml @@ -0,0 +1,29 @@ +c_compiler: +- gcc +c_compiler_version: +- '14' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.17' +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- gxx +cxx_compiler_version: +- '14' +docker_image: +- quay.io/condaforge/linux-anvil-x86_64:alma9 +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.14.* *_cp314 +target_platform: +- linux-aarch64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version diff --git a/.ci_support/osx_arm64_python3.10.____cpython.yaml b/.ci_support/osx_arm64_python3.10.____cpython.yaml new file mode 100644 index 0000000..75554ff --- /dev/null +++ b/.ci_support/osx_arm64_python3.10.____cpython.yaml @@ -0,0 +1,33 @@ +MACOSX_DEPLOYMENT_TARGET: +- '11.0' +MACOSX_SDK_VERSION: +- '11.0' +c_compiler: +- clang +c_compiler_version: +- '19' +c_stdlib: +- macosx_deployment_target +c_stdlib_version: +- '11.0' +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- clangxx +cxx_compiler_version: +- '19' +macos_machine: +- arm64-apple-darwin20.0.0 +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.10.* *_cpython +target_platform: +- osx-arm64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version diff --git a/.ci_support/osx_arm64_python3.11.____cpython.yaml b/.ci_support/osx_arm64_python3.11.____cpython.yaml new file mode 100644 index 0000000..2106e22 --- /dev/null +++ b/.ci_support/osx_arm64_python3.11.____cpython.yaml @@ -0,0 +1,33 @@ +MACOSX_DEPLOYMENT_TARGET: +- '11.0' +MACOSX_SDK_VERSION: +- '11.0' +c_compiler: +- clang +c_compiler_version: +- '19' +c_stdlib: +- macosx_deployment_target +c_stdlib_version: +- '11.0' +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- clangxx +cxx_compiler_version: +- '19' +macos_machine: +- arm64-apple-darwin20.0.0 +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.11.* *_cpython +target_platform: +- osx-arm64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version diff --git a/.ci_support/osx_arm64_python3.12.____cpython.yaml b/.ci_support/osx_arm64_python3.12.____cpython.yaml new file mode 100644 index 0000000..a1cfbbb --- /dev/null +++ b/.ci_support/osx_arm64_python3.12.____cpython.yaml @@ -0,0 +1,33 @@ +MACOSX_DEPLOYMENT_TARGET: +- '11.0' +MACOSX_SDK_VERSION: +- '11.0' +c_compiler: +- clang +c_compiler_version: +- '19' +c_stdlib: +- macosx_deployment_target +c_stdlib_version: +- '11.0' +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- clangxx +cxx_compiler_version: +- '19' +macos_machine: +- arm64-apple-darwin20.0.0 +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.12.* *_cpython +target_platform: +- osx-arm64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version diff --git a/.ci_support/osx_arm64_python3.13.____cp313.yaml b/.ci_support/osx_arm64_python3.13.____cp313.yaml new file mode 100644 index 0000000..125ea02 --- /dev/null +++ b/.ci_support/osx_arm64_python3.13.____cp313.yaml @@ -0,0 +1,33 @@ +MACOSX_DEPLOYMENT_TARGET: +- '11.0' +MACOSX_SDK_VERSION: +- '11.0' +c_compiler: +- clang +c_compiler_version: +- '19' +c_stdlib: +- macosx_deployment_target +c_stdlib_version: +- '11.0' +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- clangxx +cxx_compiler_version: +- '19' +macos_machine: +- arm64-apple-darwin20.0.0 +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.13.* *_cp313 +target_platform: +- osx-arm64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version diff --git a/.ci_support/osx_arm64_python3.14.____cp314.yaml b/.ci_support/osx_arm64_python3.14.____cp314.yaml new file mode 100644 index 0000000..716d4c5 --- /dev/null +++ b/.ci_support/osx_arm64_python3.14.____cp314.yaml @@ -0,0 +1,33 @@ +MACOSX_DEPLOYMENT_TARGET: +- '11.0' +MACOSX_SDK_VERSION: +- '11.0' +c_compiler: +- clang +c_compiler_version: +- '19' +c_stdlib: +- macosx_deployment_target +c_stdlib_version: +- '11.0' +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- clangxx +cxx_compiler_version: +- '19' +macos_machine: +- arm64-apple-darwin20.0.0 +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.14.* *_cp314 +target_platform: +- osx-arm64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version diff --git a/.github/workflows/conda-build.yml b/.github/workflows/conda-build.yml index 019e8b7..c126709 100644 --- a/.github/workflows/conda-build.yml +++ b/.github/workflows/conda-build.yml @@ -52,6 +52,36 @@ jobs: os: ubuntu runs_on: ['ubuntu-latest'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + - CONFIG: linux_aarch64_python3.10.____cpython + STORE_BUILD_ARTIFACTS: False + UPLOAD_PACKAGES: True + os: ubuntu + runs_on: ['ubuntu-latest'] + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + - CONFIG: linux_aarch64_python3.11.____cpython + STORE_BUILD_ARTIFACTS: False + UPLOAD_PACKAGES: True + os: ubuntu + runs_on: ['ubuntu-latest'] + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + - CONFIG: linux_aarch64_python3.12.____cpython + STORE_BUILD_ARTIFACTS: False + UPLOAD_PACKAGES: True + os: ubuntu + runs_on: ['ubuntu-latest'] + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + - CONFIG: linux_aarch64_python3.13.____cp313 + STORE_BUILD_ARTIFACTS: False + UPLOAD_PACKAGES: True + os: ubuntu + runs_on: ['ubuntu-latest'] + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + - CONFIG: linux_aarch64_python3.14.____cp314 + STORE_BUILD_ARTIFACTS: False + UPLOAD_PACKAGES: True + os: ubuntu + runs_on: ['ubuntu-latest'] + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 steps: - name: Checkout code diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index ce848e2..c6ce254 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -57,6 +57,9 @@ source run_conda_forge_build_setup # make the build number clobber make_build_number "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" +if [[ "${HOST_PLATFORM}" != "${BUILD_PLATFORM}" ]] && [[ "${HOST_PLATFORM}" != linux-* ]] && [[ "${BUILD_WITH_CONDA_DEBUG:-0}" != 1 ]]; then + EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --test skip" +fi ( endgroup "Configuring conda" ) 2> /dev/null diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index 709bb00..463cbc8 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -87,6 +87,10 @@ if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then echo "rattler-build does not currently support debug mode" else + if [[ "${HOST_PLATFORM}" != "${BUILD_PLATFORM}" ]]; then + EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --test skip" + fi + rattler-build build --recipe ./recipe \ -m ./.ci_support/${CONFIG}.yaml \ ${EXTRA_CB_OPTIONS:-} \ diff --git a/.scripts/run_win_build.bat b/.scripts/run_win_build.bat index 90effaa..fce25ea 100755 --- a/.scripts/run_win_build.bat +++ b/.scripts/run_win_build.bat @@ -75,6 +75,11 @@ if EXIST LICENSE.txt ( echo Copying feedstock license copy LICENSE.txt "recipe\\recipe-scripts-license.txt" ) +if NOT [%HOST_PLATFORM%] == [%BUILD_PLATFORM%] ( + if [%CROSSCOMPILING_EMULATOR%] == [] ( + set "EXTRA_CB_OPTIONS=%EXTRA_CB_OPTIONS% --test skip" + ) +) if NOT [%flow_run_id%] == [] ( set "EXTRA_CB_OPTIONS=%EXTRA_CB_OPTIONS% --extra-meta flow_run_id=%flow_run_id% --extra-meta remote_url=%remote_url% --extra-meta sha=%sha%" diff --git a/README.md b/README.md index a649a3f..1d62732 100644 --- a/README.md +++ b/README.md @@ -66,6 +66,41 @@ Current build status variant + + linux_aarch64_python3.10.____cpython + + + variant + + + + linux_aarch64_python3.11.____cpython + + + variant + + + + linux_aarch64_python3.12.____cpython + + + variant + + + + linux_aarch64_python3.13.____cp313 + + + variant + + + + linux_aarch64_python3.14.____cp314 + + + variant + + osx_64_python3.10.____cpython @@ -101,6 +136,41 @@ Current build status variant + + osx_arm64_python3.10.____cpython + + + variant + + + + osx_arm64_python3.11.____cpython + + + variant + + + + osx_arm64_python3.12.____cpython + + + variant + + + + osx_arm64_python3.13.____cp313 + + + variant + + + + osx_arm64_python3.14.____cp314 + + + variant + + win_64_python3.10.____cpython diff --git a/pixi.toml b/pixi.toml index 11287f7..a8eaf64 100644 --- a/pixi.toml +++ b/pixi.toml @@ -9,7 +9,7 @@ version = "3.61.2" # conda-smithy version used to generate this file description = "Pixi configuration for conda-forge/plotpy-feedstock" authors = ["@conda-forge/plotpy"] channels = ["conda-forge"] -platforms = ["linux-64", "osx-64", "win-64"] +platforms = ["linux-64", "linux-aarch64", "osx-64", "osx-arm64", "win-64"] requires-pixi = ">=0.59.0" [dependencies] @@ -53,6 +53,36 @@ description = "Build plotpy-feedstock with variant linux_64_python3.14.____cp314 [tasks."inspect-linux_64_python3.14.____cp314"] cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/linux_64_python3.14.____cp314.yaml" description = "List contents of plotpy-feedstock packages built for variant linux_64_python3.14.____cp314" +[tasks."build-linux_aarch64_python3.10.____cpython"] +cmd = "rattler-build build --recipe recipe -m .ci_support/linux_aarch64_python3.10.____cpython.yaml" +description = "Build plotpy-feedstock with variant linux_aarch64_python3.10.____cpython directly (without setup scripts)" +[tasks."inspect-linux_aarch64_python3.10.____cpython"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/linux_aarch64_python3.10.____cpython.yaml" +description = "List contents of plotpy-feedstock packages built for variant linux_aarch64_python3.10.____cpython" +[tasks."build-linux_aarch64_python3.11.____cpython"] +cmd = "rattler-build build --recipe recipe -m .ci_support/linux_aarch64_python3.11.____cpython.yaml" +description = "Build plotpy-feedstock with variant linux_aarch64_python3.11.____cpython directly (without setup scripts)" +[tasks."inspect-linux_aarch64_python3.11.____cpython"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/linux_aarch64_python3.11.____cpython.yaml" +description = "List contents of plotpy-feedstock packages built for variant linux_aarch64_python3.11.____cpython" +[tasks."build-linux_aarch64_python3.12.____cpython"] +cmd = "rattler-build build --recipe recipe -m .ci_support/linux_aarch64_python3.12.____cpython.yaml" +description = "Build plotpy-feedstock with variant linux_aarch64_python3.12.____cpython directly (without setup scripts)" +[tasks."inspect-linux_aarch64_python3.12.____cpython"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/linux_aarch64_python3.12.____cpython.yaml" +description = "List contents of plotpy-feedstock packages built for variant linux_aarch64_python3.12.____cpython" +[tasks."build-linux_aarch64_python3.13.____cp313"] +cmd = "rattler-build build --recipe recipe -m .ci_support/linux_aarch64_python3.13.____cp313.yaml" +description = "Build plotpy-feedstock with variant linux_aarch64_python3.13.____cp313 directly (without setup scripts)" +[tasks."inspect-linux_aarch64_python3.13.____cp313"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/linux_aarch64_python3.13.____cp313.yaml" +description = "List contents of plotpy-feedstock packages built for variant linux_aarch64_python3.13.____cp313" +[tasks."build-linux_aarch64_python3.14.____cp314"] +cmd = "rattler-build build --recipe recipe -m .ci_support/linux_aarch64_python3.14.____cp314.yaml" +description = "Build plotpy-feedstock with variant linux_aarch64_python3.14.____cp314 directly (without setup scripts)" +[tasks."inspect-linux_aarch64_python3.14.____cp314"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/linux_aarch64_python3.14.____cp314.yaml" +description = "List contents of plotpy-feedstock packages built for variant linux_aarch64_python3.14.____cp314" [tasks."build-osx_64_python3.10.____cpython"] cmd = "rattler-build build --recipe recipe -m .ci_support/osx_64_python3.10.____cpython.yaml" description = "Build plotpy-feedstock with variant osx_64_python3.10.____cpython directly (without setup scripts)" @@ -83,6 +113,36 @@ description = "Build plotpy-feedstock with variant osx_64_python3.14.____cp314 d [tasks."inspect-osx_64_python3.14.____cp314"] cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/osx_64_python3.14.____cp314.yaml" description = "List contents of plotpy-feedstock packages built for variant osx_64_python3.14.____cp314" +[tasks."build-osx_arm64_python3.10.____cpython"] +cmd = "rattler-build build --recipe recipe -m .ci_support/osx_arm64_python3.10.____cpython.yaml" +description = "Build plotpy-feedstock with variant osx_arm64_python3.10.____cpython directly (without setup scripts)" +[tasks."inspect-osx_arm64_python3.10.____cpython"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/osx_arm64_python3.10.____cpython.yaml" +description = "List contents of plotpy-feedstock packages built for variant osx_arm64_python3.10.____cpython" +[tasks."build-osx_arm64_python3.11.____cpython"] +cmd = "rattler-build build --recipe recipe -m .ci_support/osx_arm64_python3.11.____cpython.yaml" +description = "Build plotpy-feedstock with variant osx_arm64_python3.11.____cpython directly (without setup scripts)" +[tasks."inspect-osx_arm64_python3.11.____cpython"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/osx_arm64_python3.11.____cpython.yaml" +description = "List contents of plotpy-feedstock packages built for variant osx_arm64_python3.11.____cpython" +[tasks."build-osx_arm64_python3.12.____cpython"] +cmd = "rattler-build build --recipe recipe -m .ci_support/osx_arm64_python3.12.____cpython.yaml" +description = "Build plotpy-feedstock with variant osx_arm64_python3.12.____cpython directly (without setup scripts)" +[tasks."inspect-osx_arm64_python3.12.____cpython"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/osx_arm64_python3.12.____cpython.yaml" +description = "List contents of plotpy-feedstock packages built for variant osx_arm64_python3.12.____cpython" +[tasks."build-osx_arm64_python3.13.____cp313"] +cmd = "rattler-build build --recipe recipe -m .ci_support/osx_arm64_python3.13.____cp313.yaml" +description = "Build plotpy-feedstock with variant osx_arm64_python3.13.____cp313 directly (without setup scripts)" +[tasks."inspect-osx_arm64_python3.13.____cp313"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/osx_arm64_python3.13.____cp313.yaml" +description = "List contents of plotpy-feedstock packages built for variant osx_arm64_python3.13.____cp313" +[tasks."build-osx_arm64_python3.14.____cp314"] +cmd = "rattler-build build --recipe recipe -m .ci_support/osx_arm64_python3.14.____cp314.yaml" +description = "Build plotpy-feedstock with variant osx_arm64_python3.14.____cp314 directly (without setup scripts)" +[tasks."inspect-osx_arm64_python3.14.____cp314"] +cmd = "inspect_artifacts --recipe-dir recipe -m .ci_support/osx_arm64_python3.14.____cp314.yaml" +description = "List contents of plotpy-feedstock packages built for variant osx_arm64_python3.14.____cp314" [tasks."build-win_64_python3.10.____cpython"] cmd = "rattler-build build --recipe recipe -m .ci_support/win_64_python3.10.____cpython.yaml" description = "Build plotpy-feedstock with variant win_64_python3.10.____cpython directly (without setup scripts)" From f34b6b9f73bf512a9a5e75327caee33a5c1faf2a Mon Sep 17 00:00:00 2001 From: Benjamin Bertrand Date: Mon, 27 Apr 2026 12:05:28 +0200 Subject: [PATCH 7/8] Let conda-forge handle numpy and cython versions --- recipe/recipe.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/recipe.yaml b/recipe/recipe.yaml index ab030ec..31e81f6 100644 --- a/recipe/recipe.yaml +++ b/recipe/recipe.yaml @@ -31,8 +31,8 @@ requirements: - python - setuptools - wheel - - numpy >=2.0 - - cython >=3.0 + - numpy + - cython - pip run: - python From f3f089b5fc377a8723fc421cd36817305934e7a5 Mon Sep 17 00:00:00 2001 From: Benjamin Bertrand Date: Mon, 27 Apr 2026 12:05:51 +0200 Subject: [PATCH 8/8] MNT: Re-rendered with conda-smithy 3.61.2 and conda-forge-pinning 2026.04.25.10.12.57 Other tools: - conda-build 26.3.0 - rattler-build 0.63.0 - rattler-build-conda-compat 1.4.14 --- .ci_support/linux_64_python3.10.____cpython.yaml | 2 ++ .ci_support/linux_64_python3.11.____cpython.yaml | 2 ++ .ci_support/linux_64_python3.12.____cpython.yaml | 2 ++ .ci_support/linux_64_python3.13.____cp313.yaml | 2 ++ .ci_support/linux_64_python3.14.____cp314.yaml | 2 ++ .ci_support/linux_aarch64_python3.10.____cpython.yaml | 2 ++ .ci_support/linux_aarch64_python3.11.____cpython.yaml | 2 ++ .ci_support/linux_aarch64_python3.12.____cpython.yaml | 2 ++ .ci_support/linux_aarch64_python3.13.____cp313.yaml | 2 ++ .ci_support/linux_aarch64_python3.14.____cp314.yaml | 2 ++ .ci_support/osx_64_python3.10.____cpython.yaml | 2 ++ .ci_support/osx_64_python3.11.____cpython.yaml | 2 ++ .ci_support/osx_64_python3.12.____cpython.yaml | 2 ++ .ci_support/osx_64_python3.13.____cp313.yaml | 2 ++ .ci_support/osx_64_python3.14.____cp314.yaml | 2 ++ .ci_support/osx_arm64_python3.10.____cpython.yaml | 2 ++ .ci_support/osx_arm64_python3.11.____cpython.yaml | 2 ++ .ci_support/osx_arm64_python3.12.____cpython.yaml | 2 ++ .ci_support/osx_arm64_python3.13.____cp313.yaml | 2 ++ .ci_support/osx_arm64_python3.14.____cp314.yaml | 2 ++ .ci_support/win_64_python3.10.____cpython.yaml | 2 ++ .ci_support/win_64_python3.11.____cpython.yaml | 2 ++ .ci_support/win_64_python3.12.____cpython.yaml | 2 ++ .ci_support/win_64_python3.13.____cp313.yaml | 2 ++ .ci_support/win_64_python3.14.____cp314.yaml | 2 ++ 25 files changed, 50 insertions(+) diff --git a/.ci_support/linux_64_python3.10.____cpython.yaml b/.ci_support/linux_64_python3.10.____cpython.yaml index 78b5715..05046f6 100644 --- a/.ci_support/linux_64_python3.10.____cpython.yaml +++ b/.ci_support/linux_64_python3.10.____cpython.yaml @@ -16,6 +16,8 @@ cxx_compiler_version: - '14' docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 +numpy: +- '2' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/linux_64_python3.11.____cpython.yaml b/.ci_support/linux_64_python3.11.____cpython.yaml index 4f09778..ca5349a 100644 --- a/.ci_support/linux_64_python3.11.____cpython.yaml +++ b/.ci_support/linux_64_python3.11.____cpython.yaml @@ -16,6 +16,8 @@ cxx_compiler_version: - '14' docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 +numpy: +- '2' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/linux_64_python3.12.____cpython.yaml b/.ci_support/linux_64_python3.12.____cpython.yaml index 78ddb1b..3328a6a 100644 --- a/.ci_support/linux_64_python3.12.____cpython.yaml +++ b/.ci_support/linux_64_python3.12.____cpython.yaml @@ -16,6 +16,8 @@ cxx_compiler_version: - '14' docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 +numpy: +- '2' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/linux_64_python3.13.____cp313.yaml b/.ci_support/linux_64_python3.13.____cp313.yaml index eaf5479..487ae61 100644 --- a/.ci_support/linux_64_python3.13.____cp313.yaml +++ b/.ci_support/linux_64_python3.13.____cp313.yaml @@ -16,6 +16,8 @@ cxx_compiler_version: - '14' docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 +numpy: +- '2' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/linux_64_python3.14.____cp314.yaml b/.ci_support/linux_64_python3.14.____cp314.yaml index f43f303..9a59704 100644 --- a/.ci_support/linux_64_python3.14.____cp314.yaml +++ b/.ci_support/linux_64_python3.14.____cp314.yaml @@ -16,6 +16,8 @@ cxx_compiler_version: - '14' docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 +numpy: +- '2' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/linux_aarch64_python3.10.____cpython.yaml b/.ci_support/linux_aarch64_python3.10.____cpython.yaml index d123c5e..6597213 100644 --- a/.ci_support/linux_aarch64_python3.10.____cpython.yaml +++ b/.ci_support/linux_aarch64_python3.10.____cpython.yaml @@ -16,6 +16,8 @@ cxx_compiler_version: - '14' docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 +numpy: +- '2' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/linux_aarch64_python3.11.____cpython.yaml b/.ci_support/linux_aarch64_python3.11.____cpython.yaml index c8f56cc..470eecc 100644 --- a/.ci_support/linux_aarch64_python3.11.____cpython.yaml +++ b/.ci_support/linux_aarch64_python3.11.____cpython.yaml @@ -16,6 +16,8 @@ cxx_compiler_version: - '14' docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 +numpy: +- '2' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/linux_aarch64_python3.12.____cpython.yaml b/.ci_support/linux_aarch64_python3.12.____cpython.yaml index 648b2df..49afa5f 100644 --- a/.ci_support/linux_aarch64_python3.12.____cpython.yaml +++ b/.ci_support/linux_aarch64_python3.12.____cpython.yaml @@ -16,6 +16,8 @@ cxx_compiler_version: - '14' docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 +numpy: +- '2' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/linux_aarch64_python3.13.____cp313.yaml b/.ci_support/linux_aarch64_python3.13.____cp313.yaml index 041eded..79292fc 100644 --- a/.ci_support/linux_aarch64_python3.13.____cp313.yaml +++ b/.ci_support/linux_aarch64_python3.13.____cp313.yaml @@ -16,6 +16,8 @@ cxx_compiler_version: - '14' docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 +numpy: +- '2' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/linux_aarch64_python3.14.____cp314.yaml b/.ci_support/linux_aarch64_python3.14.____cp314.yaml index 4478f7b..4e43776 100644 --- a/.ci_support/linux_aarch64_python3.14.____cp314.yaml +++ b/.ci_support/linux_aarch64_python3.14.____cp314.yaml @@ -16,6 +16,8 @@ cxx_compiler_version: - '14' docker_image: - quay.io/condaforge/linux-anvil-x86_64:alma9 +numpy: +- '2' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/osx_64_python3.10.____cpython.yaml b/.ci_support/osx_64_python3.10.____cpython.yaml index 3179197..a9568e7 100644 --- a/.ci_support/osx_64_python3.10.____cpython.yaml +++ b/.ci_support/osx_64_python3.10.____cpython.yaml @@ -20,6 +20,8 @@ cxx_compiler_version: - '19' macos_machine: - x86_64-apple-darwin13.4.0 +numpy: +- '2' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/osx_64_python3.11.____cpython.yaml b/.ci_support/osx_64_python3.11.____cpython.yaml index 754f99e..200c03a 100644 --- a/.ci_support/osx_64_python3.11.____cpython.yaml +++ b/.ci_support/osx_64_python3.11.____cpython.yaml @@ -20,6 +20,8 @@ cxx_compiler_version: - '19' macos_machine: - x86_64-apple-darwin13.4.0 +numpy: +- '2' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/osx_64_python3.12.____cpython.yaml b/.ci_support/osx_64_python3.12.____cpython.yaml index bfcf412..650c8b8 100644 --- a/.ci_support/osx_64_python3.12.____cpython.yaml +++ b/.ci_support/osx_64_python3.12.____cpython.yaml @@ -20,6 +20,8 @@ cxx_compiler_version: - '19' macos_machine: - x86_64-apple-darwin13.4.0 +numpy: +- '2' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/osx_64_python3.13.____cp313.yaml b/.ci_support/osx_64_python3.13.____cp313.yaml index 511b747..ef4fd01 100644 --- a/.ci_support/osx_64_python3.13.____cp313.yaml +++ b/.ci_support/osx_64_python3.13.____cp313.yaml @@ -20,6 +20,8 @@ cxx_compiler_version: - '19' macos_machine: - x86_64-apple-darwin13.4.0 +numpy: +- '2' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/osx_64_python3.14.____cp314.yaml b/.ci_support/osx_64_python3.14.____cp314.yaml index 184ba00..fbf7f05 100644 --- a/.ci_support/osx_64_python3.14.____cp314.yaml +++ b/.ci_support/osx_64_python3.14.____cp314.yaml @@ -20,6 +20,8 @@ cxx_compiler_version: - '19' macos_machine: - x86_64-apple-darwin13.4.0 +numpy: +- '2' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/osx_arm64_python3.10.____cpython.yaml b/.ci_support/osx_arm64_python3.10.____cpython.yaml index 75554ff..7f05cd9 100644 --- a/.ci_support/osx_arm64_python3.10.____cpython.yaml +++ b/.ci_support/osx_arm64_python3.10.____cpython.yaml @@ -20,6 +20,8 @@ cxx_compiler_version: - '19' macos_machine: - arm64-apple-darwin20.0.0 +numpy: +- '2' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/osx_arm64_python3.11.____cpython.yaml b/.ci_support/osx_arm64_python3.11.____cpython.yaml index 2106e22..27bdbcb 100644 --- a/.ci_support/osx_arm64_python3.11.____cpython.yaml +++ b/.ci_support/osx_arm64_python3.11.____cpython.yaml @@ -20,6 +20,8 @@ cxx_compiler_version: - '19' macos_machine: - arm64-apple-darwin20.0.0 +numpy: +- '2' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/osx_arm64_python3.12.____cpython.yaml b/.ci_support/osx_arm64_python3.12.____cpython.yaml index a1cfbbb..1b6e974 100644 --- a/.ci_support/osx_arm64_python3.12.____cpython.yaml +++ b/.ci_support/osx_arm64_python3.12.____cpython.yaml @@ -20,6 +20,8 @@ cxx_compiler_version: - '19' macos_machine: - arm64-apple-darwin20.0.0 +numpy: +- '2' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/osx_arm64_python3.13.____cp313.yaml b/.ci_support/osx_arm64_python3.13.____cp313.yaml index 125ea02..f53c1d1 100644 --- a/.ci_support/osx_arm64_python3.13.____cp313.yaml +++ b/.ci_support/osx_arm64_python3.13.____cp313.yaml @@ -20,6 +20,8 @@ cxx_compiler_version: - '19' macos_machine: - arm64-apple-darwin20.0.0 +numpy: +- '2' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/osx_arm64_python3.14.____cp314.yaml b/.ci_support/osx_arm64_python3.14.____cp314.yaml index 716d4c5..8ba3ce1 100644 --- a/.ci_support/osx_arm64_python3.14.____cp314.yaml +++ b/.ci_support/osx_arm64_python3.14.____cp314.yaml @@ -20,6 +20,8 @@ cxx_compiler_version: - '19' macos_machine: - arm64-apple-darwin20.0.0 +numpy: +- '2' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/win_64_python3.10.____cpython.yaml b/.ci_support/win_64_python3.10.____cpython.yaml index 687a99d..6ff390f 100644 --- a/.ci_support/win_64_python3.10.____cpython.yaml +++ b/.ci_support/win_64_python3.10.____cpython.yaml @@ -8,6 +8,8 @@ channel_targets: - conda-forge main cxx_compiler: - vs2022 +numpy: +- '2' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/win_64_python3.11.____cpython.yaml b/.ci_support/win_64_python3.11.____cpython.yaml index a0fdba1..26d70d3 100644 --- a/.ci_support/win_64_python3.11.____cpython.yaml +++ b/.ci_support/win_64_python3.11.____cpython.yaml @@ -8,6 +8,8 @@ channel_targets: - conda-forge main cxx_compiler: - vs2022 +numpy: +- '2' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/win_64_python3.12.____cpython.yaml b/.ci_support/win_64_python3.12.____cpython.yaml index 3b8ddbf..4e42156 100644 --- a/.ci_support/win_64_python3.12.____cpython.yaml +++ b/.ci_support/win_64_python3.12.____cpython.yaml @@ -8,6 +8,8 @@ channel_targets: - conda-forge main cxx_compiler: - vs2022 +numpy: +- '2' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/win_64_python3.13.____cp313.yaml b/.ci_support/win_64_python3.13.____cp313.yaml index 9b6a35c..413dacf 100644 --- a/.ci_support/win_64_python3.13.____cp313.yaml +++ b/.ci_support/win_64_python3.13.____cp313.yaml @@ -8,6 +8,8 @@ channel_targets: - conda-forge main cxx_compiler: - vs2022 +numpy: +- '2' pin_run_as_build: python: min_pin: x.x diff --git a/.ci_support/win_64_python3.14.____cp314.yaml b/.ci_support/win_64_python3.14.____cp314.yaml index 05cc1c6..c8cfb0d 100644 --- a/.ci_support/win_64_python3.14.____cp314.yaml +++ b/.ci_support/win_64_python3.14.____cp314.yaml @@ -8,6 +8,8 @@ channel_targets: - conda-forge main cxx_compiler: - vs2022 +numpy: +- '2' pin_run_as_build: python: min_pin: x.x