A sturdy development platform for autonomous outdoor robotics.
- Python 3.11+
- NiceGUI for web interface
- uv for dependency management
- RoSys framework
- Copier for template configuration (from nicegui-template)
- create a virtual environment and activate it (you can skip this if you use uv, it creates and manages the venv for you):
uv venv -p 3.11
source .venv/bin/activate # to activate your virtual environment- install dependencies:
make sync # or directly:
uv sync- start your project:
uv run ./main.py- run your tests:
uv run pytestTo update your project configuration from the nicegui-template, run:
copier update --skip-answeredThis will prompt you to review and update your template settings interactively. If you changed a lot of the template files and have the feeling that not everything you expected to update was updated, you can also run:
copier recopy ./path_to_your_projectBe careful with this command, as it will overwrite any local changes you made to the template files. It's recommended to then thoroughly review the changes generated by copier with git.
pre-commit is a tool to help you manage and run pre-commit hooks in your code. It is used to check your code for e.g. extra whitespace or formatting errors before committing it. Install the pre-commit hooks by running:
pre-commit installYou can also run the hooks manually by running:
make pre-commit # which runs:
# pre-commit run --all-files