streamdeckapi


Namestreamdeckapi JSON
Version 0.0.13 PyPI version JSON
download
home_pagehttps://github.com/Patrick762/streamdeckapi
SummaryStream Deck API Library
upload_time2024-12-21 21:24:55
maintainerNone
docs_urlNone
authorPatrick762
requires_pythonNone
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            
[![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 inside docker container
The docker image allows you to use the streamdeckapi server inside a docker container.

### Usage
```shell
docker run -v /dev/hidraw7:/dev/hidraw7 -v ./data/streamdeckapi:/streamdeckapi/data -p 6153:6153 --privileged ghcr.io/patrick762/streamdeckapi:main
```

**Note:** You have to change `hidraw7` to the path of your Stream Deck. You can find this path by using `lshid` (https://pypi.org/project/lshid/).

## Limitations
- No zeroconf discovery
- No `doubleTap` event

## Server without docker
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
- 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": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": null,
    "author": "Patrick762",
    "author_email": "<pip-stream-deck-api@hosting-rt.de>",
    "download_url": "https://files.pythonhosted.org/packages/a5/83/711bb97f0cdae53327d8cab7fad6f6a5b173dcec5188bdf0204da8a9e6db/streamdeckapi-0.0.13.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 inside docker container\nThe docker image allows you to use the streamdeckapi server inside a docker container.\n\n### Usage\n```shell\ndocker run -v /dev/hidraw7:/dev/hidraw7 -v ./data/streamdeckapi:/streamdeckapi/data -p 6153:6153 --privileged ghcr.io/patrick762/streamdeckapi:main\n```\n\n**Note:** You have to change `hidraw7` to the path of your Stream Deck. You can find this path by using `lshid` (https://pypi.org/project/lshid/).\n\n## Limitations\n- No zeroconf discovery\n- No `doubleTap` event\n\n## Server without docker\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- 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": null,
    "summary": "Stream Deck API Library",
    "version": "0.0.13",
    "project_urls": {
        "Homepage": "https://github.com/Patrick762/streamdeckapi"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8a2c03e3069a362aa7c9c3d716d26930fa9c09df1c6ebfa8e127fd1dba89f845",
                "md5": "b6dc190cb71486cf2e6e76b07f9a0ba8",
                "sha256": "b66c174b8d2afe6668d57ec8403d8dbbb29bea0a293a2302830812b03912dc20"
            },
            "downloads": -1,
            "filename": "streamdeckapi-0.0.13-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "b6dc190cb71486cf2e6e76b07f9a0ba8",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 12706,
            "upload_time": "2024-12-21T21:24:53",
            "upload_time_iso_8601": "2024-12-21T21:24:53.739098Z",
            "url": "https://files.pythonhosted.org/packages/8a/2c/03e3069a362aa7c9c3d716d26930fa9c09df1c6ebfa8e127fd1dba89f845/streamdeckapi-0.0.13-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a583711bb97f0cdae53327d8cab7fad6f6a5b173dcec5188bdf0204da8a9e6db",
                "md5": "6452e0fe1f7d74e43d0a96c4f06bc15a",
                "sha256": "fdf9d48464289187938ef63710e5fc917f6d0f0b4619a933217b13741f4b61d6"
            },
            "downloads": -1,
            "filename": "streamdeckapi-0.0.13.tar.gz",
            "has_sig": false,
            "md5_digest": "6452e0fe1f7d74e43d0a96c4f06bc15a",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 12636,
            "upload_time": "2024-12-21T21:24:55",
            "upload_time_iso_8601": "2024-12-21T21:24:55.914312Z",
            "url": "https://files.pythonhosted.org/packages/a5/83/711bb97f0cdae53327d8cab7fad6f6a5b173dcec5188bdf0204da8a9e6db/streamdeckapi-0.0.13.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-12-21 21:24:55",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Patrick762",
    "github_project": "streamdeckapi",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "streamdeckapi"
}
        
Elapsed time: 0.38121s