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.3.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.3.0
File Size Uploaded Provenance Actions
frontedge-0.3.0.tar.gz 631.2 kB With provenance Details for frontedge-0.3.0.tar.gz

Built distribution (wheel)

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

Total release size: 1.3 MB

Release files / frontedge-0.3.0.tar.gz

Download URL frontedge-0.3.0.tar.gz
Size 631.2 kB
Tags Source
SHA-256 checksum
How to use checksums
bebfb393d60e5e8e48b1251ff6cd095a1d51c34f1302c3a00657f7e100bb159b
BLAKE2b-256 checksum
How to use checksums
8fa638f923c20ab9fe5a44e895cb4e6bd9ddcf0b168ff8e42382fbd3599ea8d2
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.3.0-py3-none-any.whl

Download URL frontedge-0.3.0-py3-none-any.whl
Size 637.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e541fb9be9e2a677e50e360fc3688001196d8b98d61c973cb67cc1d5976920f8
BLAKE2b-256 checksum
How to use checksums
f495437a7ecfd6c09aa2ae7fa91b26e543a47de28c82ef66b52c20b6bc05be04
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.3.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.3.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