Hat Open is open-source framework of tools and libraries for developing applications used for remote monitoring, control and management of intelligent electronic devices such as IoT devices, PLCs, industrial automation or home automation systems.

Hat Core is part of Hat Open providing collection of components and libraries on which Hat Open system is based.

Development of Hat Open and associated repositories is sponsored by Končar - Power Plant and Electric Traction Engineering Inc. (Končar KET -

For more information see:


This project is currently in state of active development. Features, functionality and API are unstable.


Hat Open consists of multiple interconnected parts. Each part implements a specific functionality. For easier reusability, provided implementation is split into multiple packages:

Python packages

Python packages require Python 3.8 or 3.9 and can be installed with pip:

$ pip install <package-name>

where package-name is one of following:

JavaScript packages

JavaScript packages can be installed with npm:

$ npm install <package-name>

where package-name is one of following:


Platforms supported as development environment include Linux (possibly other POSIX systems) and Windows (with MSYS2 and CPython).

Platform specific prerequisites

  • Archlinux:

    $ pacman -S $(< requirements.archlinux.txt)
  • Ubuntu:

    $ apt install $(< requirements.ubuntu.txt)
  • Windows:

    $ pacman -S $(< requirements.msys2.txt)

Python prerequisites

$ pip install -r requirements.pip.txt


Build tool used for Hat is pydoit ( It is included as one of python prerequisites and should be available after pip requirements installation.

For listing available doit tasks, use:

$ doit list

Default task:

$ doit

creates dist folder containing built packages.


Documentation can be built with:

$ doit docs

which creates build/docs folder containing documentation.


Tests can be run with doit task test.

  • Unit tests:

    $ doit test test_unit
  • System tests:

    $ doit test test_sys
  • Performance tests:

    $ doit test test_perf


Copyright 2020-2021 Hat Open AUTHORS

Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.