From 0f29229cef8ac5beab2494e2ae87c32a27b60bc7 Mon Sep 17 00:00:00 2001
From: regro-cf-autotick-bot
<36490558+regro-cf-autotick-bot@users.noreply.github.com>
Date: Fri, 4 Sep 2026 11:39:33 +0000
Subject: [PATCH 1/2] Rebuild for python 3.15
---
.ci_support/migrations/python315.yaml | 45 +++++++++++++++++++++++++++
recipe/meta.yaml | 2 +-
2 files changed, 46 insertions(+), 1 deletion(-)
create mode 100644 .ci_support/migrations/python315.yaml
diff --git a/.ci_support/migrations/python315.yaml b/.ci_support/migrations/python315.yaml
new file mode 100644
index 0000000..3394fde
--- /dev/null
+++ b/.ci_support/migrations/python315.yaml
@@ -0,0 +1,45 @@
+# this is intentionally sorted before the 3.14t migrator, because that determines
+# the order of application of the migrators; otherwise we'd have to add values for
+# is_freethreading and is_abi3 keys here, since that migration extends the zip;
+migrator_ts: 1755739490
+__migrator:
+ commit_message: Rebuild for python 3.15
+ migration_number: 1
+ operation: key_add
+ primary_key: python
+ ordering:
+ python:
+ - 3.9.* *_cpython
+ - 3.10.* *_cpython
+ - 3.11.* *_cpython
+ - 3.12.* *_cpython
+ - 3.13.* *_cp313
+ - 3.13.* *_cp313t
+ - 3.14.* *_cp314
+ - 3.14.* *_cp314t
+ - 3.15.* *_cp315 # new entry
+ paused: false
+ longterm: true
+ pr_limit: 5
+ max_solver_attempts: 3 # this will make the bot retry "not solvable" stuff 12 times
+ exclude:
+ # this shouldn't attempt to modify the python feedstocks
+ - python
+ - pypy3.6
+ - pypy-meta
+ - cross-python
+ - python_abi
+ exclude_pinned_pkgs: false
+ ignored_deps_per_node:
+ matplotlib:
+ - pyqt
+ additional_zip_keys:
+ - channel_sources
+
+python:
+- 3.15.* *_cp315
+# additional entries to add for zip_keys
+is_python_min:
+- false
+channel_sources:
+- conda-forge,conda-forge/label/python_rc
diff --git a/recipe/meta.yaml b/recipe/meta.yaml
index e6fab6a..791d7ad 100644
--- a/recipe/meta.yaml
+++ b/recipe/meta.yaml
@@ -3,7 +3,7 @@ package:
version: 2.3
build:
- number: 6
+ number: 7
skip: true # [not win]
python_version_independent: true
From 8397deb7ff19bbd2a5f811472d1db3e1632f5a3e Mon Sep 17 00:00:00 2001
From: regro-cf-autotick-bot
<36490558+regro-cf-autotick-bot@users.noreply.github.com>
Date: Fri, 4 Sep 2026 11:41:04 +0000
Subject: [PATCH 2/2] MNT: Re-rendered with conda-smithy 2026.9.1 and
conda-forge-pinning 2026.09.03.21.56.3
---
.azure-pipelines/azure-pipelines-win.yml | 38 -------
.ci_support/migrations/python314.yaml | 43 --------
.ci_support/win_64_.yaml | 3 +-
.github/workflows/conda-build.yml | 131 +++++++++++++++++++++--
.gitignore | 1 +
.scripts/logging_utils.sh | 0
.scripts/run_win_build.bat | 11 +-
LICENSE.txt | 3 +-
README.md | 82 +++++++++-----
azure-pipelines.yml | 31 ------
build-locally.py | 13 +--
11 files changed, 195 insertions(+), 161 deletions(-)
delete mode 100755 .azure-pipelines/azure-pipelines-win.yml
delete mode 100644 .ci_support/migrations/python314.yaml
mode change 100644 => 100755 .scripts/logging_utils.sh
delete mode 100644 azure-pipelines.yml
diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml
deleted file mode 100755
index ada9763..0000000
--- a/.azure-pipelines/azure-pipelines-win.yml
+++ /dev/null
@@ -1,38 +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.
-# -*- mode: yaml -*-
-
-jobs:
-- job: win
- pool:
- vmImage: windows-2022
- strategy:
- matrix:
- win_64_:
- CONFIG: win_64_
- UPLOAD_PACKAGES: 'True'
- timeoutInMinutes: 360
- variables:
- CONDA_BLD_PATH: D:\\bld\\
- MINIFORGE_HOME: D:\Miniforge
- UPLOAD_TEMP: D:\\tmp
-
- steps:
-
- - script: |
- call ".scripts\run_win_build.bat"
- displayName: Run Windows build
- env:
- MINIFORGE_HOME: $(MINIFORGE_HOME)
- CONDA_BLD_PATH: $(CONDA_BLD_PATH)
- PYTHONUNBUFFERED: 1
- CONFIG: $(CONFIG)
- CI: azure
- flow_run_id: azure_$(Build.BuildNumber).$(System.JobAttempt)
- remote_url: $(Build.Repository.Uri)
- sha: $(Build.SourceVersion)
- UPLOAD_PACKAGES: $(UPLOAD_PACKAGES)
- UPLOAD_TEMP: $(UPLOAD_TEMP)
- BINSTAR_TOKEN: $(BINSTAR_TOKEN)
- FEEDSTOCK_TOKEN: $(FEEDSTOCK_TOKEN)
- STAGING_BINSTAR_TOKEN: $(STAGING_BINSTAR_TOKEN)
diff --git a/.ci_support/migrations/python314.yaml b/.ci_support/migrations/python314.yaml
deleted file mode 100644
index 7037dd6..0000000
--- a/.ci_support/migrations/python314.yaml
+++ /dev/null
@@ -1,43 +0,0 @@
-# this is intentionally sorted before the 3.13t migrator, because that determines
-# the order of application of the migrators; otherwise we'd have to add values for
-# is_freethreading and is_abi3 keys here, since that migration extends the zip
-migrator_ts: 1724712607
-__migrator:
- commit_message: Rebuild for python 3.14
- migration_number: 1
- operation: key_add
- primary_key: python
- ordering:
- python:
- - 3.9.* *_cpython
- - 3.10.* *_cpython
- - 3.11.* *_cpython
- - 3.12.* *_cpython
- - 3.13.* *_cp313
- - 3.13.* *_cp313t
- - 3.14.* *_cp314 # new entry
- paused: false
- longterm: true
- pr_limit: 5
- max_solver_attempts: 3 # this will make the bot retry "not solvable" stuff 12 times
- exclude:
- # this shouldn't attempt to modify the python feedstocks
- - python
- - pypy3.6
- - pypy-meta
- - cross-python
- - python_abi
- exclude_pinned_pkgs: false
- ignored_deps_per_node:
- matplotlib:
- - pyqt
- additional_zip_keys:
- - channel_sources
-
-python:
-- 3.14.* *_cp314
-# additional entries to add for zip_keys
-is_python_min:
-- false
-channel_sources:
-- conda-forge/label/python_rc,conda-forge
diff --git a/.ci_support/win_64_.yaml b/.ci_support/win_64_.yaml
index 4486a28..0af3462 100644
--- a/.ci_support/win_64_.yaml
+++ b/.ci_support/win_64_.yaml
@@ -1,8 +1,9 @@
channel_sources:
- conda-forge
+- conda-forge,conda-forge/label/python_rc
channel_targets:
- conda-forge main
python_min:
-- '3.10'
+- '3.11'
target_platform:
- win-64
diff --git a/.github/workflows/conda-build.yml b/.github/workflows/conda-build.yml
index a948c6c..f7b8191 100644
--- a/.github/workflows/conda-build.yml
+++ b/.github/workflows/conda-build.yml
@@ -1,15 +1,132 @@
-# This file was added automatically by admin-migrations. Do not modify.
-# It ensures that Github Actions can run once rerendered for the first time.
+# This file was generated automatically from conda-smithy. To update this configuration,
+# update the conda-forge.yml and/or the recipe/meta.yaml.
# -*- mode: yaml -*-
name: Build conda package
on:
- workflow_dispatch:
+ push:
+
+ pull_request:
+
+concurrency:
+ group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}
+ cancel-in-progress: true
jobs:
build:
- name: Disabled build
- runs-on: ubuntu-slim
- if: false
+ name: ${{ matrix.CONFIG }}
+ runs-on: ${{ matrix.runs_on }}
+ timeout-minutes: 360
+ strategy:
+ fail-fast: false
+ max-parallel: 50
+ matrix:
+ include:
+ - CONFIG: win_64_
+ STORE_BUILD_ARTIFACTS: False
+ UPLOAD_PACKAGES: True
+ build_platform: win-64
+ build_workspace_dir: D:\\bld\\
+ docker_run_args:
+ free_disk_space: skip
+ os: windows
+ pagefile_size: 0
+ resize_partitions: False
+ runs_on: ['windows-2022']
+ tools_install_dir: D:\Miniforge
steps:
- - run: exit 0
+
+ - name: Checkout code
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
+ - name: Configure binfmt_misc
+ if: matrix.os == 'ubuntu'
+ shell: bash
+ run: |
+ if [[ "$(uname -m)" == "x86_64" ]]; then
+ docker run --rm --privileged multiarch/qemu-user-static:register --reset --credential yes
+ fi
+
+ - name: Build on Linux
+ id: build-linux
+ if: matrix.os == 'ubuntu'
+ env:
+ CI: github_actions
+ CONDA_BLD_PATH: ${{ matrix.build_workspace_dir }}
+ CONDA_FORGE_DOCKER_RUN_ARGS: ${{ matrix.docker_run_args }}
+ CONFIG: ${{ matrix.CONFIG }}
+ MINIFORGE_HOME: ${{ matrix.tools_install_dir }}
+ DOCKER_IMAGE: ${{ matrix.DOCKER_IMAGE }}
+ UPLOAD_PACKAGES: ${{ matrix.UPLOAD_PACKAGES }}
+ RATTLER_BUILD_COLOR: always
+ RATTLER_BUILD_ENABLE_GITHUB_INTEGRATION: 'true'
+ BINSTAR_TOKEN: ${{ secrets.BINSTAR_TOKEN }}
+ FEEDSTOCK_TOKEN: ${{ secrets.FEEDSTOCK_TOKEN }}
+ STAGING_BINSTAR_TOKEN: ${{ secrets.STAGING_BINSTAR_TOKEN }}
+ shell: bash
+ run: |
+ export CONDA_BLD_PATH="${CONDA_BLD_PATH/#~/${HOME}}"
+ export FEEDSTOCK_NAME="$(basename $GITHUB_REPOSITORY)"
+ export GIT_BRANCH="${GITHUB_REF_NAME}"
+ export MINIFORGE_HOME="${MINIFORGE_HOME/#~/${HOME}}"
+ export flow_run_id="github_$GITHUB_RUN_ID"
+ export remote_url="https://github.com/$GITHUB_REPOSITORY"
+ export sha="$GITHUB_SHA"
+ if [[ "${GITHUB_EVENT_NAME}" == "pull_request" ]]; then
+ export IS_PR_BUILD="True"
+ else
+ export IS_PR_BUILD="False"
+ fi
+ ./.scripts/run_docker_build.sh
+
+ - name: Build on macOS
+ id: build-macos
+ if: matrix.os == 'macos'
+ env:
+ CI: github_actions
+ CONDA_BLD_PATH: ${{ matrix.build_workspace_dir }}
+ CONFIG: ${{ matrix.CONFIG }}
+ MINIFORGE_HOME: ${{ matrix.tools_install_dir }}
+ UPLOAD_PACKAGES: ${{ matrix.UPLOAD_PACKAGES }}
+ RATTLER_BUILD_COLOR: always
+ RATTLER_BUILD_ENABLE_GITHUB_INTEGRATION: 'true'
+ BINSTAR_TOKEN: ${{ secrets.BINSTAR_TOKEN }}
+ FEEDSTOCK_TOKEN: ${{ secrets.FEEDSTOCK_TOKEN }}
+ STAGING_BINSTAR_TOKEN: ${{ secrets.STAGING_BINSTAR_TOKEN }}
+ shell: bash
+ run: |
+ export CONDA_BLD_PATH="${CONDA_BLD_PATH/#~/${HOME}}"
+ export FEEDSTOCK_NAME="$(basename $GITHUB_REPOSITORY)"
+ export GIT_BRANCH="${GITHUB_REF_NAME}"
+ export MINIFORGE_HOME="${MINIFORGE_HOME/#~/${HOME}}"
+ export flow_run_id="github_$GITHUB_RUN_ID"
+ export remote_url="https://github.com/$GITHUB_REPOSITORY"
+ export sha="$GITHUB_SHA"
+ if [[ "${GITHUB_EVENT_NAME}" == "pull_request" ]]; then
+ export IS_PR_BUILD="True"
+ else
+ export IS_PR_BUILD="False"
+ fi
+ ./.scripts/run_osx_build.sh
+
+ - name: Build on windows
+ id: build-windows
+ if: matrix.os == 'windows'
+ shell: cmd
+ run: |
+ set "flow_run_id=github_%GITHUB_RUN_ID%"
+ set "remote_url=https://github.com/%GITHUB_REPOSITORY%"
+ set "sha=%GITHUB_SHA%"
+ call ".scripts\run_win_build.bat"
+ env:
+ BUILD_PLATFORM: ${{ matrix.build_platform }}
+ CI: github_actions
+ CONDA_BLD_PATH: ${{ matrix.build_workspace_dir }}
+ CONFIG: ${{ matrix.CONFIG }}
+ MINIFORGE_HOME: ${{ matrix.tools_install_dir }}
+ PYTHONUNBUFFERED: 1
+ UPLOAD_PACKAGES: ${{ matrix.UPLOAD_PACKAGES }}
+ RATTLER_BUILD_COLOR: always
+ RATTLER_BUILD_ENABLE_GITHUB_INTEGRATION: 'true'
+ BINSTAR_TOKEN: ${{ secrets.BINSTAR_TOKEN }}
+ FEEDSTOCK_TOKEN: ${{ secrets.FEEDSTOCK_TOKEN }}
+ STAGING_BINSTAR_TOKEN: ${{ secrets.STAGING_BINSTAR_TOKEN }}
\ No newline at end of file
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/logging_utils.sh b/.scripts/logging_utils.sh
old mode 100644
new mode 100755
diff --git a/.scripts/run_win_build.bat b/.scripts/run_win_build.bat
index 2b9fd75..54b897c 100755
--- a/.scripts/run_win_build.bat
+++ b/.scripts/run_win_build.bat
@@ -31,7 +31,7 @@ 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"
+ pip python=3.12 conda-build conda-forge-ci-setup=4 "conda-build>=26.3"
if !errorlevel! neq 0 exit /b !errorlevel!
echo Removing %MAMBA_ROOT_PREFIX%
del /S /Q "%MAMBA_ROOT_PREFIX%" >nul
@@ -42,7 +42,8 @@ call :start_group "Configuring conda"
:: Activate the base conda environment
echo Activating environment
-call "%MINIFORGE_HOME%\Scripts\activate.bat"
+set "CONDA_EXE=%MINIFORGE_HOME%\Scripts\conda.exe"
+call "%MINIFORGE_HOME%\condabin\conda.bat" activate "%MINIFORGE_HOME%"
:: Configure the solver
set "CONDA_SOLVER=libmamba"
if !errorlevel! neq 0 exit /b !errorlevel!
@@ -71,8 +72,12 @@ call :end_group
:: Build the recipe
echo Building recipe
+set "_OLD_CONDA_SUBDIR=%CONDA_SUBDIR%"
+set "CONDA_SUBDIR=%BUILD_PLATFORM%"
conda-build.exe "recipe" -m .ci_support\%CONFIG%.yaml --suppress-variables %EXTRA_CB_OPTIONS%
if !errorlevel! neq 0 exit /b !errorlevel!
+set "_OLD_CONDA_SUBDIR="
+set "CONDA_SUBDIR=%_OLD_CONDA_SUBDIR%"
call :start_group "Inspecting artifacts"
:: inspect_artifacts was only added in conda-forge-ci-setup 4.9.4
@@ -82,7 +87,7 @@ call :end_group
:: Prepare some environment variables for the upload step
if /i "%CI%" == "github_actions" (
set "FEEDSTOCK_NAME=%GITHUB_REPOSITORY:*/=%"
- set "GIT_BRANCH=%GITHUB_REF:refs/heads/=%"
+ set "GIT_BRANCH=%GITHUB_REF_NAME%"
if /i "%GITHUB_EVENT_NAME%" == "pull_request" (
set "IS_PR_BUILD=True"
) else (
diff --git a/LICENSE.txt b/LICENSE.txt
index 2ec51d7..c5aa738 100644
--- a/LICENSE.txt
+++ b/LICENSE.txt
@@ -1,6 +1,5 @@
BSD-3-Clause license
-Copyright (c) 2015-2022, conda-forge contributors
-All rights reserved.
+Copyright (c) 2015-2026, conda-forge contributors
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
diff --git a/README.md b/README.md
index c9191cd..bcc1e49 100644
--- a/README.md
+++ b/README.md
@@ -13,30 +13,12 @@ Current build status
====================
-
-
-
- | Azure |
+
+ | GitHub Actions |
-
-
-
-
-
-
-
- | Variant | Status |
-
- | win_64 |
-
-
-
-
- |
-
-
-
-
+
+
+
|
@@ -59,31 +41,73 @@ conda config --add channels conda-forge
conda config --set channel_priority strict
```
-Once the `conda-forge` channel has been enabled, `distutils-activate-mingw, libpython` can be installed with `conda`:
+How to use
+----------
+
+
+With conda
```
conda install distutils-activate-mingw libpython
```
-or with `mamba`:
+
+
+
+With mamba
```
mamba install distutils-activate-mingw libpython
```
-It is possible to list all of the versions of `distutils-activate-mingw` available on your platform with `conda`:
+
+
+
+With pixi
+
+```
+# for adding to your local project
+pixi add distutils-activate-mingw libpython
+# for installing globally
+pixi global install distutils-activate-mingw libpython
+```
+
+
+
+Search package versions
+-----------------------
+
+It is possible to list all of the versions of `distutils-activate-mingw` available on your platform:
+
+
+With conda
```
conda search distutils-activate-mingw --channel conda-forge
```
-or with `mamba`:
+
+
+
+With mamba
```
mamba search distutils-activate-mingw --channel conda-forge
```
-Alternatively, `mamba repoquery` may provide more information:
+
+
+
+With pixi
+
+```
+pixi search distutils-activate-mingw --channel conda-forge
+```
+
+
+
+
+With mamba repoquery, which may provide more information
```
# Search all versions available on your platform:
@@ -96,6 +120,8 @@ mamba repoquery whoneeds distutils-activate-mingw --channel conda-forge
mamba repoquery depends distutils-activate-mingw --channel conda-forge
```
+
+
About conda-forge
=================
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
deleted file mode 100644
index 879c4a9..0000000
--- a/azure-pipelines.yml
+++ /dev/null
@@ -1,31 +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.
-# -*- mode: yaml -*-
-
-stages:
-- stage: Check
- jobs:
- - job: Skip
- pool:
- vmImage: 'ubuntu-22.04'
- variables:
- DECODE_PERCENTS: 'false'
- RET: 'true'
- steps:
- - checkout: self
- fetchDepth: '2'
- - bash: |
- git_log=`git log --max-count=1 --skip=1 --pretty=format:"%B" | tr "\n" " "`
- echo "##vso[task.setvariable variable=log]$git_log"
- displayName: Obtain commit message
- - bash: echo "##vso[task.setvariable variable=RET]false"
- condition: and(eq(variables['Build.Reason'], 'PullRequest'), or(contains(variables.log, '[skip azp]'), contains(variables.log, '[azp skip]'), contains(variables.log, '[skip ci]'), contains(variables.log, '[ci skip]')))
- displayName: Skip build?
- - bash: echo "##vso[task.setvariable variable=start_main;isOutput=true]$RET"
- name: result
- displayName: Export result
-- stage: Build
- condition: and(succeeded(), eq(dependencies.Check.outputs['Skip.result.start_main'], 'true'))
- dependsOn: Check
- jobs:
- - template: ./.azure-pipelines/azure-pipelines-win.yml
\ No newline at end of file
diff --git a/build-locally.py b/build-locally.py
index 9dfe440..3beb68c 100755
--- a/build-locally.py
+++ b/build-locally.py
@@ -1,5 +1,6 @@
#!/bin/sh
"""exec" "python3" "$0" "$@" #""" # fmt: off # fmt: on
+
#
# This file has been generated by conda-smithy in order to build the recipe
# locally.
@@ -27,13 +28,6 @@ def setup_environment(ns):
os.path.dirname(__file__), "miniforge3"
)
- # The default cache location might not be writable using docker on macOS.
- if ns.config.startswith("linux") and platform.system() == "Darwin":
- os.environ["CONDA_FORGE_DOCKER_RUN_ARGS"] = (
- os.environ.get("CONDA_FORGE_DOCKER_RUN_ARGS", "")
- + " -e RATTLER_CACHE_DIR=/tmp/rattler_cache"
- )
-
def run_docker_build(ns):
script = ".scripts/run_docker_build.sh"
@@ -104,7 +98,10 @@ def main(args=None):
p.add_argument(
"--debug",
action="store_true",
- help="Setup debug environment using `conda debug`",
+ help=(
+ "Setup debug environment using `conda debug` "
+ "(or `rattler-build debug` for rattler-build recipes)"
+ ),
)
p.add_argument("--output-id", help="If running debug, specify the output to setup.")