aboutsummaryrefslogtreecommitdiff
path: root/README.md
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 /README.md
parent6cbcfb039e608419bd6ced673723918aca6fb278 (diff)
downloadrumba-0.23.0.tar.gz
rumba-0.23.0.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 'README.md')
-rw-r--r--README.md15
1 files changed, 13 insertions, 2 deletions
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