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 --- README.md | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index 87178af..3be9962 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,7 @@ pip install . Optional extras: ```bash +pip install rumba[docker] # Docker testbed backend pip install rumba[NumpyAcceleration] # faster random traffic generation pip install rumba[graphs] # PDF graph export via pydot pip install rumba[visualizer] # interactive visualization via igraph + plotly @@ -35,8 +36,7 @@ On Debian/Ubuntu you may also need: sudo apt-get install build-essential libssl-dev libffi-dev python3-dev ``` -The required dependencies (`paramiko` and `docker`) are installed -automatically. +The required dependency (`paramiko`) is installed automatically. ## Defining a Topology @@ -200,6 +200,17 @@ If you use Rumba in your research, please cite: > "Rumba: A Python framework for automating large-scale recursive > internet experiments on GENI and FIRE+," *IEEE*, 2018. +## Versioning + +Rumba uses `setuptools_scm` to derive its version from git tags. + +**Compatibility contract across Ouroboros repositories:** + +| Scope | Rule | +|---|---| +| ouroboros (C) ↔ pyouroboros / rumba | Shared `major.minor` — rumba requires at least the same ouroboros `major.minor` | +| pyouroboros ↔ rumba ↔ ouroboros-integration | Strict lockstep `major.minor.patch` — always released together | + ## License Rumba is licensed under the -- cgit v1.2.3