Enapter Python SDK
Project description
Enapter Python SDK
Enapter software development kit for Python.
:warning: This project is work in progress. The API is not stable and may change at any time. :warning:
Installation
Stable from PyPI:
pip install enapter
Latest for GitHub:
pip install git+https://github.com/Enapter/python-sdk#egg=enapter
Usage
Checkout examples.
Implementing your own VUCM
Device Telemetry and Properties
Every method of enapter.vucm.Device subclass decorated with
enapter.vucm.device_task decorator is considered a device task. When such a
device is started, all of its tasks are started as well. Device tasks are
started in random order and are being executed concurrently in the background.
If a device task returns or raises an exception, device routine is terminated.
A typical use of the task is to run a periodic job to send device telemetry and
properties.
In order to send telemetry and properties define two corresponding device tasks. It is advised (but is not obligatory) to send telemetry every 1 second and to send properties every 10 seconds.
Examples:
Device Command Handlers
Every method of enapter.vucm.Device subclass decorated with
enapter.vucm.device_command is considered a device command handler. Device
command handlers receive the same arguments as described in device Blueprint
manifest and can optionally return a payload as enapter.types.JSON.
In order to handle device commands define corresponding device command handlers.
Examples:
Device Alerts
Device alerts are stored in self.alerts. It is a usual Python set, so you
can add an alert using alerts.add, remove an alert alerts.remove and clear
alerts using alerts.clear.
Alerts are sent only as part of telemetry, so in order to report device alert,
use send_telemetry with any payload.
Running your own VUCM via Docker
A simple Dockerfile can be:
FROM python:3.10-alpine3.16
WORKDIR /app
RUN python -m venv .venv
COPY requirements.txt requirements.txt
RUN .venv/bin/pip install -r requirements.txt
COPY script.py script.py
CMD [".venv/bin/python", "script.py"]
:information_source: If you are using Enapter
Gateway and running
Linux, you should connect your containers to host network
:information_source::
docker run --network host ...
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file enapter-0.10.0-py3-none-any.whl.
File metadata
- Download URL: enapter-0.10.0-py3-none-any.whl
- Upload date:
- Size: 20.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7cdc5a304543f78abd706c5b12c05951fc772c1c4f7dca81d703e5c27bb9041e
|
|
| MD5 |
562324c41177349144e092c478033ac3
|
|
| BLAKE2b-256 |
31b6202318be65da6919ca6f8b044a4f2aacd71948dc055174772218365e8802
|