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.