Upparat
__ Hi, I'm Upparat!
_(\ |@@| /
(__/\__ \--/ __
\___|----| | __
\ }{ /\ )_ / _\
/\__/\ \__O (__
(--/\--) \__/
_)( )(_
`---''---`
The Upparat is a secure and robust service that runs on your IoT device to download and install files such as firmware updates.
Several hooks provide a seamless integration in your device environment and allow you to use any software update tool such as RAUC, SWUpdate or a custom solution.
Upparat subscribes to AWS Iot Jobs, downloads and verifies the specified file and runs an installation command of your choice. It handles all the nitty gritty details such as cancelled jobs, failed downloads and progress updates.
Installation
pip install upparat
Getting started
Development
-
Create a virtualenv:
python3 -m venv .venv . .venv/bin/activate pip3 install --upgrade pip setuptools wheel
-
Install Upparat in editable mode with development and optional dependencies:
pip install -e ".[dev,sentry]"
Pre-commit hooks
-
Install the pre-commit framework.
-
Install the pre-commit hooks:
pre-commit install --install-hooks
Unittests & Formatter
docker-compose run test
docker-compose run format
Statemachine
- See visual representation of the internal statemachine.