streamdeck-python-sdk
Library for creating Stream Deck plugins in Python.
Supported operating systems:
- MacOS: 10.14 or later
- Windows: 10 or later
Supported Python versions: 3.8 or later
Installation
⚠️ For correct operation on Windows, it is recommended to enable LongPaths
support in
the system: manual.
Without this setting, problems with installation and use may occur!
pip install "streamdeck-sdk[dev]"
During this installation, additional libraries needed for development are installed:
⚠️ These libraries should not be present in the plugin's requirements.txt
.
Features
- Ease of use. You can quickly create your own plugin without having to understand how websockets and
other technologies work.
- Fully typed, using pydantic.
- Includes image to base64 converters for easy installation of icons on keys.
- Includes a decorator for functions and methods to run on a separate thread.
- Exception logging and easy logging configuration.
- Debug mode via
PyCharm
or other debugging tools. - A complete protocol for interaction with the Stream Deck application has been implemented.
- Quick start of a project via the console command
streamdeck_sdk startproject
. - Build the project using the
streamdeck_sdk build
console command. - Property Inspector Generator. Write code in Python and get html and js for PI.
⚠️ Limitations
- During installation and update of the plugin, the Internet must be available.
Windows
- Plugin requirements should take no longer than 30 seconds to install. This is a feature of Stream Deck on Windows,
since the program restarts the plugin if a websocket connection has not been established within 30 seconds.
Therefore, you need a good Internet connection when installing and updating the plugin.
Examples
LoremFlickr - Plugin for installing images on a button from
the LoremFlickr site. Supports MacOS and Windows.
Proxy Manager - Plugin for enabling and disabling
proxies on MacOS. Periodically polls the proxy status through a separate thread.
One-time password - Plugin for generating one-time passwords,
like in Google Authenticator. Has several Actions. Supports MacOS and Windows.
See full description and usage examples on
GitHub