Skip to content

caruhome/upparat

Repository files navigation

Upparat

PyPI Execute Upparat Unittests

         __    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