Skip to main content

Modular framework for communication with UuApp and utility functionality

Project description

uunIot Framework

The uunIoT Framework is a library primarily for use with Unicorn uuApp server, however it can be used as a standalone. It provides functionality frequently needed in IoT applications such as dynamic configuration, events, persistence and basic telemetry, if needed.

  • for newest information and documentation, see UuBookKit
  • for quick start, see examples/ folder inside this repository and Getting started in the aforementioned BookKit.

Documentation

  • the code is self-documented, meaning that documentation can be automatically generated from comments in the code and the code itself via Sphinx.
  • the documentation needs to be generated first. To do this, first install Sphinx and then install the ReadTheDocs theme and cd docs && make html. Documentation for users is located in docs and for developers in docs-dev. The two differ mostly only in showing private class members (names starting with an underscore _).
  • see Sphinx documentation in docs and docs-dev for user and library-developer documentation respectively. After building, the HTML output is present in build/html subdirectories.

Example snippets are located in examples directory. Further examples can be found in applications built with uun-iot, such as uun-weatherstation, uun-guardman, uun-livecam or uu-fvekit.

For developers

Testing

  • create virtual environment for all uun applications, if you want to test your local version of library, otherwise create separate environments for each application and the library
    • python3 -m venv env
    • . env/bin/activate
    • cd to library directory (directory where is setup.py)
    • pip3 install -e .
    • cd to application directory
    • pip3 install -e .
    • install pytest pip3 install pytest
    • reactivate environment deactivate && . env/bin/activate
  • cd to main repository directory of the project you want to test and run pytest
  • pytest --log-cli-level=DEBUG for additional information and with lib logger output
  • testing involves
    • static phase - test basic observations that should hold about the structure of certain objects
    • dynamic phase - try modules' functionality: heartbeat and config updating
      • config updating can be turned on/off in tests/conftest.py, also be sure to introduce change in server configuration with respect to config file tests/config.json

Versioning

  • 0.#.#
    • initial releases changing rapidly

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

uun_iot-0.12.14.tar.gz (49.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

uun_iot-0.12.14-py3-none-any.whl (56.6 kB view details)

Uploaded Python 3

File details

Details for the file uun_iot-0.12.14.tar.gz.

File metadata

  • Download URL: uun_iot-0.12.14.tar.gz
  • Upload date:
  • Size: 49.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.1

File hashes

Hashes for uun_iot-0.12.14.tar.gz
Algorithm Hash digest
SHA256 9ae7790c0b5c0f6feaca7ab08c3ef8bde6c2b9f01414a80bb2167e8842694506
MD5 eaa7ed0b717d3b79254e4c0eeb036a22
BLAKE2b-256 e91bc375e6ab1eafafa77ece0aa5e23a88b37757f5e8a4afce4a648cbb1494d2

See more details on using hashes here.

File details

Details for the file uun_iot-0.12.14-py3-none-any.whl.

File metadata

  • Download URL: uun_iot-0.12.14-py3-none-any.whl
  • Upload date:
  • Size: 56.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.1

File hashes

Hashes for uun_iot-0.12.14-py3-none-any.whl
Algorithm Hash digest
SHA256 918f9dc2748c0d33293af8c6d3fb8c6aafff5b942948c70e7db68addd7b352fa
MD5 ba7372ff44394a35538b04a5073c4408
BLAKE2b-256 a86cd00c4767f8632cbef737ff8075cf19a1d9eb1f6f30c72e9e19d21a99e916

See more details on using hashes here.

Supported by

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