[med-svn] [Git][med-team/openslide-python][master] 5 commits: New upstream version 1.4.3

Étienne Mollier (@emollier) gitlab at salsa.debian.org
Sun Jan 4 18:13:17 GMT 2026



Étienne Mollier pushed to branch master at Debian Med / openslide-python


Commits:
7bd1f52f by Étienne Mollier at 2026-01-04T18:59:23+01:00
New upstream version 1.4.3
- - - - -
134af3b8 by Étienne Mollier at 2026-01-04T18:59:26+01:00
Update upstream source from tag 'upstream/1.4.3'

Update to upstream version '1.4.3'
with Debian dir 1300dd6b238564e646c145f8c040a1a2eaa5479e
- - - - -
371bb25f by Étienne Mollier at 2026-01-04T19:00:22+01:00
d/control: drop redundant Priority: optional.

- - - - -
61b79c8f by Étienne Mollier at 2026-01-04T19:01:02+01:00
d/control: declare compliance to standards version 4.7.3.

- - - - -
0fb17f29 by Étienne Mollier at 2026-01-04T19:12:52+01:00
d/changelog: ready for upload to unstable.

- - - - -


11 changed files:

- CHANGELOG.md
- PKG-INFO
- README.md
- debian/changelog
- debian/control
- openslide/_convert.c
- openslide/_version.py
- openslide/lowlevel.py
- openslide_python.egg-info/PKG-INFO
- pyproject.toml
- setup.py


Changes:

=====================================
CHANGELOG.md
=====================================
@@ -1,5 +1,20 @@
 # Notable Changes in OpenSlide Python
 
+## Version 1.4.3, 2025-12-03
+
+### New features
+
+* Support [free-threaded Python][free-thread]
+
+### Changes
+
+* Drop support for Python 3.9
+* Switch extension module to [multi-phase initialization][multi-phase-init]
+
+[free-thread]: https://docs.python.org/3/howto/free-threading-python.html
+[multi-phase-init]: https://peps.python.org/pep-0489/
+
+
 ## Version 1.4.2, 2025-04-28
 
 ### Changes


=====================================
PKG-INFO
=====================================
@@ -1,6 +1,6 @@
 Metadata-Version: 2.4
 Name: openslide-python
-Version: 1.4.2
+Version: 1.4.3
 Summary: Python interface to OpenSlide
 Maintainer-email: OpenSlide project <openslide-users at lists.andrew.cmu.edu>
 License-Expression: LGPL-2.1-only AND BSD-3-Clause AND MIT AND LicenseRef-Public-Domain
@@ -18,14 +18,15 @@ Classifier: Operating System :: Microsoft :: Windows
 Classifier: Operating System :: POSIX :: Linux
 Classifier: Programming Language :: Python
 Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.9
 Classifier: Programming Language :: Python :: 3.10
 Classifier: Programming Language :: Python :: 3.11
 Classifier: Programming Language :: Python :: 3.12
 Classifier: Programming Language :: Python :: 3.13
+Classifier: Programming Language :: Python :: 3.14
+Classifier: Programming Language :: Python :: Free Threading :: 2 - Beta
 Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
 Classifier: Typing :: Typed
-Requires-Python: >=3.9
+Requires-Python: >=3.10
 Description-Content-Type: text/markdown
 License-File: COPYING.LESSER
 License-File: examples/deepzoom/licenses/LICENSE.jquery
@@ -77,7 +78,7 @@ OpenSlide can read virtual slides in several formats:
 
 ## Requirements
 
-* Python ≥ 3.9
+* Python ≥ 3.10
 * OpenSlide ≥ 3.4.0
 * Pillow
 


=====================================
README.md
=====================================
@@ -41,7 +41,7 @@ OpenSlide can read virtual slides in several formats:
 
 ## Requirements
 
-* Python ≥ 3.9
+* Python ≥ 3.10
 * OpenSlide ≥ 3.4.0
 * Pillow
 


=====================================
debian/changelog
=====================================
@@ -1,3 +1,11 @@
+openslide-python (1.4.3-1) unstable; urgency=medium
+
+  * New upstream version 1.4.3
+  * d/control: drop redundant Priority: optional.
+  * d/control: declare compliance to standards version 4.7.3.
+
+ -- Étienne Mollier <emollier at debian.org>  Sun, 04 Jan 2026 19:01:33 +0100
+
 openslide-python (1.4.2-1) unstable; urgency=medium
 
   * New upstream version 1.4.2


=====================================
debian/control
=====================================
@@ -4,7 +4,6 @@ Uploaders: Andreas Tille <tille at debian.org>,
            Étienne Mollier <emollier at debian.org>
 Section: python
 Testsuite: autopkgtest-pkg-python
-Priority: optional
 Build-Depends: debhelper-compat (= 13),
                dh-sequence-python3,
                pybuild-plugin-pyproject,
@@ -13,7 +12,7 @@ Build-Depends: debhelper-compat (= 13),
                python3-pytest,
                python3-setuptools,
                libopenslide-dev
-Standards-Version: 4.7.2
+Standards-Version: 4.7.3
 Vcs-Browser: https://salsa.debian.org/med-team/openslide-python
 Vcs-Git: https://salsa.debian.org/med-team/openslide-python.git
 Homepage: https://openslide.org


=====================================
openslide/_convert.c
=====================================
@@ -96,22 +96,30 @@ DONE:
     return ret;
 }
 
-static PyMethodDef ConvertMethods[] = {
+static PyMethodDef _convert_methods[] = {
     {"argb2rgba", _convert_argb2rgba, METH_VARARGS,
         "Convert aRGB to RGBA in place."},
     {NULL, NULL, 0, NULL}
 };
 
-static struct PyModuleDef convertmodule = {
+static PyModuleDef_Slot _convert_slots[] = {
+#if PY_VERSION_HEX >= 0x030D0000 && !defined(Py_LIMITED_API)
+    {Py_mod_gil, Py_MOD_GIL_NOT_USED},
+#endif
+    {0, NULL}
+};
+
+static struct PyModuleDef _convert_module = {
     PyModuleDef_HEAD_INIT,
     "_convert",
     NULL,
     0,
-    ConvertMethods
+    _convert_methods,
+    _convert_slots,
 };
 
 PyMODINIT_FUNC
 PyInit__convert(void)
 {
-    return PyModule_Create2(&convertmodule, PYTHON_API_VERSION);
+    return PyModuleDef_Init(&_convert_module);
 }


=====================================
openslide/_version.py
=====================================
@@ -21,4 +21,4 @@
 This module is an implementation detail.  The package version should be
 obtained from openslide.__version__."""
 
-__version__ = '1.4.2'
+__version__ = '1.4.3'


=====================================
openslide/lowlevel.py
=====================================
@@ -31,6 +31,7 @@ rather than in the high-level interface.)
 
 from __future__ import annotations
 
+from collections.abc import Callable
 from ctypes import (
     CDLL,
     POINTER,
@@ -49,7 +50,7 @@ from ctypes import (
 from itertools import count
 import os
 import platform
-from typing import TYPE_CHECKING, Any, Callable, Protocol, TypeVar, cast
+from typing import TYPE_CHECKING, Any, Protocol, TypeVar, cast
 
 from PIL import Image
 


=====================================
openslide_python.egg-info/PKG-INFO
=====================================
@@ -1,6 +1,6 @@
 Metadata-Version: 2.4
 Name: openslide-python
-Version: 1.4.2
+Version: 1.4.3
 Summary: Python interface to OpenSlide
 Maintainer-email: OpenSlide project <openslide-users at lists.andrew.cmu.edu>
 License-Expression: LGPL-2.1-only AND BSD-3-Clause AND MIT AND LicenseRef-Public-Domain
@@ -18,14 +18,15 @@ Classifier: Operating System :: Microsoft :: Windows
 Classifier: Operating System :: POSIX :: Linux
 Classifier: Programming Language :: Python
 Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.9
 Classifier: Programming Language :: Python :: 3.10
 Classifier: Programming Language :: Python :: 3.11
 Classifier: Programming Language :: Python :: 3.12
 Classifier: Programming Language :: Python :: 3.13
+Classifier: Programming Language :: Python :: 3.14
+Classifier: Programming Language :: Python :: Free Threading :: 2 - Beta
 Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
 Classifier: Typing :: Typed
-Requires-Python: >=3.9
+Requires-Python: >=3.10
 Description-Content-Type: text/markdown
 License-File: COPYING.LESSER
 License-File: examples/deepzoom/licenses/LICENSE.jquery
@@ -77,7 +78,7 @@ OpenSlide can read virtual slides in several formats:
 
 ## Requirements
 
-* Python ≥ 3.9
+* Python ≥ 3.10
 * OpenSlide ≥ 3.4.0
 * Pillow
 


=====================================
pyproject.toml
=====================================
@@ -18,15 +18,16 @@ classifiers = [
     "Operating System :: POSIX :: Linux",
     "Programming Language :: Python",
     "Programming Language :: Python :: 3",
-    "Programming Language :: Python :: 3.9",
     "Programming Language :: Python :: 3.10",
     "Programming Language :: Python :: 3.11",
     "Programming Language :: Python :: 3.12",
     "Programming Language :: Python :: 3.13",
+    "Programming Language :: Python :: 3.14",
+    "Programming Language :: Python :: Free Threading :: 2 - Beta",
     "Topic :: Scientific/Engineering :: Bio-Informatics",
     "Typing :: Typed",
 ]
-requires-python = ">= 3.9"
+requires-python = ">= 3.10"
 dependencies = ["Pillow"]
 dynamic = ["version"]
 
@@ -51,7 +52,7 @@ openslide = ["py.typed", "*.pyi"]
 
 [tool.black]
 skip-string-normalization = true
-target-version = ["py39", "py310", "py311", "py312", "py313"]
+target-version = ["py310", "py311", "py312", "py313", "py314"]
 
 # Ref: https://github.com/codespell-project/codespell#using-a-config-file
 [tool.codespell]


=====================================
setup.py
=====================================
@@ -1,5 +1,6 @@
 from pathlib import Path
 import sys
+import sysconfig
 
 from setuptools import Extension, setup
 
@@ -7,9 +8,9 @@ from setuptools import Extension, setup
 with open(Path(__file__).parent / 'openslide/_version.py') as _fh:
     exec(_fh.read())  # instantiates __version__
 
-# use the Limited API on Python 3.11+; build release-specific wheels on
-# older Python
-_abi3 = sys.version_info >= (3, 11)
+# use the Limited API on Python 3.11+ on GIL builds; build release-specific
+# wheels on older or free-threaded Python
+_abi3 = sys.version_info >= (3, 11) and not sysconfig.get_config_var('Py_GIL_DISABLED')
 
 setup(
     ext_modules=[



View it on GitLab: https://salsa.debian.org/med-team/openslide-python/-/compare/21f61412c5d228a709ede2787d012965b3a1f8da...0fb17f2966e4f366ad5866c19013b5f982f6b40f

-- 
View it on GitLab: https://salsa.debian.org/med-team/openslide-python/-/compare/21f61412c5d228a709ede2787d012965b3a1f8da...0fb17f2966e4f366ad5866c19013b5f982f6b40f
You're receiving this email because of your account on salsa.debian.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-med-commit/attachments/20260104/edab3411/attachment-0001.htm>


More information about the debian-med-commit mailing list