MirrorDash SDK
Build modules for MirrorDash: small panels on the mirror, such as weather, a calendar or your own data.
Quick start
You need uv. Then one command creates a module, sets up a local mirror with it, starts it and opens it in your browser:
uvx mirrordash-sdk quickstart mirrordash-my-widget
The module shows example data right away. Change it in mirrordash-my-widget/mirrordash_my_widget/: save a file and the mirror shows the change by itself. Stop it with Ctrl+C, start it again with uvx mirrordash-sdk start in the module's folder. The admin page of this local mirror is at http://localhost:8000/admin, password mirrordash.
New to this? The module guide walks you through building a real module step by step, in about half an hour.
Templates
| Template | For a module that… | |
|---|---|---|
api (default for quickstart) |
fetches data from a web API with an API key and shows a value and a few rows | --template api |
basic |
works out what to show by itself, without the internet | --template basic |
Both show their data with components from the mirror's component library (http://localhost:8000/design), so they need no CSS, and both come with tests (uv run pytest).
Commands
uvx mirrordash-sdk quickstart <name> [-t api|basic] # everything below in one go
uvx mirrordash-sdk create-module <name> [-t basic|api] # just create the module
uvx mirrordash-sdk dev-setup -e # a local mirror (.venv) with this module on it
uvx mirrordash-sdk start # start the local mirror: http://localhost:8000/
uvx mirrordash-sdk validate . # check the module before you push it
uvx mirrordash-sdk release 1.0.0 # a new version mirrors can install
Share your module
Push it to GitHub once, then run uvx mirrordash-sdk release 1.0.0 for every version. It sets the version in pyproject.toml, tags it v1.0.0, pushes, and makes the GitHub Release (with the gh tool, or it gives you the link). Mirrors install the module from its Git URL under Admin → Modules, and offer updates when you make a new release. Nothing needs to be built or uploaded anywhere else. Details: MODULE_GUIDE.md, part 11.
Learn more
- MODULE_GUIDE.md: a step-by-step tutorial, then everything else: the component library,
fetch_json, settings, translations, testing, sharing, troubleshooting. - MODULE_AGENTS.md: the same rules, short, for AI coding agents.
http://localhost:8000/designwhile your local mirror runs: the component library, every building block with code to copy.
Developing the SDK itself
uv sync && uv run pytest # the tests also generate every template and run its tests
Releases: python3 scripts/release.py (try --dry-run first). It checks master and the tests, sets the version, pushes and tags vX.Y.Z; GitHub Actions then tests, builds and publishes it to PyPI.
Metadata
Release files for mirrordash-sdk 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mirrordash_sdk-0.3.0.tar.gz | 42.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mirrordash_sdk-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 72.4 kB
Release files / mirrordash_sdk-0.3.0.tar.gz
| Download URL | mirrordash_sdk-0.3.0.tar.gz |
|---|---|
| Size | 42.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d7ac002b73e67a32c1716c44484ab75dfb9bf8c80c72cd9d0e11ef37d75fbaee
|
|
BLAKE2b-256 checksum How to use checksums |
ced29dd2c0e22ba559286ddea7050b9760fe4e4a58e77616388cb94c2837bdce
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.
Transparency logRelease files / mirrordash_sdk-0.3.0-py3-none-any.whl
| Download URL | mirrordash_sdk-0.3.0-py3-none-any.whl |
|---|---|
| Size | 30.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e28046804d9fc66918702fcbd8eb955f1c028164f8433a6fe45a4108a6b14844
|
|
BLAKE2b-256 checksum How to use checksums |
46a9059d9935b879559cb09330472d503c3042639cc8312c99b1f2992b9a3b52
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.
Transparency log