Skip to content

Commit 5718074

Browse files
committed
pyproject: switch to PEP 639 license metadata
Use a SPDX license expression to declare our licensing, add links to our license files, and drop the deprecated license Trove classifier. Without this change, setuptools throws large deprecation warnings claiming that support for the old syntax will be removed on 2026-Feb-18. However, the new syntax for project.license requires setuptools >= 77, so this change breaks compatibility with setuptools 61-76. Users installing from source will be unaffected because the build frontend automatically updates setuptools if required, but Linux distro packaging disallows such updates, so this change breaks package builds for many still-supported distro versions. To build with older setuptools, distros will need to patch out the project.license field and reduce the build-system.requires dependency. Signed-off-by: Benjamin Gilbert <[email protected]>
1 parent 4632262 commit 5718074

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

pyproject.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@ maintainers = [
55
]
66
description = "Python interface to OpenSlide"
77
readme = "README.md"
8-
license = {text = "GNU Lesser General Public License, version 2.1"}
8+
license = "LGPL-2.1-only AND BSD-3-Clause AND MIT AND LicenseRef-Public-Domain"
9+
license-files = ["COPYING.LESSER", "**/LICENSE.*"]
910
keywords = ["OpenSlide", "whole-slide image", "virtual slide", "library"]
1011
classifiers = [
1112
"Development Status :: 5 - Production/Stable",
1213
"Intended Audience :: Developers",
1314
"Intended Audience :: Healthcare Industry",
1415
"Intended Audience :: Science/Research",
15-
"License :: OSI Approved :: GNU Lesser General Public License v2 (LGPLv2)",
1616
"Operating System :: MacOS :: MacOS X",
1717
"Operating System :: Microsoft :: Windows",
1818
"Operating System :: POSIX :: Linux",
@@ -84,5 +84,5 @@ pythonpath = "tests"
8484
ignore_messages = "(Hyperlink target \".*\" is not referenced\\.$)"
8585

8686
[build-system]
87-
requires = ["setuptools >= 61.0.0"]
87+
requires = ["setuptools >= 77.0.0"]
8888
build-backend = "setuptools.build_meta"

0 commit comments

Comments
 (0)