Skip to main content

frontedge

The frontend layer for ML engineering: a ready-made design system and screens that mount into any FastAPI application.

pip install frontedge

The interface is inside the wheel; no Node build is needed. The design system for your own screens is @frontedge-ml/ui on npm.

from fastapi import FastAPI
import frontedge

app = FastAPI()
app.include_router(frontedge.runs(runs_provider=my_provider))

The provider returns frontedge.Run objects; the library knows nothing about authentication and hands the request to the provider, so access control stays on the application side.

What's inside

  • frontedge.mount(runs_provider, evals=..., datasets=..., actions=..., config=..., path="/frontedge") — the router: the list of runs, the run details, the log stream (SSE), the metadata and the built interface.
  • frontedge.runs(runs_provider, path="/frontedge") — the same router without the eval and dataset screens.
  • frontedge.models — the domain model: Run, Stage, MetricPoint, Artifact, Example, LogLine, EvalSummary, EvalComparison, DatasetInfo, DatasetDetail, the statuses and the freshness.
  • frontedge gen --out src/generated — the generator of TypeScript types and a typed client from the pydantic models. Pure Python, no Node needed.

One process, one port: the interface and the API are served by the same app.

Configuration

The configuration is data, not code — a TOML or JSON file that the same interface can edit by hand, from code and later with a visual editor:

# frontedge.toml
density = "default"          # compact | default | comfortable
theme = "light"              # light | dark
run_columns = ["name", "status", "ribbon", "dataset", "startedAt", "durationMs", "accuracy", "loss"]
app.include_router(frontedge.mount(my_runs_provider, config="frontedge.toml"))

UiConfig also knows eval_tabs, actions, live_refresh_seconds, baseline_run and page_size. The configuration is served to the browser as GET /frontedge/api/config.

Actions

The interface never invents what a button does: a project declares the actions it supports, and the library calls them.

[[actions]]
id = "stop"
label = "Stop"
placement = "run"        # run | runs | evals | datasets
danger = true
from frontedge import ActionResult

async def stop_run(request, payload) -> ActionResult:
    run_id = payload["runId"]
    await my_repository.stop(run_id)
    return ActionResult(ok=True, message=f"Run {run_id} stopped")

app.include_router(
    frontedge.mount(my_runs_provider, actions={"stop": stop_run}, config="frontedge.toml")
)

The handler receives the request and the payload of the interface and returns an ActionResult; its message is shown to the user.

The full description of the product and of the visual language: design document. The full contract: docs/integration.md.

MIT.

Metadata

Release files for frontedge 0.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for frontedge 0.4.0
File Size Uploaded Provenance Actions
frontedge-0.4.0.tar.gz 632.9 kB With provenance Details for frontedge-0.4.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for frontedge 0.4.0
File Interpreter ABI Platform Actions
frontedge-0.4.0-py3-none-any.whl Python 3 none any Details for frontedge-0.4.0-py3-none-any.whl

Total release size: 1.3 MB

Release files / frontedge-0.4.0.tar.gz

Download URL frontedge-0.4.0.tar.gz
Size 632.9 kB
Tags Source
SHA-256 checksum
How to use checksums
32876025e5e64fc57ffd3828b09df6458319c545d3cac9c928254f4c9c63001e
BLAKE2b-256 checksum
How to use checksums
d3c07919808f65a128ddcd746995cad4d605dc7120d43d6562ce5c2832827127
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 28, 2026.

Transparency log

Release files / frontedge-0.4.0-py3-none-any.whl

Download URL frontedge-0.4.0-py3-none-any.whl
Size 639.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2cd8a523a54b3ef9cc8b585c08ee42e7bf63f2be561f918f14411117d689e0b0
BLAKE2b-256 checksum
How to use checksums
028b9f7565b9792ad566cc68f375b5d7c495d2e32b438dbfa9643ce653be3bff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 28, 2026.

Transparency log

Security for frontedge 0.4.0

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.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for frontedge-0.4.0.tar.gz

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 28, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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