From 6b2e7def7c07b6fe269bb4211a754ae567fba0f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Kieffer?= Date: Fri, 5 Sep 2025 15:03:21 +0200 Subject: [PATCH 1/4] enable limited API to support several versions of Python (3.11+) --- meson.build | 2 +- src/fabio/ext/meson.build | 8 ++++++-- version.py | 4 ++-- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/meson.build b/meson.build index f813632db..12cfa04b8 100644 --- a/meson.build +++ b/meson.build @@ -1,7 +1,7 @@ project('FabIO', 'c', 'cython', license: 'MIT', - meson_version: '>= 0.60', + meson_version: '>= 1.3', version: run_command(['version.py', '--wheel'], check:true).stdout().strip(), ) diff --git a/src/fabio/ext/meson.build b/src/fabio/ext/meson.build index 27ec793c5..fcb2859f7 100644 --- a/src/fabio/ext/meson.build +++ b/src/fabio/ext/meson.build @@ -9,6 +9,7 @@ py.extension_module('cf_io', include_directories : ['include'], install: true, subdir: 'fabio/ext', + limited_api: '3.11' ) py.extension_module('byte_offset', @@ -16,6 +17,7 @@ py.extension_module('byte_offset', dependencies : py_dep, install: true, subdir: 'fabio/ext', + limited_api: '3.11' ) py.extension_module('mar345_IO', @@ -25,6 +27,7 @@ py.extension_module('mar345_IO', install: true, subdir: 'fabio/ext', include_directories : ['include'], + limited_api: '3.11' ) py.extension_module('_cif', @@ -32,6 +35,7 @@ py.extension_module('_cif', dependencies : py_dep, install: true, subdir: 'fabio/ext', + limited_api: '3.11' ) py.extension_module( '_agi_bitfield', @@ -39,6 +43,7 @@ py.extension_module( '_agi_bitfield', dependencies : py_dep, install: true, subdir: 'fabio/ext', + limited_api: '3.11' ) py.extension_module( 'dense', @@ -46,6 +51,5 @@ py.extension_module( 'dense', dependencies : py_dep, install: true, subdir: 'fabio/ext', + limited_api: '3.11' ) - - diff --git a/version.py b/version.py index 49d65ffe7..e1152d32f 100755 --- a/version.py +++ b/version.py @@ -75,8 +75,8 @@ "beta": "b", "candidate": "rc"} -MAJOR = 2024 -MINOR = 10 +MAJOR = 2025 +MINOR = 9 MICRO = 0 RELEV = "dev" # <16 SERIAL = 0 # <16 From b9477dc572ebb42f40ff72a288f2f10152cb3942 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Kieffer?= Date: Fri, 5 Sep 2025 15:11:25 +0200 Subject: [PATCH 2/4] update test-matrix after the drop of 3.10 --- .github/workflows/python-package.yml | 2 +- .github/workflows/release.yml | 2 +- ci/appveyor.yml | 14 +++++++++----- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index a4e00bb8b..08e2b3f56 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -15,7 +15,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ['3.9', '3.10', '3.11', '3.12', '3.13'] + python-version: ['3.11', '3.12', '3.13'] steps: - uses: actions/checkout@v2 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 53ff5486b..ee9a611d2 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -111,7 +111,7 @@ jobs: # Use silx wheelhouse: needed for ppc64le CIBW_ENVIRONMENT_LINUX: "PIP_FIND_LINKS=https://www.silx.org/pub/wheelhouse/ PIP_TRUSTED_HOST=www.silx.org" CIBW_BUILD_VERBOSITY: 1 - CIBW_BUILD: cp38-* cp39-* cp310-* cp311-* cp312-* cp313-* + CIBW_BUILD: cp311-* cp312-* cp313-* # Do not build for pypy and muslinux CIBW_SKIP: pp* *-musllinux_* CIBW_ARCHS: ${{ matrix.cibw_archs }} diff --git a/ci/appveyor.yml b/ci/appveyor.yml index 0aebbdfd0..aa0238d9b 100644 --- a/ci/appveyor.yml +++ b/ci/appveyor.yml @@ -34,12 +34,12 @@ environment: # PYTHON_ARCH: "64" # Python 3.9 - - PYTHON_DIR: "C:\\Python39-x64" - PYTHON_ARCH: "64" + # - PYTHON_DIR: "C:\\Python39-x64" + # PYTHON_ARCH: "64" - # Python 3.10 - - PYTHON_DIR: "C:\\Python310-x64" - PYTHON_ARCH: "64" + # # Python 3.10 + # - PYTHON_DIR: "C:\\Python310-x64" + # PYTHON_ARCH: "64" # Python 3.11 - PYTHON_DIR: "C:\\Python311-x64" @@ -49,6 +49,10 @@ environment: - PYTHON_DIR: "C:\\Python312-x64" PYTHON_ARCH: "64" + # Python 3.13 + - PYTHON_DIR: "C:\\Python313-x64" + PYTHON_ARCH: "64" + install: # Add Python to PATH From 622a004d0e25e75e754dff60525d1ac1f81dc569 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Kieffer?= Date: Fri, 5 Sep 2025 16:01:55 +0200 Subject: [PATCH 3/4] update also RTD --- .readthedocs.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index e4249010c..68e074a4e 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -9,7 +9,7 @@ version: 2 build: os: ubuntu-22.04 tools: - python: "3.10" + python: "3.12" # Build documentation in the docs/ directory with Sphinx sphinx: From c8bc5b1e380afd3579ca2fd0712935fd0d4fdddb Mon Sep 17 00:00:00 2001 From: Jerome Kieffer Date: Wed, 25 Feb 2026 21:27:38 +0100 Subject: [PATCH 4/4] Remove Python 3.10 from workflow matrix --- .github/workflows/python-package.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index 89e818cb7..87627e6a6 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -15,7 +15,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ['3.10', '3.11', '3.12', '3.13', '3.14.0'] + python-version: ['3.11', '3.12', '3.13', '3.14'] steps: - uses: actions/checkout@v2