Skip to main content

REST-like IoT server

Project description

Igor, your personal IoT butler

Build Status Coverage Status Documentation status PyPI version

Igor is named after the Discworld characters of the same name. You should think of it as a butler (or valet, or majordomo, whatever the difference is) that knows everything that goes on in your household, and makes sure everything runs smoothly. It performs its tasks without passing judgements and maintains complete discretion, even within the household. It can work together with other Igors (lending a hand) and with lesser servants such as Iotsa-based devices.

Igor includes a Certificate Authority implementation that allows you to use secure communication over https on the local network (for Igor and for other applications like web browsers). Igor also includes a privacy and security mechanism based on capabilities to allow fine-grained control over data access.

Home page is https://github.com/cwi-dis/igor. This software is licensed under the MIT license by the CWI DIS group, http://www.dis.cwi.nl.

Overview

Igor is primarily an XML database. It has a REST interface to communicate to the outside world, and it can emit requests as well. It performs its tasks of managing your household by knowing three things:

  1. what is going on at the moment,
  2. what needs to happen when, and
  3. how to make that happen.

Igor has a plugin mechanism, and you can add plugins for all kinds of sensors (point 1). You can also add plugins that can control external devies (point 3). Finally you add rules to connect these (point 2).

Igor has a web interface to allow you to control and maintain it. It also comes with a number of useful plugins and a set of Python modules and command line utilities that interact with it.

Documentation

Formatted documentation is available online, at https://igor-iot.readthedocs.io.

When viewing source documentation is also available here.

Getting Started

You need to have Python 3.6 or later installed. (Python 2.7 is also still supported but Python 3 is preferred).

You need the pip package manager for the version of Python that you are going to use.

python3 -m pip install igor-iot

After that follow the instructions in https://igor-iot.readthedocs.io/en/latest/setup.html or doc/setup.rst to setup your Igor system.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

igor-iot-0.99.1.tar.gz (206.0 kB view details)

Uploaded Source

Built Distribution

igor_iot-0.99.1-py3-none-any.whl (330.6 kB view details)

Uploaded Python 3

File details

Details for the file igor-iot-0.99.1.tar.gz.

File metadata

  • Download URL: igor-iot-0.99.1.tar.gz
  • Upload date:
  • Size: 206.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.0

File hashes

Hashes for igor-iot-0.99.1.tar.gz
Algorithm Hash digest
SHA256 a76231e2205bfada0273a1d5fbd7e2f5d0a25dd086fd725c198a1861de6bdef1
MD5 f986de0a2be0f3cb63247b19af95f11d
BLAKE2b-256 0374146ad021dae66baefcdab596f22e5fcd6ec0a33cbec85c06550de0e4e176

See more details on using hashes here.

File details

Details for the file igor_iot-0.99.1-py3-none-any.whl.

File metadata

  • Download URL: igor_iot-0.99.1-py3-none-any.whl
  • Upload date:
  • Size: 330.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.0

File hashes

Hashes for igor_iot-0.99.1-py3-none-any.whl
Algorithm Hash digest
SHA256 743ca698dc63ceee73105851f055ad58018f845b834f1fd9b766dbd6eb38b725
MD5 4126c4d7f9448f06b569b2f1a87cede8
BLAKE2b-256 714346764854192e82280f505abe04408ce995e102e48718b57e20b6b5e28859

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page