Skip to content

pydoover Documentation

pydoover is the Python SDK for the Doover IoT platform. It provides everything you need to build applications that run on edge devices, process events in the cloud, and interact with the Doover API from standalone scripts.

Install

Install pydoover from PyPI. Python 3.11 or later is required.

pip install pydoover

Or using uv:

uv add pydoover

See the full Installation guide for additional install methods and optional extras.

What pydoover provides

Cloud API clients --- Synchronous and asynchronous clients for the Doover Data and Control APIs. Manage agents, channels, messages, aggregates, notifications, and more from any Python environment.

Docker application framework --- A base class and event loop for building device-side applications that run inside Docker on Doovit hardware. Includes interfaces for hardware I/O (digital, analog), Modbus, and cloud synchronisation via gRPC.

Cloud processor framework --- A base class for serverless, event-driven processing in AWS Lambda. React to channel messages, scheduled events, deployment changes, and ingestion endpoint payloads.

Configuration schema system --- A declarative DSL for defining application settings. Schemas are rendered as configuration forms in the Doover management portal and are available to your app at runtime.

UI element system --- A declarative DSL for building device dashboards. Define variables, interactions (buttons, sliders, switches), containers, and camera views that appear in the Doover customer site.

Tag system --- Typed, persistent key-value state for applications. Tags are declared on a class, backed by cloud-synced channels, and can be bound directly to UI elements.

Utility libraries --- PID controller, Kalman filter with outlier detection, alarm monitoring with grace periods, dictionary diff/merge, async state machines, and more.

What's in this documentation

Getting Started

  • Installation --- install methods, optional extras, and verification
  • Quick Start --- get a Docker app, cloud processor, or API script running

Core Concepts

Cloud API

  • Overview --- Data and Control client overview
  • DataClient --- sync and async Data API clients
  • Channels --- channel CRUD and subscriptions
  • Messages --- message operations, iteration, and timeseries
  • Authentication --- auth profiles, token refresh, and OAuth

Docker Applications

Cloud Processors

Configuration, Tags, and UI

  • Configuration --- schema definition and config elements
  • Tags --- typed persistent state and auto-logging triggers
  • UI --- declarative dashboards with tag binding

Utilities

  • Overview --- PID, Kalman, alarms, diff, state machine, and more