Introduction

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 - https://www.koncar-ket.hr).

For more information see:

Warning

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

Installation

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:

Development

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

Build tool used for Hat is pydoit (http://pydoit.org/). 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

Documentation can be built with:

$ doit docs

which creates build/docs folder containing documentation.

Tests

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
    

License

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.