Monorepo for the CyberRangeCZ sandbox-service application and its library dependencies, managed as a single uv workspace. Each package keeps its own version, tests, and tooling config — see its own README for details.
- sandbox-service — the Django REST application (backend-sandbox-service)
- libs/topology-definition (backend-topology-definition)
- libs/python-commons (backend-python-commons)
- libs/openstack-lib (backend-openstack-lib)
- libs/aws-lib (backend-aws-lib)
- libs/terraform-client (backend-terraform-client)
- libs/automated-problem-generation-lib (backend-automated-problem-generation-lib)
topology-definition
└── python-commons
├── openstack-lib
└── aws-lib
└── terraform-client
automated-problem-generation-lib (standalone)
sandbox-service depends on all of the above
uv sync # resolves the whole workspace, one lockfile
uv run pytest # or: cd <package> && tox -e pytestPackages depend on each other via [tool.uv.sources] ... = { workspace = true }, so editing a library is immediately visible to sandbox-service — no version bump or publish step required.