[clang] [llvm] [libclang/python] Enable packaging libclang bindings (PR #125806)

Henry Schreiner via cfe-commits cfe-commits at lists.llvm.org
Thu Mar 6 13:56:35 PST 2025


================
@@ -0,0 +1,36 @@
+[build-system]
+requires = ["setuptools>=42", "setuptools_scm==8.1.0"]
+build-backend = "setuptools.build_meta"
+
+[project]
+name = "clang"
+description = "libclang python bindings"
+readme = {file = "README.txt", content-type = "text/plain"}
+
+license = {text = "Apache-2.0 WITH LLVM-exception"}
----------------
henryiii wrote:

It looks like you are trying other do a SPDX classifier expression here; this is supported by most backends now except setuptools (and flit-core doesn't support complex expressions yet). Personally, I'd not use setuptools here; hatchling is faster and does support SPDX expressions. Setuptools is working towards support, but it's several METADATA versions behind, and it had a pre-finalization version of support that now needs to be changed to what was accepted with [PEP 639](https://peps.python.org/pep-0639/).

If you don't use a modern backend and set `license "Apache-2.0 WITH LLVM-exception"`, then you need to use a `License :: ...` classifier. This `license.text` field isn't meaningful, it's really just a place to describe how the license differs from what's in the classifiers. That's one reason this was changed with PEP 639. :)

https://github.com/llvm/llvm-project/pull/125806


More information about the cfe-commits mailing list