From: John Mulligan Date: Mon, 13 Apr 2026 21:24:46 +0000 (-0400) Subject: python-common: add a pyproject.toml file X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=b5b32d3abac22bc2a705ab2ee84968627c635aa8;p=ceph.git python-common: add a pyproject.toml file In order to support the current python packaging standards we need to have a pyproject.toml [1] file. This file defines the project's metadata and build tool. For continuity, I have left setuptools in place as the build backend so the existing steup.py is still in play. I also experimented with flit as a back-end. Flit seemed to work OK but I was a bit unsure how distro support for it would be when we started to roll out this option. Thus, to be safe I decided to stay with setuptools for now. [1] https://packaging.python.org/en/latest/guides/writing-pyproject-toml/ See Also: https://packaging.python.org/en/latest/guides/writing-pyproject-toml/ https://flit.pypa.io/en/stable/pyproject_toml.html Signed-off-by: John Mulligan --- diff --git a/src/python-common/pyproject.toml b/src/python-common/pyproject.toml new file mode 100644 index 000000000000..a116a62a82d0 --- /dev/null +++ b/src/python-common/pyproject.toml @@ -0,0 +1,24 @@ +[project] +name = "ceph" +description = "Core pure-Python libraries for the Ceph Project" +version = "1.0.0" # TODO: Make dynamic +readme = "README.rst" +keywords = ["ceph"] + +# SETUPTOOLS complains about these values because it still finds +# setup.py. Can probably be dropped if backend is switched. +# For example, I briefly experimented with flit as a backend and +# it did not need these. +dynamic = ["license", "classifiers", "dependencies"] + +[[project.authors]] +name = "Ceph Project" +email = "dev@ceph.io" + +[project.urls] +Homepage = "https://ceph.io" +Repository = "https://github.com/ceph/ceph" + +[build-system] +requires = ["setuptools >= 61.0"] +build-backend = "setuptools.build_meta"