]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
python-common: add a pyproject.toml file
authorJohn Mulligan <jmulligan@redhat.com>
Mon, 13 Apr 2026 21:24:46 +0000 (17:24 -0400)
committerJohn Mulligan <jmulligan@redhat.com>
Wed, 6 May 2026 13:32:25 +0000 (09:32 -0400)
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 <jmulligan@redhat.com>
src/python-common/pyproject.toml [new file with mode: 0644]

diff --git a/src/python-common/pyproject.toml b/src/python-common/pyproject.toml
new file mode 100644 (file)
index 0000000..a116a62
--- /dev/null
@@ -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"