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.0.tar.gz (140.7 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.0-py3-none-any.whl (58.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mirrorwall-0.2.0.tar.gz
  • Upload date:
  • Size: 140.7 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.0.tar.gz
Algorithm Hash digest
SHA256 396d5f63161d65ac30c1cf58284f294f4ae985685c11f687169dd929e86245da
MD5 9e0f0effd8b2d036589a08fde5dee170
BLAKE2b-256 c31cbec4e64ffc6294571a870912800bbdbfb8b787f7ad60d1628d932a806a33

See more details on using hashes here.

Provenance

The following attestation bundles were made for mirrorwall-0.2.0.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.0-py3-none-any.whl.

File metadata

  • Download URL: mirrorwall-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 58.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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 505477e8e0f137eb96c1e423f096c8d94f9475ab100639e59f3cdf2a6a339c1b
MD5 a3508621de384be47d2bed0ebf2dd814
BLAKE2b-256 4502700e9cc48cecaa5c0926ebd4965b19292eeadb40edfdda068b4d07427d74

See more details on using hashes here.

Provenance

The following attestation bundles were made for mirrorwall-0.2.0-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

0.2.2

2 files

0.2.1

2 files

This release

0.2.0 This release

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