Skip to content

strohganoff/python-streamdeck-plugin-sdk-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python StreamDeck Plugin SDK CLI

A command-line interface (CLI) tool for packaging Elgato Stream Deck plugins. This tool helps automate the process of creating plugin packages using the Python plugin SDK library.

Features

  • Create a fresh Python plugin project with scaffolding provided by a template.
  • Validate a plugin's structure.
  • Pack Stream Deck plugins into distributable .streamDeckPlugin files
  • Support for .packignore file to exclude unwanted files/directories
  • Automatic plugin UUID directory structure creation

Installation

To install the required dependencies, run:

pip install streamdeck-plugin-sdk-cli

Usage

Create a New Plugin

To create a new Stream Deck plugin project, run:

streamdeck-cli create

This will create a new project at the current directory from the template at https://github.com/strohganoff/python-streamdeck-plugin-template.git.

Validate a Plugin

To validate the plugin manifest and directory structure, run:

streamdeck-cli validate /path/to/plugin

Note that the manifest.json file must be updated and saved as a proper json file (no comments) to pass validation.

Pack a Plugin

To pack the plugin into a .streamDeckPlugin file, run:

streamdeck-cli pack /path/to/plugin --output /path/to/output

If you don't pass in a version argument, the script will automatically look up the plugin version in the manifest.json file to place the release package into a directory named for that version under the specified output directory.

If there is already a release directory with that version, the script will handle giving a subversion (or incrementing the subversion) to apply to the directory name. So if a version '0.0.1' has already been packed, a new release directory will be saved to named '0.0.1-1', but the version in the manifest.json file will be unchanged. If a release was already saved to directory '0.0.1-1', then a new release directory will be saved to named '0.0.1-2'.

Next Step

Simply double-click the .streamDeckPlugin file, which will load up the plugin in the Stream Deck application.

Contributing

Contributions are welcome! Please open an issue or submit a pull request on GitHub.

License

This project is licensed under the MIT License. See the LICENSE file for details.

About

CLI for creating and packing Stream Deck Python plugins

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages