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.2.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.2.0
File Size Uploaded Provenance Actions
frontedge-0.2.0.tar.gz 628.6 kB With provenance Details for frontedge-0.2.0.tar.gz

Built distribution (wheel)

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

Total release size: 1.3 MB

Release files / frontedge-0.2.0.tar.gz

Download URL frontedge-0.2.0.tar.gz
Size 628.6 kB
Tags Source
SHA-256 checksum
How to use checksums
29f1a85a733a73a86344f22b2d68bd2e329579a0d003292d148ba1728d1e7c33
BLAKE2b-256 checksum
How to use checksums
503a787cba01fcd328df948047b9ae55aec2c246b8cebb0f455ca0db310a47fd
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 27, 2026.

Transparency log

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

Download URL frontedge-0.2.0-py3-none-any.whl
Size 634.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ce33dce56828b48e9e3d84c96743d1f81010c311a680c7557f8b82348dd3d958
BLAKE2b-256 checksum
How to use checksums
7ffd6de67f34740db26665be6510f0834d0578543914ac867ea653c3fda954a1
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 27, 2026.

Transparency log

Security for frontedge 0.2.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.2.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 27, 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