This traffic scene renderer enables drawing top-view overviews of traffic constellations.
This drawings can be printed on screen using matplotlib and exported to images or tikz files that can be rendered with LaTeX to create vector-based drawings of the traffic scenes.
Installation can be done using pip. Simply run
pip install traffic-scene-renderer
Yes, you can help! Follow the steps below to contribute to this package:
-
Download the git repository, e.g., using
git clone git@github.com:ErwindeGelder/TrafficSceneRenderer.git. -
Create a virtual environment, e.g., using
python -m venv venv. -
Activate the virtual environment (e.g., on Windows,
venv\Scripts\activate). -
Install
uvusingpip install uvand thentox-uvusinguv pip install tox-uv. -
The main branch is protected, meaning that you cannot directly push changes to this branch. Therefore, if you want to make changes, do so in a seperate branch. For example, you can create a new branch using
git checkout -b feature/my_awesome_new_feature. -
Before pushing changes, ensure that the code adheres to the linting rules and that the tests are successful. Run
tox. This does a linting check and runs all test scripts. To manually perform these steps, use the following commands:- Run
tox -e lint. You can do the linting commands manually using:- (One time)
uv pip install -r requirements-lint.txt ruff format . --check(remove the--checkflag to letruffdo the formatting)ruff check .mypy .
- (One time)
- Run
tox -e py310. - Run
tox -e py311. - Run
tox -e py312. - Run
tox -e py313. - Run
tox -e py314. - Run
tox -e combine-test-reports
- Run
-
Check if the tests covered everything using the coverage report in
/reports/coverage_html/index.html.NOTE: Currently, not all code is covered. Ideally, all code is covered, but for now, ensure that all new code is covered by the testing.
-
Push changes to GitHub. If everything is OK and you want to merge your changes to the
mainbranch, create a pull request. Ideally, there is at least one reviewer who reviews the pull request before the merge.
Note that currently only "Code owners" can merge pull requests onto the main branch. This is to
ensure that not everyone can break the main code (even unintentially). If you want to be a "Code
owner", let us know!