drawtonomy vs scenariogeneration (pyoscx / pyodrx)
scenariogeneration
Section titled “scenariogeneration”scenariogeneration is an open-source Python library for generating linked OpenSCENARIO (.xosc) and OpenDRIVE (.xodr) XML files. It is the successor of the earlier pyoscx and pyodrx libraries and is available on PyPI and documented at pyoscx.github.io/scenariogeneration.
What scenariogeneration covers, per its README:
- A Python API for constructing OpenSCENARIO and OpenDRIVE files programmatically.
- Three main components:
scenario_generatormodule,xosc(OpenSCENARIO) subpackage,xodr(OpenDRIVE) subpackage. - Full coverage of OpenSCENARIO V1.0.0, and most of V1.1.0, V1.2.0, V1.3.1.
- Coverage based on OpenDRIVE V1.7.1 — basic roads, junctions, signals, and objects.
- Parametrization and auto-generation utilities for producing scenario variants.
- esmini integration for visualization.
- Licensed under MPL-2.0.
- Unifies the earlier
pyoscxandpyodrxpackages.
For programmatic scenario generation — especially scenario fleets, parameter sweeps, and CI-driven test cases — scenariogeneration is one of the established Python options.
Where drawtonomy might fit alongside it
Section titled “Where drawtonomy might fit alongside it”drawtonomy is a 2D browser whiteboard. It has no Python API, doesn’t do parametrized generation, and its OpenSCENARIO / OpenDRIVE export is a smaller subset than scenariogeneration’s coverage.
A few small things drawtonomy can add alongside scenariogeneration:
- A visual 2D sketch of a single scene before writing Python.
.drawtonomy.svgas a re-editable figure source for documentation.- A quick esmini bundle for a hand-built scene, separate from the Python pipeline.
The two tools are at different layers: scenariogeneration is a programmatic generator; drawtonomy is a visual sketch surface.
In the same OpenSCENARIO ecosystem
Section titled “In the same OpenSCENARIO ecosystem”scenariogeneration (and its predecessor projects pyoscx / pyodrx) is one of the most established open-source contributions to the OpenSCENARIO / OpenDRIVE Python ecosystem. drawtonomy emits the same file formats and visualizes against the same downstream player (esmini). Both tools — alongside Scenic, CARLA ScenarioRunner, and direct hand-written XML — are part of the same community building tooling around ASAM’s open standards.
Related reading
Section titled “Related reading”- What is OpenSCENARIO?
- What is OpenDRIVE?
- Compare: drawtonomy vs hand-written OpenSCENARIO XML
- Ecosystem: drawtonomy and Scenic — DSL-based scenario generation.