From 3ab851644501e4906e91084a81e33e1a3cebd5cc Mon Sep 17 00:00:00 2001 From: Dimitri Staessens Date: Sat, 7 Mar 2026 23:04:29 +0100 Subject: build: Move to pyproject + setuptools_scm Replace setup.py and MANIFEST.in with pyproject.toml. The version is now derived from git tags via setuptools_scm, and added .git_archival.txt and .gitattributes for git archive support. Remove _version.py from version control as it is now auto-generated at build time. Signed-off-by: Dimitri Staessens --- pyproject.toml | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 pyproject.toml (limited to 'pyproject.toml') diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..b596afd --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,39 @@ +[build-system] +requires = ["setuptools>=64", "setuptools_scm>=8"] +build-backend = "setuptools.build_meta" + +[project] +name = "Rumba" +dynamic = ["version"] +description = "Rumba measurement framework for Ouroboros" +readme = "README.md" +license = "LGPL-2.1-or-later" +requires-python = ">=3.8" +keywords = ["ouroboros", "measurement", "testbed"] +authors = [ + { name = "Sander Vrijders", email = "sander@ouroboros.rocks" }, + { name = "Dimitri Staessens", email = "dimitri@ouroboros.rocks" }, +] +dependencies = [ + "packaging", + "paramiko>=2.0,<4", +] + +[project.optional-dependencies] +docker = ["docker>=5.0,<8"] +NumpyAcceleration = ["numpy"] +graphs = ["pydot"] +visualizer = ["igraph", "plotly"] +pyouroboros = ["PyOuroboros"] + +[project.urls] +Homepage = "https://codeberg.org/o7s/rumba" + +[tool.setuptools] +script-files = ["tools/rumba-access"] + +[tool.setuptools.packages.find] +exclude = ["examples", "tools", "doc"] + +[tool.setuptools_scm] +version_file = "rumba/_version.py" -- cgit v1.2.3