[![PyPI version](https://badge.fury.io/py/streamdeckapi.svg)](https://badge.fury.io/py/streamdeckapi)
# streamdeckapi
Stream Deck API Library for Home Assistant Stream Deck Integration
Only compatible with separate [Stream Deck Plugin](https://github.com/Patrick762/streamdeckapi-plugin) or the bundled server.
## Server
This library also contains a server to use the streamdeck with Linux or without the official Stream Deck Software.
For this to work, the following software is required:
- LibUSB HIDAPI [Installation instructions](https://python-elgato-streamdeck.readthedocs.io/en/stable/pages/backend_libusb_hidapi.html) or [Installation instructions](https://github.com/jamesridgway/devdeck/wiki/Installation)
- cairo [Installation instructions for Windows](https://stackoverflow.com/a/73913080)
Cairo Installation for Windows:
```bash
pip install pipwin
pipwin install cairocffi
```
### Limitations
- Slow icon updates on Raspberry Pi Zero
- No `doubleTap` event
### Installation on Linux / Raspberry Pi
Install requirements:
`sudo apt install -y libudev-dev libusb-1.0-0-dev libhidapi-libusb0 libjpeg-dev zlib1g-dev libopenjp2-7 libtiff5 libgtk-3-dev python3-pip`
Allow all users non-root access to Stream Deck Devices:
```bash
sudo tee /etc/udev/rules.d/10-streamdeck.rules << EOF
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0fd9", GROUP="users", TAG+="uaccess"
EOF
```
Reload access rules:
`sudo udevadm control --reload-rules`
Install the package:
`pip install streamdeckapi`
Reboot your system
Start the server:
`streamdeckapi-server`
### Example service
To run the server on startup, you can use the following config in the file `/etc/systemd/system/streamdeckapi.service`:
```conf
[Unit]
Description=Stream Deck API Service
Wants=network-online.target
After=network.target
[Service]
WorkingDirectory=/home/pi
ExecStart=/home/pi/.local/bin/streamdeckapi-server
User=pi
StandardOutput=console
[Install]
WantedBy=multi-user.target
```
To start the service, run `sudo systemctl start streamdeckapi.service`.
To enable the service, run `sudo systemctl enable streamdeckapi.service`.
Raw data
{
"_id": null,
"home_page": "https://github.com/Patrick762/streamdeckapi",
"name": "streamdeckapi",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "",
"author": "Patrick762",
"author_email": "<pip-stream-deck-api@hosting-rt.de>",
"download_url": "https://files.pythonhosted.org/packages/40/fc/07c2fdb4553c3a826b0ec426d31d16aac57a9fbc1cdde2e03d452c4d0518/streamdeckapi-0.0.11.tar.gz",
"platform": null,
"description": "\n[![PyPI version](https://badge.fury.io/py/streamdeckapi.svg)](https://badge.fury.io/py/streamdeckapi)\n\n# streamdeckapi\nStream Deck API Library for Home Assistant Stream Deck Integration\n\nOnly compatible with separate [Stream Deck Plugin](https://github.com/Patrick762/streamdeckapi-plugin) or the bundled server.\n\n## Server\nThis library also contains a server to use the streamdeck with Linux or without the official Stream Deck Software.\n\nFor this to work, the following software is required:\n\n- LibUSB HIDAPI [Installation instructions](https://python-elgato-streamdeck.readthedocs.io/en/stable/pages/backend_libusb_hidapi.html) or [Installation instructions](https://github.com/jamesridgway/devdeck/wiki/Installation)\n- cairo [Installation instructions for Windows](https://stackoverflow.com/a/73913080)\n\nCairo Installation for Windows:\n```bash\npip install pipwin\n\npipwin install cairocffi\n```\n\n### Limitations\n- Slow icon updates on Raspberry Pi Zero\n- No `doubleTap` event\n\n### Installation on Linux / Raspberry Pi\n\nInstall requirements:\n`sudo apt install -y libudev-dev libusb-1.0-0-dev libhidapi-libusb0 libjpeg-dev zlib1g-dev libopenjp2-7 libtiff5 libgtk-3-dev python3-pip`\n\nAllow all users non-root access to Stream Deck Devices:\n```bash\nsudo tee /etc/udev/rules.d/10-streamdeck.rules << EOF\nSUBSYSTEMS==\"usb\", ATTRS{idVendor}==\"0fd9\", GROUP=\"users\", TAG+=\"uaccess\"\nEOF\n```\n\nReload access rules:\n`sudo udevadm control --reload-rules`\n\nInstall the package:\n`pip install streamdeckapi`\n\nReboot your system\n\nStart the server:\n`streamdeckapi-server`\n\n### Example service\nTo run the server on startup, you can use the following config in the file `/etc/systemd/system/streamdeckapi.service`:\n\n```conf\n[Unit]\nDescription=Stream Deck API Service\nWants=network-online.target\nAfter=network.target\n\n[Service]\nWorkingDirectory=/home/pi\nExecStart=/home/pi/.local/bin/streamdeckapi-server\nUser=pi\nStandardOutput=console\n\n[Install]\nWantedBy=multi-user.target\n```\n\nTo start the service, run `sudo systemctl start streamdeckapi.service`.\n\nTo enable the service, run `sudo systemctl enable streamdeckapi.service`.\n",
"bugtrack_url": null,
"license": "",
"summary": "Stream Deck API Library",
"version": "0.0.11",
"project_urls": {
"Homepage": "https://github.com/Patrick762/streamdeckapi"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "1cb236890dace91f2bd619902b8a347dc7eb3b4b78b6642b96f0e1fac67af278",
"md5": "234cb51b15645bd28d89403b12d60dd7",
"sha256": "0b65a3fa531499ed3be0ebda8475291c40e9bc96b9d33020f5645dcacc840915"
},
"downloads": -1,
"filename": "streamdeckapi-0.0.11-py3-none-any.whl",
"has_sig": false,
"md5_digest": "234cb51b15645bd28d89403b12d60dd7",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 11661,
"upload_time": "2023-08-06T15:31:27",
"upload_time_iso_8601": "2023-08-06T15:31:27.363162Z",
"url": "https://files.pythonhosted.org/packages/1c/b2/36890dace91f2bd619902b8a347dc7eb3b4b78b6642b96f0e1fac67af278/streamdeckapi-0.0.11-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "40fc07c2fdb4553c3a826b0ec426d31d16aac57a9fbc1cdde2e03d452c4d0518",
"md5": "9a99ac52992b09f738d316c7ac8c17fe",
"sha256": "2f979719d2054618e4bb5e0f6250df58df38c82d9bc743a2e54184999c22d384"
},
"downloads": -1,
"filename": "streamdeckapi-0.0.11.tar.gz",
"has_sig": false,
"md5_digest": "9a99ac52992b09f738d316c7ac8c17fe",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 11473,
"upload_time": "2023-08-06T15:31:28",
"upload_time_iso_8601": "2023-08-06T15:31:28.911253Z",
"url": "https://files.pythonhosted.org/packages/40/fc/07c2fdb4553c3a826b0ec426d31d16aac57a9fbc1cdde2e03d452c4d0518/streamdeckapi-0.0.11.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-08-06 15:31:28",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Patrick762",
"github_project": "streamdeckapi",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "streamdeckapi"
}