From 4e843830603f99d7e753375ddee93ba7eb163ba8 Mon Sep 17 00:00:00 2001 From: link2xt Date: Fri, 28 Nov 2025 20:55:34 +0000 Subject: [PATCH 1/3] build: increase minimum supported Python version to 3.10 Python 3.9 is not supported since 2025-10-31: https://devguide.python.org/versions/ mypy just dropped support for Python 3.9: --- .github/workflows/ci.yml | 8 ++++---- deltachat-rpc-client/pyproject.toml | 4 +--- python/pyproject.toml | 3 +-- scripts/run_all.sh | 2 +- 4 files changed, 7 insertions(+), 10 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 32445b3bfa..570cd45fe4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -246,11 +246,11 @@ jobs: - os: macos-latest python: pypy3.10 - # Minimum Supported Python Version = 3.8 + # Minimum Supported Python Version = 3.10 # This is the minimum version for which manylinux Python wheels are # built. Test it with minimum supported Rust version. - os: ubuntu-latest - python: 3.8 + python: "3.10" runs-on: ${{ matrix.os }} timeout-minutes: 60 @@ -302,9 +302,9 @@ jobs: - os: macos-latest python: pypy3.10 - # Minimum Supported Python Version = 3.8 + # Minimum Supported Python Version = 3.10 - os: ubuntu-latest - python: 3.8 + python: "3.10" runs-on: ${{ matrix.os }} timeout-minutes: 60 diff --git a/deltachat-rpc-client/pyproject.toml b/deltachat-rpc-client/pyproject.toml index b38b67cf2d..178585d826 100644 --- a/deltachat-rpc-client/pyproject.toml +++ b/deltachat-rpc-client/pyproject.toml @@ -13,8 +13,6 @@ classifiers = [ "Operating System :: POSIX :: Linux", "Operating System :: MacOS :: MacOS X", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.8", - "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", @@ -24,7 +22,7 @@ classifiers = [ "Topic :: Communications :: Email" ] readme = "README.md" -requires-python = ">=3.8" +requires-python = ">=3.10" [tool.setuptools.package-data] deltachat_rpc_client = [ diff --git a/python/pyproject.toml b/python/pyproject.toml index 34d8fa13c5..34fd27a47f 100644 --- a/python/pyproject.toml +++ b/python/pyproject.toml @@ -7,7 +7,7 @@ name = "deltachat" version = "2.28.0" description = "Python bindings for the Delta Chat Core library using CFFI against the Rust-implemented libdeltachat" readme = "README.rst" -requires-python = ">=3.8" +requires-python = ">=3.10" authors = [ { name = "holger krekel, Floris Bruynooghe, Bjoern Petersen and contributors" }, ] @@ -23,7 +23,6 @@ classifiers = [ dependencies = [ "cffi>=1.0.0", "imap-tools", - "importlib_metadata;python_version<'3.8'", "pluggy", "requests", ] diff --git a/scripts/run_all.sh b/scripts/run_all.sh index a93548beca..5a5ac6130a 100755 --- a/scripts/run_all.sh +++ b/scripts/run_all.sh @@ -31,6 +31,6 @@ unset CHATMAIL_DOMAIN # Try to build wheels for a range of interpreters, but don't fail if they are not available. # E.g. musllinux_1_1 does not have PyPy interpreters as of 2022-07-10 -tox --workdir "$TOXWORKDIR" -e py38,py39,py310,py311,py312,py313,pypy38,pypy39,pypy310 --skip-missing-interpreters true +tox --workdir "$TOXWORKDIR" -e py310,py311,py312,py313,pypy310 --skip-missing-interpreters true auditwheel repair "$TOXWORKDIR"/wheelhouse/deltachat* -w "$TOXWORKDIR/wheelhouse" From 52e28e0114658eb29258f8319420cd82590accc7 Mon Sep 17 00:00:00 2001 From: link2xt Date: Fri, 28 Nov 2025 20:45:34 +0000 Subject: [PATCH 2/3] build: use SPDX license expression in Python package metadata License classifiers are replaced with `license`. This is supported since `setuptools` v77.0.0: Without this change we get `SetuptoolsDeprecationWarning: License classifiers are deprecated.` with a reference to --- deltachat-rpc-client/pyproject.toml | 4 ++-- python/pyproject.toml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/deltachat-rpc-client/pyproject.toml b/deltachat-rpc-client/pyproject.toml index 178585d826..b62d55969f 100644 --- a/deltachat-rpc-client/pyproject.toml +++ b/deltachat-rpc-client/pyproject.toml @@ -1,15 +1,15 @@ [build-system] -requires = ["setuptools>=45"] +requires = ["setuptools>=77"] build-backend = "setuptools.build_meta" [project] name = "deltachat-rpc-client" version = "2.28.0" +license = "MPL-2.0" description = "Python client for Delta Chat core JSON-RPC interface" classifiers = [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", - "License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)", "Operating System :: POSIX :: Linux", "Operating System :: MacOS :: MacOS X", "Programming Language :: Python :: 3", diff --git a/python/pyproject.toml b/python/pyproject.toml index 34fd27a47f..a0b4099fb1 100644 --- a/python/pyproject.toml +++ b/python/pyproject.toml @@ -1,10 +1,11 @@ [build-system] -requires = ["setuptools>=45", "wheel", "cffi>=1.0.0", "pkgconfig"] +requires = ["setuptools>=77", "wheel", "cffi>=1.0.0", "pkgconfig"] build-backend = "setuptools.build_meta" [project] name = "deltachat" version = "2.28.0" +license = "MPL-2.0" description = "Python bindings for the Delta Chat Core library using CFFI against the Rust-implemented libdeltachat" readme = "README.rst" requires-python = ">=3.10" @@ -14,7 +15,6 @@ authors = [ classifiers = [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", - "License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)", "Programming Language :: Python :: 3", "Topic :: Communications :: Chat", "Topic :: Communications :: Email", From 0b26378f02fe6902310ca275fd37ea29b67bf23a Mon Sep 17 00:00:00 2001 From: link2xt Date: Fri, 28 Nov 2025 21:23:27 +0000 Subject: [PATCH 3/3] build: pin mypy to 1.18.2 mypy depends on librt since 1.19.0 and it fails to build with PyPy 3.10. --- python/tox.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/tox.ini b/python/tox.ini index bc320b8796..df5c3c8d30 100644 --- a/python/tox.ini +++ b/python/tox.ini @@ -50,7 +50,7 @@ commands = [testenv:mypy] deps = - mypy + mypy==1.18.2 typing types-setuptools types-requests