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.1.tar.gz (143.5 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.1-py3-none-any.whl (59.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mirrorwall-0.2.1.tar.gz
  • Upload date:
  • Size: 143.5 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.1.tar.gz
Algorithm Hash digest
SHA256 84a91b36d4bb34a9d57372406bd5a240fd76a85894294f4b5ce35fc4de943bc8
MD5 145c1c44cf80ca490c44d7046342b21f
BLAKE2b-256 fa820bb28f5376474074d5d702b3efa8f1839b5175550281ae2f30eece3700a4

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: mirrorwall-0.2.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0d2f64885886bf5d38dff2fe34b14beb4c1940e8cdd9a49afe13702b39fcf4ec
MD5 cfd02d1d1eda0ee1b8f8beac21d1213f
BLAKE2b-256 383e2b43ba04df088738e7fb8ce62fef6ddf510c9aef02c28d31d5f87fcebad6

See more details on using hashes here.

Provenance

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

This release

0.2.1 This release

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