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>
--- /dev/null
+[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"