https://github.com/gri-gus/streamdeck-python-sdk
Library for creating Stream Deck plugins in Python.
https://github.com/gri-gus/streamdeck-python-sdk
python streamdeck streamdeck-plugin streamdeck-python-sdk streamdeck-sdk streamdeckpython streamdeckpythonsdk streamdecksdk
Last synced: 5 months ago
JSON representation
Library for creating Stream Deck plugins in Python.
- Host: GitHub
- URL: https://github.com/gri-gus/streamdeck-python-sdk
- Owner: gri-gus
- License: apache-2.0
- Created: 2023-03-09T11:37:29.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-12-02T00:47:38.000Z (about 1 year ago)
- Last Synced: 2024-12-02T01:26:52.919Z (about 1 year ago)
- Topics: python, streamdeck, streamdeck-plugin, streamdeck-python-sdk, streamdeck-sdk, streamdeckpython, streamdeckpythonsdk, streamdecksdk
- Language: Python
- Homepage:
- Size: 685 KB
- Stars: 19
- Watchers: 3
- Forks: 4
- Open Issues: 2
-
Metadata Files:
- Readme: README-PYPI.md
- License: LICENSE
Awesome Lists containing this project
README
# 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](https://www.backupery.com/how-to-enable-ntfs-long-paths-in-windows/).
> Without this setting, problems with installation and use may occur!
```shell
pip install "streamdeck-sdk[dev]"
```
During this installation, additional libraries needed for development are installed:
* [streamdeck-sdk-pi](https://pypi.org/project/streamdeck-sdk-pi) - Property Inspector generator in Python
* [streamdeck-sdk-cli](https://pypi.org/project/streamdeck-sdk-cli) - useful command line utilities
> ⚠️ 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](https://github.com/pydantic/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
1. During installation and update of the plugin, the Internet must be available.
### Windows
1. 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](https://github.com/gri-gus/loremflickr-streamdeck-plugin) - Plugin for installing images on a button from
the LoremFlickr site. Supports MacOS and Windows.
[Proxy Manager](https://github.com/gri-gus/proxymanager-streamdeck-plugin) - Plugin for enabling and disabling
proxies on MacOS. Periodically polls the proxy status through a separate thread.
[One-time password](https://github.com/gri-gus/otp-streamdeck-plugin) - 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](https://github.com/gri-gus/streamdeck-python-sdk)