Skip to main content

MirrorWall

Design tokens, layout, component macros, SSE and JSON/error envelope helpers so three applications look like one family without sharing a page.

Status: Phases 1 and 2 implemented at 0.2.0 — design tokens, the layout shell, the component macros, template filters, JSON and error envelopes, request-ID/Host/CSRF middleware, SSE with a gap-free replay-to-live handoff, static mounting with content-hashed URLs, and the health primitives. LoadCoach renders every page on it. Phase 3 (the interactive table and chart modules, the component gallery) is next — see the development plan.

Part of the Local AI Suite.

Install

pip install mirrorwall

Quickstart

from pathlib import Path

from mirrorwall import create_template_environment, mount_static

environment = create_template_environment(
    app_template_dirs=(Path("src/yourapp/web/templates"),),
    globals_={
        "product_name": "YourApp",
        "product_version": "1.0.0",
        "nav_items": ({"key": "home", "href": "/", "label": "Home"},),
        "theme_storage_key": "yourapp-theme",
    },
)
mount_static(app, environment=environment)  # your Starlette/FastAPI application

Then a page is four lines:

{% extends "mirrorwall/base.html" %}
{% from "mirrorwall/components.html" import table %}
{% block content %}{{ table(columns, rows, table_id="things", sortable=true) }}{% endblock %}

Streaming, with the replay-to-live handoff, heartbeats and thread dispatch handled for you:

from mirrorwall import sse_response

return sse_response(
    your_event_source,
    stream_id=job_id,
    last_event_id=request.headers.get("last-event-id"),
    generator=GeneratorInfo(name="yourapp", version=__version__),
    terminal_events=frozenset({"result", "error"}),
)

See docs/packages/mirrorwall/spec.md §20 for the full surface.

Documentation

Project documentation lives under docs/. Start with docs/README.md.

Read this For
docs/packages/mirrorwall/spec.md Purpose, scope, non-goals, public contracts, configuration, acceptance criteria
docs/packages/mirrorwall/development-plan.md The phased build plan: goals, work, tests, acceptance criteria per phase

Development

python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
pre-commit install
pytest -m "not live and not performance"

See CONTRIBUTING.md for the full workflow and SECURITY.md for how to report a vulnerability.

License

Apache-2.0 — see LICENSE.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mirrorwall-0.2.2.tar.gz (144.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mirrorwall-0.2.2-py3-none-any.whl (59.2 kB view details)

Uploaded Python 3

File details

Details for the file mirrorwall-0.2.2.tar.gz.

File metadata

  • Download URL: mirrorwall-0.2.2.tar.gz
  • Upload date:
  • Size: 144.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for mirrorwall-0.2.2.tar.gz
Algorithm Hash digest
SHA256 0a44cab201e545e503eec9615412ac4ca1f9a809c464e9038b35b767c9aeb17e
MD5 a3955f70b595adb14ea1dd11e54c4ef6
BLAKE2b-256 a660d0adf5224a397dd6f04c7e0f2c33069f594ff49ed6650ed613dcdc448f04

See more details on using hashes here.

Provenance

The following attestation bundles were made for mirrorwall-0.2.2.tar.gz:

Publisher: release.yml on JPKell/MirrorWall

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mirrorwall-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: mirrorwall-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 59.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for mirrorwall-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 6324f38347e04f583d50e20c490fe88634defa1264c2de7bccadde45cabeec0c
MD5 6c65bd2e029dd5ad689c5466e0d58d8e
BLAKE2b-256 eac0033f089863f5314ce5e5879ad8f2f8a393dea32e239c56b1afbf21ca92a3

See more details on using hashes here.

Provenance

The following attestation bundles were made for mirrorwall-0.2.2-py3-none-any.whl:

Publisher: release.yml on JPKell/MirrorWall

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.2.2 This release

2 files

0.2.1

2 files

0.2.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page