Skip to content

Commit a88a63c

Browse files
committed
pyproject: switch to PEP 639 license metadata
Conform with PEP 639 by adding links to our license files, using a SPDX license expression to declare our licenses, and dropping the deprecated Trove license classifier. Without this change, setuptools shows large deprecation warnings saying that support for the old project.license syntax will be removed on 2026-Feb-18. However, the new syntax 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 will break package builds for many still-supported distro versions. To build with setuptools 61 through 76, distros will need to patch out the project.license field and reduce the build-system.requires dependency. Signed-off-by: Benjamin Gilbert <bgilbert@cs.cmu.edu>
1 parent 5230a91 commit a88a63c

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",
@@ -87,5 +87,5 @@ pythonpath = "tests"
8787
ignore_messages = "(Hyperlink target \".*\" is not referenced\\.$)"
8888

8989
[build-system]
90-
requires = ["setuptools >= 61.0.0"]
90+
requires = ["setuptools >= 77.0.0"]
9191
build-backend = "setuptools.build_meta"

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy