Skip to content
Switch branches/tags

Python Elgato Stream Deck Library

Example Deck

This is an open source Python 3 library to control an Elgato Stream Deck directly, without the official software. This can allow you to create your own custom front-ends, such as a custom control front-end for home automation software.

PyPi Project Entry - Online Documentation - Source Code

Project Status:

Working - you can enumerate devices, set the brightness of the panel(s), set the images shown on each button, and read the current button states.

Currently the following StreamDeck product variants are supported:

  • StreamDeck Original (both V1 and V2 hardware variants)
  • StreamDeck Mini
  • StreamDeck XL

Package Installation:

Install the library via pip:

pip install streamdeck

Alternatively, manually clone the project repository:

git clone

For detailed installation instructions, refer to the prebuilt online documentation, or build the documentation yourself locally by running make html from the docs directory.


I've used the reverse engineering notes from this GitHub repository to implement this library. Thanks Alex Van Camp!

Thank you to the following contributors, large and small, for helping with the development and maintenance of this library:

If you've contributed in some manner, but I've accidentally missed you in the list above, please let me know.


Released under the MIT license.


Python library to control the Elgato Stream Deck.





No packages published