diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml
index 1f5aa4c..bdc90c7 100755
--- a/.azure-pipelines/azure-pipelines-linux.yml
+++ b/.azure-pipelines/azure-pipelines-linux.yml
@@ -16,6 +16,10 @@ jobs:
CONFIG: linux_64_python3.11.____cpython
UPLOAD_PACKAGES: 'True'
DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64
+ linux_64_python3.12.____cpython:
+ CONFIG: linux_64_python3.12.____cpython
+ UPLOAD_PACKAGES: 'True'
+ DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64
linux_64_python3.9.____73_pypy:
CONFIG: linux_64_python3.9.____73_pypy
UPLOAD_PACKAGES: 'True'
diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml
index 4fa3747..904ee2a 100755
--- a/.azure-pipelines/azure-pipelines-osx.yml
+++ b/.azure-pipelines/azure-pipelines-osx.yml
@@ -14,6 +14,9 @@ jobs:
osx_64_python3.11.____cpython:
CONFIG: osx_64_python3.11.____cpython
UPLOAD_PACKAGES: 'True'
+ osx_64_python3.12.____cpython:
+ CONFIG: osx_64_python3.12.____cpython
+ UPLOAD_PACKAGES: 'True'
osx_64_python3.9.____73_pypy:
CONFIG: osx_64_python3.9.____73_pypy
UPLOAD_PACKAGES: 'True'
@@ -26,6 +29,9 @@ jobs:
osx_arm64_python3.11.____cpython:
CONFIG: osx_arm64_python3.11.____cpython
UPLOAD_PACKAGES: 'True'
+ osx_arm64_python3.12.____cpython:
+ CONFIG: osx_arm64_python3.12.____cpython
+ UPLOAD_PACKAGES: 'True'
osx_arm64_python3.9.____cpython:
CONFIG: osx_arm64_python3.9.____cpython
UPLOAD_PACKAGES: 'True'
diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml
index 3694144..1b9fa79 100755
--- a/.azure-pipelines/azure-pipelines-win.yml
+++ b/.azure-pipelines/azure-pipelines-win.yml
@@ -14,6 +14,9 @@ jobs:
win_64_python3.11.____cpython:
CONFIG: win_64_python3.11.____cpython
UPLOAD_PACKAGES: 'True'
+ win_64_python3.12.____cpython:
+ CONFIG: win_64_python3.12.____cpython
+ UPLOAD_PACKAGES: 'True'
win_64_python3.9.____73_pypy:
CONFIG: win_64_python3.9.____73_pypy
UPLOAD_PACKAGES: 'True'
diff --git a/.ci_support/linux_64_python3.12.____cpython.yaml b/.ci_support/linux_64_python3.12.____cpython.yaml
new file mode 100644
index 0000000..8564607
--- /dev/null
+++ b/.ci_support/linux_64_python3.12.____cpython.yaml
@@ -0,0 +1,23 @@
+c_stdlib:
+- sysroot
+c_stdlib_version:
+- '2.12'
+cdt_name:
+- cos6
+channel_sources:
+- conda-forge
+channel_targets:
+- conda-forge main
+docker_image:
+- quay.io/condaforge/linux-anvil-cos7-x86_64
+pin_run_as_build:
+ python:
+ min_pin: x.x
+ max_pin: x.x
+python:
+- 3.12.* *_cpython
+target_platform:
+- linux-64
+zip_keys:
+- - c_stdlib_version
+ - cdt_name
diff --git a/.ci_support/migrations/python312.yaml b/.ci_support/migrations/python312.yaml
new file mode 100644
index 0000000..784a0a2
--- /dev/null
+++ b/.ci_support/migrations/python312.yaml
@@ -0,0 +1,38 @@
+migrator_ts: 1695046563
+__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
+ - 3.11.* *_cpython
+ - 3.12.* *_cpython # new entry
+ - 3.6.* *_73_pypy
+ - 3.7.* *_73_pypy
+ - 3.8.* *_73_pypy
+ - 3.9.* *_73_pypy
+ paused: false
+ longterm: True
+ pr_limit: 30
+ max_solver_attempts: 6 # this will make the bot retry "not solvable" stuff 6 times
+ 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.12.* *_cpython
+# additional entries to add for zip_keys
+numpy:
+ - 1.26
+python_impl:
+ - cpython
diff --git a/.ci_support/osx_64_python3.12.____cpython.yaml b/.ci_support/osx_64_python3.12.____cpython.yaml
new file mode 100644
index 0000000..fea9d2d
--- /dev/null
+++ b/.ci_support/osx_64_python3.12.____cpython.yaml
@@ -0,0 +1,20 @@
+MACOSX_DEPLOYMENT_TARGET:
+- '10.9'
+c_stdlib:
+- macosx_deployment_target
+c_stdlib_version:
+- '10.9'
+channel_sources:
+- conda-forge
+channel_targets:
+- conda-forge main
+macos_machine:
+- x86_64-apple-darwin13.4.0
+pin_run_as_build:
+ python:
+ min_pin: x.x
+ max_pin: x.x
+python:
+- 3.12.* *_cpython
+target_platform:
+- osx-64
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..221b53a
--- /dev/null
+++ b/.ci_support/osx_arm64_python3.12.____cpython.yaml
@@ -0,0 +1,20 @@
+MACOSX_DEPLOYMENT_TARGET:
+- '11.0'
+c_stdlib:
+- macosx_deployment_target
+c_stdlib_version:
+- '11.0'
+channel_sources:
+- conda-forge
+channel_targets:
+- conda-forge main
+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
diff --git a/.ci_support/win_64_python3.12.____cpython.yaml b/.ci_support/win_64_python3.12.____cpython.yaml
new file mode 100644
index 0000000..43b339f
--- /dev/null
+++ b/.ci_support/win_64_python3.12.____cpython.yaml
@@ -0,0 +1,14 @@
+c_stdlib:
+- vs
+channel_sources:
+- conda-forge
+channel_targets:
+- conda-forge main
+pin_run_as_build:
+ python:
+ min_pin: x.x
+ max_pin: x.x
+python:
+- 3.12.* *_cpython
+target_platform:
+- win-64
diff --git a/README.md b/README.md
index 5052ae6..f327436 100644
--- a/README.md
+++ b/README.md
@@ -50,6 +50,13 @@ Current build status
+