The official plugin catalog for PyDeck. This repo acts as a marketplace — PyDeck fetches plugin metadata and files directly from here when a user installs or updates a plugin.
PyDeck uses a two-repo architecture:
- pydeck — the main app that runs on your machine (Flask server, hardware listener, web UI)
- pydeck-plugins (this repo) — a static file store and manifest, hosted on GitHub
When you install a plugin through the marketplace UI, PyDeck reads the root manifest.json to find the plugin, then downloads its files from the matching version folder directly into plugins/plugin/<slug>/ on your machine.
| Plugin | Category | Summary |
|---|---|---|
| Browser | Utilities | Open URLs in the default browser |
| Clock | Utilities | Display a live digital clock on a button |
| Discord | Communication | Control Discord voice state (mute/deafen) via RPC |
| Home Assistant | Home Automation | Control and monitor Home Assistant entities |
| Media Control | Media | Control media playback on Linux |
| Spotify | Media | Control Spotify playback via the Web API |
| Web Requests | Utilities | Send HTTP requests with a configurable method and payload |
pydeck-plugins/
├── manifest.json # Root catalog index — lists all plugins and versions
└── plugins/
└── <slug>/
├── icon.svg
└── <version>/
├── manifest.json # Plugin metadata read by PyDeck after install
├── plugin.py # Python functions called on button press
└── ... # Any additional files (CSS, helpers, assets)
- Create the version folder:
plugins/<slug>/<version>/with at minimummanifest.jsonandplugin.py. - Add an entry to the root
manifest.jsonwith the correctslug,latest, andversions[].path. - Commit and push both changes together.
See the pydeck-docs repo for the full catalog format reference and plugin manifest and plugin.py API.