aboutsummaryrefslogtreecommitdiff
path: root/pyproject.toml
diff options
context:
space:
mode:
authorDimitri Staessens <dimitri@ouroboros.rocks>2026-03-07 23:04:29 +0100
committerDimitri Staessens <dimitri@ouroboros.rocks>2026-03-08 14:25:09 +0100
commit3ab851644501e4906e91084a81e33e1a3cebd5cc (patch)
tree3c9132d16ac137ed34fd0daefe1fb18b8c15f814 /pyproject.toml
parent6cbcfb039e608419bd6ced673723918aca6fb278 (diff)
downloadrumba-3ab851644501e4906e91084a81e33e1a3cebd5cc.tar.gz
rumba-3ab851644501e4906e91084a81e33e1a3cebd5cc.zip
build: Move to pyproject + setuptools_scm0.23.0
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 <dimitri@ouroboros.rocks>
Diffstat (limited to 'pyproject.toml')
-rw-r--r--pyproject.toml39
1 files changed, 39 insertions, 0 deletions
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"