Documentation

Python Bindings

The Python bindings wrap the LibOSDP C library so you can build control panel and peripheral device applications without writing C. Start with getting started for installation and a minimal example, then keep the API reference handy, and use the commands and events pages for the data structures exchanged with a connected device at runtime.

In this section

  • Getting Started — Get started with the LibOSDP Python bindings — install the package and build a minimal OSDP control panel or peripheral device in a few lines of Python.
  • Build and Install — Install the LibOSDP Python bindings — pre-built PyPI wheels, install from GitHub, and building from source on Linux, macOS, and Windows including the compiler toolchain each platform needs.
  • Control Panel — LibOSDP Python control panel (CP) reference — the ControlPanel class, its lifecycle, event and command-completion handlers, secure-channel waits, and PD management methods.
  • Peripheral Device — LibOSDP Python peripheral device (PD) reference — the PeripheralDevice class, its lifecycle, the command-handler contract for accepting, answering, or NAKing commands, and reporting events.
  • Commands — LibOSDP Python commands reference — every command dataclass a control panel sends to a PD (LED, buzzer, output, text, keyset, comset, manufacturer, file transfer, status, biometrics) and its fields.
  • Events — LibOSDP Python events reference — every event dataclass a peripheral device reports to a control panel (card read, key press, biometrics, status, manufacturer, notification) and its fields.
  • API Reference — LibOSDP Python API reference — PDInfo, the PD capabilities model, the Channel transport, KeyStore, file transfer, errors, and the enumerations shared across the bindings.