Skip to main content

Starlette-compatible URL route matcher as a native Python extension (~29× faster than Starlette's linear regex scan).

Project description

ffroute

Experimental — APIs may change.

A Starlette/FastAPI-compatible URL route matcher implemented as a native Python extension (Rust + PyO3). Replaces Starlette's linear-regex-scan with a min-index segment trie100–200× faster on real-world OpenAPI specs (Stripe, GitHub, Kubernetes), while preserving Starlette's exact first-registered-wins semantics, including its static-vs-param shadowing behaviour.

PyPI Python 3.10+ License: MIT

When to use this

ffroute helps when route matching is actually slow enough to notice:

  • Hundreds of routes — Starlette's linear regex scan shows up in flame graphs (the original 740-route measurement that motivated this package found routing was ~13 % of request time).
  • Lots of 404 traffic — bots, scanners, deprecated endpoints. The trie fails fast at the first non-matching segment; the "miss" speedup is even larger than the hit speedup (see Performance).
  • App startup matters — ffroute builds the routing table 50–200× faster than Starlette's regex compile (sub-millisecond vs 10–45 ms on the OpenAPI specs below). Useful for cold-start serverless and frequent restarts in CI.

Skip if you have fewer than ~50 routes (savings are real but small in absolute terms), or if you use custom starlette.convertors.Convertor subclasses — FFRouter still works correctly (Starlette's per-route check filters), but loses the trie fast-path for those segments.

Install

pip install ffroute               # core (zero Python deps)
pip install 'ffroute[starlette]'  # with FFRouter — the Starlette/FastAPI drop-in
# or
uv add ffroute

Pre-built wheels are published for CPython 3.10–3.14 on Linux (manylinux + musllinux, x86_64 + aarch64), macOS (x86_64 + arm64) and Windows (x86_64). For other platforms, pip install builds from sdist — needs a Rust toolchain (rustup default stable).

Usage

Drop-in for Starlette / FastAPI

from fastapi import FastAPI
from ffroute import speedup

app = FastAPI()

@app.get('/users/{user_id}')
def show_user(user_id: int) -> dict:
    return {'user_id': user_id}

# Swap the path-matching layer for ffroute. That's it — method dispatch,
# Mount, Host, redirect_slashes, /openapi.json, /docs all unchanged.
speedup(app)

speedup(app) rebinds app.router to a dynamically-built subclass that mixes FFRouter into whatever router class the app already uses (starlette.routing.Router or fastapi.routing.APIRouter). FFRouter's path-scan overrides win; everything else — including FastAPI's OpenAPI-schema cache hooks — stays intact. It's idempotent: a second call just re-indexes.

By default speedup recurses into Mount sub-apps and applies the same treatment to any Starlette/FastAPI app (or bare Router) it finds — so a heavily-routed sub-app behind Mount('/api', app=sub) gets the trie too, not just the top-level router. Mounts wrapping non-router ASGI apps (StaticFiles, raw callables) are left alone. Pass recursive=False to opt out:

speedup(app, recursive=False)  # only the top-level router

Equivalent manual form, if you're on plain Starlette (and don't need to preserve a custom router subclass):

from ffroute import FFRouter
app.router.__class__ = FFRouter
app.router._rebuild_index()

Advanced: low-level matcher

For a custom dispatch layer outside Starlette, use the raw trie matcher directly — no framework dependency, integers in / integers out:

import ffroute

router = ffroute.Router([
    '/users/me',                           # 0
    '/users/{user_id:int}',                # 1
    '/items/{item_id}',                    # 2
    '/static/{file:path}',                 # 3
])

router.match('/users/me')        # -> 0   (first-registered wins)
router.match('/users/42')        # -> 1
router.match('/items/abc')       # -> 2
router.match('/static/a/b.png')  # -> 3
router.match('/missing')         # -> None

API reference

symbol needs use case
ffroute.Router low-level Rust trie; returns the integer index of the matching pattern
ffroute.FFRouter starlette starlette.routing.Router subclass; drop-in replacement
ffroute.speedup(app) starlette one-liner: rebind an existing app's router class

Router methods:

method returns use case
match(path) int | None — best (lowest-index) match single-request dispatch
match_many(paths) list[int]-1 for no match batch matching
match_all(path) list[int] — every candidate, in trie-walk order candidate narrowing (then run the framework's own per-route check)

Compatibility

speedup(app) swaps only the path-matching scan. Everything else stays the framework's job — FFRouter is a starlette.routing.Router subclass that runs Starlette's per-route check on each candidate the trie surfaces.

Feature Status
FastAPI @app.get / @app.post / decorators
FastAPI APIRouter + include_router (prefix, tags, dependencies)
Starlette Route with methods=[...] (→ 405 on method mismatch)
Starlette Mount / sub-apps (always considered as candidates)
Nested Mount (Mount inside Mount inside Mount…)
Speedup propagates into Mount sub-apps and Mount(routes=[...]) ✅ via recursive=True (default); opt out with speedup(app, recursive=False)
Starlette Host routing
WebSocket routes
redirect_slashes (trailing-slash redirect)
FastAPI auto-generated /openapi.json, /docs, /redoc
Built-in path convertors (str, int, float, uuid, path) ✅ fast-path
Custom starlette.convertors.Convertor subclasses ⚠️ works through FFRouter (Starlette filters); loses the trie fast-path
app.router.add_route(...) after speedup() ✅ trie rebuilds; O(N), so register routes before speedup() when possible
Calling speedup(app) twice ✅ idempotent — just re-indexes

All cases above are covered by tests/test_ffrouter.py.

Supported segment kinds

ffroute mirrors Starlette's convertors.py:

segment regex note
static exact match HashMap fast path
{name} / {name:str} [^/]+ regex-free fast path
{name:int} [0-9]+ typed convertor
{name:float} [0-9]+(\.[0-9]+)? typed convertor
{name:uuid} [0-9a-f]{8}-[0-9a-f]{4}-… typed convertor
{name:path} .* consumes the remainder of the path
compound (e.g. {user}:disable, ({n:int})) anchored whole-segment regex mixed literal + param

Semantics: match returns the minimum registration index among all patterns that match. This is exactly Starlette's "first-registered wins" rule, including the FastAPI footgun where /x/{id}/ registered before /x/bulk/ makes GET /x/bulk/ match the param route with id="bulk". Drop-in routers from other ecosystems (httprouter, matchit, find-my-way) do not preserve this — they use static > param > catch-all priority, which is why they can't be used as a Starlette replacement without behaviour change.

Performance

Measured against three public OpenAPI specs (Stripe, GitHub REST v3 and Kubernetes). For every route a match probe (dynamic params filled with valid values) and a miss probe (dynamic section perturbed; verified against Starlette's own matcher so collisions don't pollute the workload) is generated; the full workload is looped to ≥ 20 k iterations, best-of-3:

spec routes ffroute hit starlette hit hit speedup ffroute miss starlette miss miss speedup
Stripe 414 95 ns 11 418 ns 120× 65 ns 22 956 ns 355×
GitHub 788 112 ns 23 501 ns 210× 42 ns 43 039 ns 1022×
Kubernetes 542 127 ns 15 496 ns 122× 80 ns 31 723 ns 398×

The miss speedup is even larger than the hit speedup because a trie fails fast at the first non-matching segment, while Starlette has to execute every compiled regex before concluding "no match". One-time build is 50–200× faster too (Stripe: 0.13 ms vs 8.3 ms; GitHub: 0.22 ms vs 22.5 ms).

Reproduce — or regenerate the table above — with benchmarks/openapi_bench.py:

uv sync --group benchmarks
uv run --no-sync python benchmarks/openapi_bench.py                 # print
uv run --no-sync python benchmarks/openapi_bench.py --update-readme # rewrite the table above

Why this is fast (vs other approaches)

On a synthetic 740-route table with 50 k weighted URLs (best-of-5, Python 3.14.0rc2), ffroute is measured against the design space of routing implementations — pure-Python tries, regex variants, batch vs single-call:

implementation build (ms) ns/req req/s vs Starlette
starlette.routing.Router (linear regex scan) 130 2971 0.34 M 1.0×
linear regex, no scope dict 59 953 1.05 M 3.1×
pure-Python segment trie 1.8 668 1.50 M 4.4×
ffroute (PyO3, batch) 0.7 115 8.7 M 26×
ffroute (PyO3, single-call) 0.5 101 9.9 M 29×

The single-call number is the realistic one — ASGI calls the matcher once per request, not in a batch. A pure-Python trie alone already wins 4.4×, so most of the gap isn't "Rust vs Python" — it's "trie vs linear scan". The Rust implementation is then ~7× on top of that. A trie also removes the O(N) factor: the linear scan climbs 745 → 2731 ns/req as N goes 100 → 3000, while ffroute stays ~98 ns regardless of N.

The 740-route numbers are lower than the OpenAPI numbers above because the synthetic corpus is dominated by short static prefixes (faster for both matchers); the real OpenAPI tables have deeper paths and more dynamic segments, which slow Starlette's per-route regex scan disproportionately.

Why a custom router (vs matchit / httprouter / find-my-way)?

A native radix router from another ecosystem can't be dropped into FastAPI without changing behaviour:

  • httprouter (Go) panics when a static segment and a param share a position (/x/bulk/ vs /x/{id}/) — the everyday FastAPI route model. It rejected 53 % of a 740-route table in our measurements.
  • matchit (axum) and find-my-way (Fastify) use static > param > catch-all priority, returning a different match than Starlette for the shadowing cases above.

ffroute implements a min-index segment trie precisely to reproduce Starlette's first-registered semantics byte-for-byte.

Conformance

tests/test_conformance.py is a differential test whose oracle is Starlette's real compile_path / Route.path_regex. Cases are lifted from starlette/tests/test_routing.py (typed convertors, /path-with-parentheses({param:int}), the intra-segment /{username}:disable, str-param shadowing), FastAPI's documented fixed-before-param priority, and trailing-slash edge cases, plus a synthetic 5 000-path fuzz over an algorithmically-generated route corpus.

tests/test_ffrouter.py covers the speedup / FFRouter integration — mount + APIRouter + include_router combinations, method dispatch (→ 405), nested Mounts, FastAPI's /openapi.json round-trip, and the lazy-import error message when Starlette isn't installed.

See examples/starlette_app.py and examples/fastapi_app.py for runnable apps that enable FFRouter in one line.

Development

uv sync --all-groups               # install dev deps incl. maturin
uv run maturin develop --release   # build the Rust extension into the venv
uv run pytest                      # run the test suite

See the Makefile for additional targets (make help).

License

MIT — see LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ffroute-0.1.3.tar.gz (60.2 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

ffroute-0.1.3-cp314-cp314-win_amd64.whl (600.4 kB view details)

Uploaded CPython 3.14Windows x86-64

ffroute-0.1.3-cp314-cp314-musllinux_1_2_x86_64.whl (943.2 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

ffroute-0.1.3-cp314-cp314-musllinux_1_2_aarch64.whl (861.5 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

ffroute-0.1.3-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (723.5 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

ffroute-0.1.3-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (684.1 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

ffroute-0.1.3-cp314-cp314-macosx_11_0_arm64.whl (621.2 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

ffroute-0.1.3-cp314-cp314-macosx_10_12_x86_64.whl (679.9 kB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

ffroute-0.1.3-cp313-cp313-win_amd64.whl (600.8 kB view details)

Uploaded CPython 3.13Windows x86-64

ffroute-0.1.3-cp313-cp313-musllinux_1_2_x86_64.whl (943.5 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

ffroute-0.1.3-cp313-cp313-musllinux_1_2_aarch64.whl (861.7 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

ffroute-0.1.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (723.8 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

ffroute-0.1.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (684.4 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

ffroute-0.1.3-cp313-cp313-macosx_11_0_arm64.whl (621.6 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

ffroute-0.1.3-cp313-cp313-macosx_10_12_x86_64.whl (680.0 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

ffroute-0.1.3-cp312-cp312-win_amd64.whl (600.9 kB view details)

Uploaded CPython 3.12Windows x86-64

ffroute-0.1.3-cp312-cp312-musllinux_1_2_x86_64.whl (943.7 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

ffroute-0.1.3-cp312-cp312-musllinux_1_2_aarch64.whl (861.7 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

ffroute-0.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (724.1 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

ffroute-0.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (684.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

ffroute-0.1.3-cp312-cp312-macosx_11_0_arm64.whl (621.5 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

ffroute-0.1.3-cp312-cp312-macosx_10_12_x86_64.whl (679.9 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

ffroute-0.1.3-cp311-cp311-win_amd64.whl (601.4 kB view details)

Uploaded CPython 3.11Windows x86-64

ffroute-0.1.3-cp311-cp311-musllinux_1_2_x86_64.whl (944.3 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

ffroute-0.1.3-cp311-cp311-musllinux_1_2_aarch64.whl (862.4 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

ffroute-0.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (724.8 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

ffroute-0.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (685.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

ffroute-0.1.3-cp311-cp311-macosx_11_0_arm64.whl (621.6 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

ffroute-0.1.3-cp311-cp311-macosx_10_12_x86_64.whl (679.8 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

ffroute-0.1.3-cp310-cp310-win_amd64.whl (601.7 kB view details)

Uploaded CPython 3.10Windows x86-64

ffroute-0.1.3-cp310-cp310-musllinux_1_2_x86_64.whl (944.6 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

ffroute-0.1.3-cp310-cp310-musllinux_1_2_aarch64.whl (862.9 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

ffroute-0.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (724.8 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

ffroute-0.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (685.8 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

ffroute-0.1.3-cp310-cp310-macosx_11_0_arm64.whl (621.9 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

ffroute-0.1.3-cp310-cp310-macosx_10_12_x86_64.whl (680.2 kB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

File details

Details for the file ffroute-0.1.3.tar.gz.

File metadata

  • Download URL: ffroute-0.1.3.tar.gz
  • Upload date:
  • Size: 60.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ffroute-0.1.3.tar.gz
Algorithm Hash digest
SHA256 e801c3e45899516955015db1e7ba7ac921adb09eef0a0e10960bbd2180ea9c67
MD5 554f86e49c63b943748aa33aad416cba
BLAKE2b-256 7f27a2653464e1f6fc18ad6603515c4d7bd12367bd2407a8ab77af258a5fc668

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.3.tar.gz:

Publisher: release.yml on jirikuncar/ffroute

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ffroute-0.1.3-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: ffroute-0.1.3-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 600.4 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ffroute-0.1.3-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 c7bd0e7bf65b801bba1a76aebaa362eaa51647beff43fd84b929e0e67cc280c6
MD5 55f687307992f13e317db054f5007d28
BLAKE2b-256 74d86ca6fbf8ad7c021e1c5322cf9e159c3cb80480ca53ac5a9fc84e71b49969

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.3-cp314-cp314-win_amd64.whl:

Publisher: release.yml on jirikuncar/ffroute

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ffroute-0.1.3-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ffroute-0.1.3-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 59b44a5843419bef25f531c55425ef6fd5f2b80fe5b67195542850dfaa7b9661
MD5 ca6f373d8bf8d5cbf8859f7e16d358ee
BLAKE2b-256 8292961a7a492500fefba33579499a015515bf608747d8fc890f3b99e88d4677

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.3-cp314-cp314-musllinux_1_2_x86_64.whl:

Publisher: release.yml on jirikuncar/ffroute

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ffroute-0.1.3-cp314-cp314-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for ffroute-0.1.3-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 918c632eb59097e6ffa2fb596c750e2df81f9d92ac5cfd46f13b27ce25898912
MD5 f0c50380cd1c1513acb7a527b08c3f45
BLAKE2b-256 3284916d28d5beea060439b42855a5c3601e7218bb3ad701434d426db03bd28d

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.3-cp314-cp314-musllinux_1_2_aarch64.whl:

Publisher: release.yml on jirikuncar/ffroute

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ffroute-0.1.3-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ffroute-0.1.3-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 54b65b9d6b19105ac7aac845484989542951866ee1cb667310ea6ae192216096
MD5 d2d92da53c3a1db0ada005c60fa41856
BLAKE2b-256 6a3bebb850405f586723f938073a805eabd97549bc779d5ae169e7b4076ce751

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.3-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on jirikuncar/ffroute

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ffroute-0.1.3-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for ffroute-0.1.3-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 13cfa0d94dd85cb8f699242b5756c46e76cf02559d1ee8df54bda8988254fce4
MD5 685cc517f45ed60ded877dde6506cb44
BLAKE2b-256 e6d8c126f73ceae3faaef8836c87a2fefc4c50cbe7c716c96f15e3d2e5c6f838

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.3-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on jirikuncar/ffroute

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ffroute-0.1.3-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ffroute-0.1.3-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 124eca2f029b813a4f2adb0efdd9758e7b8fed532dac5ed2e1beaddb2c7d710c
MD5 c614dc722d8e13d4751b507df912c25e
BLAKE2b-256 08ce7c53c49134cc4401f935a69553b36c2d47a26eb5c26ad2bc48d7dd908cb2

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.3-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: release.yml on jirikuncar/ffroute

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ffroute-0.1.3-cp314-cp314-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for ffroute-0.1.3-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 56bfc26383122f34b0917e4de70cb0d350fa9dfa3e0152678f1ede2c6dcd29ab
MD5 7efe90b41b534d0b1ffc01c1d739f7d7
BLAKE2b-256 cc9b4e5f40092af8b38e54cce02e3cbd1f6d63df3fdee9d0f524743dc5d1dacd

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.3-cp314-cp314-macosx_10_12_x86_64.whl:

Publisher: release.yml on jirikuncar/ffroute

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ffroute-0.1.3-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: ffroute-0.1.3-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 600.8 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ffroute-0.1.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 c7a0f3cafddf288241af022a8722caa7138bb06dd5468c5928a87c13669860a9
MD5 d899db6880aa44caf6673d780260894f
BLAKE2b-256 51650c33230af9aa4eac8e4402bfe564942ed9c0fcb60c5faea90c6619f5ef81

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.3-cp313-cp313-win_amd64.whl:

Publisher: release.yml on jirikuncar/ffroute

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ffroute-0.1.3-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ffroute-0.1.3-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 974daff72f829cd788260ba0dbd0bd6e37858026bf76deeaf2bb060c7b2878f2
MD5 95baed958dc74c0d6303ee288462986b
BLAKE2b-256 a8d10b88c4bbd2f71d8057823922a324bbedc36169a913757053a79a800646ee

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.3-cp313-cp313-musllinux_1_2_x86_64.whl:

Publisher: release.yml on jirikuncar/ffroute

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ffroute-0.1.3-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for ffroute-0.1.3-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 616b0978747d350295709fe0cdac59c31e463cec6f09c7a34063b992fe18a70d
MD5 e54ad7e5cad178356d70afcfa9ecfe7d
BLAKE2b-256 338254e9fd87f8d0fcc0987b1ee61e487fec7700de2360ed7dd4155dbd9cf589

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.3-cp313-cp313-musllinux_1_2_aarch64.whl:

Publisher: release.yml on jirikuncar/ffroute

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ffroute-0.1.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ffroute-0.1.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 860a7fdadbeb78061f96f9d1f9faba8cb85b8a976fab723ac44ab9404bde8155
MD5 d2f56bf3bd7fabc91b6e9eb68dc1fd2c
BLAKE2b-256 0932fd2052053d4f5d0f7ad911aea609299b198cc98a8ff148a3ca303d699c1e

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on jirikuncar/ffroute

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ffroute-0.1.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for ffroute-0.1.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b1eaded76cb559a4aeb5fd3d23a27080d2ace2e08057d15680efde9675177929
MD5 1e371635910e8f32e7124242cd14addc
BLAKE2b-256 e9b5cce7d4fedd4b0b64e93b53bbec2ea8e8c7c2e08f4cac7e557df78d042f37

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on jirikuncar/ffroute

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ffroute-0.1.3-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ffroute-0.1.3-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c0cd5c4af1dfb05e40cdea42ef9e415f94bb8c307dbaebb8a330e05ad6234ac6
MD5 6732e4acb872634e97f9fa3241b48770
BLAKE2b-256 9af879261632b3091085b9d1eebf4f016f165c15cc0538e269afdd75af6a0263

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.3-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: release.yml on jirikuncar/ffroute

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ffroute-0.1.3-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for ffroute-0.1.3-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 c28067f52edef5e41efe43447523061325fb2ee73eed9e8f7f25baa3c2aac2eb
MD5 97091f589334f6cd990d1a7ad4a2149c
BLAKE2b-256 059b28cc63080c06c92eca5738e833947678e39484f733efa9d52446e0a6e012

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.3-cp313-cp313-macosx_10_12_x86_64.whl:

Publisher: release.yml on jirikuncar/ffroute

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ffroute-0.1.3-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: ffroute-0.1.3-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 600.9 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ffroute-0.1.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 c6b30f2e3836cbbc4f6e487e1afebb96122d20a9aad922f0109f15820e2e6848
MD5 83cb511b5846ef9a4835ebd4b596972e
BLAKE2b-256 2ebae10e96eee7eb80d43ff85ba25c74e943bd01bfe3467ea81590eb72d92784

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.3-cp312-cp312-win_amd64.whl:

Publisher: release.yml on jirikuncar/ffroute

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ffroute-0.1.3-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ffroute-0.1.3-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e4dd69c0aa717e73134bdbff2829a6e27051380f1a93652e3fcab576d57b747f
MD5 298149d22089e26cdc28d5cf7cf804db
BLAKE2b-256 1bce6bd5ac80477bb9424e923f716cca9a31826d8b88cc5344b98f0d8f15b9b9

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.3-cp312-cp312-musllinux_1_2_x86_64.whl:

Publisher: release.yml on jirikuncar/ffroute

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ffroute-0.1.3-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for ffroute-0.1.3-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 5ab308b7a9672a1feb53ed412452c2baff08456ae8b0cd3411cc4cd1cb76bee6
MD5 758451e134b9e856948922598a50cdfc
BLAKE2b-256 74e95dccfb9e201165b3fdb291ad5a2979f3cad329ff149045ae71f9f2fdc4fd

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.3-cp312-cp312-musllinux_1_2_aarch64.whl:

Publisher: release.yml on jirikuncar/ffroute

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ffroute-0.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ffroute-0.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e461d4d2ffeffa46c12a7f171a5d17017770b503e0dd179a3b84049d02cf678a
MD5 60e85869b892fbf3b43658396c4f816b
BLAKE2b-256 38f356eadd9de37db2b0021f43b4175131d2b74591578747f9c7641365b50c91

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on jirikuncar/ffroute

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ffroute-0.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for ffroute-0.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 da4dfa37931cca1e4de677a4ad23a9e2471719bd775f7f6e34367b7e8e2a0865
MD5 110603e4cb2c02ba6880f2e9317002ed
BLAKE2b-256 f0d7a923b7796bd0bf9050480c34f3d92dcd58c18ed1e33fa22a754dfc3b29ce

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on jirikuncar/ffroute

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ffroute-0.1.3-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ffroute-0.1.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0ef8e66d9dc443e91a193f7b9aa8cb824bfa8f703ceb7f9c45955e6c258c9460
MD5 df409ec81511021b0f82688d928c14e4
BLAKE2b-256 c86dca22d27eb5f1d88a77082956ae15d201bccb4f2589f28a0f6aa85cd76d07

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.3-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: release.yml on jirikuncar/ffroute

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ffroute-0.1.3-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for ffroute-0.1.3-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 cee9cc2d4705ffe5f7817c6b026580fe9fc28ee080da91fd418a1daf7dd601d8
MD5 699a48a1f6641fb43d8d81c1ec655e31
BLAKE2b-256 703b282b03a29f026e674b681873d2ea98881a48f5a4239bb9e96c42c4e094dc

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.3-cp312-cp312-macosx_10_12_x86_64.whl:

Publisher: release.yml on jirikuncar/ffroute

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ffroute-0.1.3-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: ffroute-0.1.3-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 601.4 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ffroute-0.1.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 ec410397460337c86dc1fd434de755c19090aa579cfa2746aab851a69201e892
MD5 4d2bc6b3afc66aab113a1dee4c272533
BLAKE2b-256 a136cf60472d554cba962e76a2fd6c353446bbd854d2b0cf84faf9fd3c530614

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.3-cp311-cp311-win_amd64.whl:

Publisher: release.yml on jirikuncar/ffroute

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ffroute-0.1.3-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ffroute-0.1.3-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a9f4163966e2b4b3c80e1530e7cd3fe7a8d8213579ca339a3461eb08dbdef6cb
MD5 10049777c1079d8c57faa9167daf398f
BLAKE2b-256 40e0f0b8c9ac4012e6f3c57f08844b911fa3ac3f458cbce1b8fc296c90ad787d

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.3-cp311-cp311-musllinux_1_2_x86_64.whl:

Publisher: release.yml on jirikuncar/ffroute

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ffroute-0.1.3-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for ffroute-0.1.3-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 8321ef8b15de803a480d8d2a0594cb330794584bcbc754a676672e7650d69c69
MD5 ec8c873313d43ab4ba1aeb0acb7f55cc
BLAKE2b-256 0e471c91cb34e565aeff479cd37221f5f5c97fa6bbfffd671dc45e3c18834878

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.3-cp311-cp311-musllinux_1_2_aarch64.whl:

Publisher: release.yml on jirikuncar/ffroute

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ffroute-0.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ffroute-0.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0f7bd29d24320e907d35f8d0c93380b3e4939ed3436a27883f9610665a6d6f87
MD5 18f3fa25e2183a33eac5390285abe384
BLAKE2b-256 968c71f179795051f61cccbfa9c42219c76dd6377a0fc5801e8e0711458c3405

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on jirikuncar/ffroute

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ffroute-0.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for ffroute-0.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 de022bd6551215834adf0df250de24028783e50efdb0e0f840a76abaebd14917
MD5 ca91b3f1b446c3009a188e7e1117f549
BLAKE2b-256 43b4d713c740406f794ef516c75b4171b4f5517e6a9b89af4e10f8dc3d25e1f4

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on jirikuncar/ffroute

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ffroute-0.1.3-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ffroute-0.1.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 225d58c07767336a33ac60bdb031711f19fcffc46c358294b5cd951117c2188b
MD5 f86e1c3a0af533639bde04feb85582ce
BLAKE2b-256 fb5eaa3e064ef6692a55c1e50126bb7aeac7a759bf0d5683133d12cb445122b0

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.3-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: release.yml on jirikuncar/ffroute

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ffroute-0.1.3-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for ffroute-0.1.3-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 74f677e23b54bdfda042b4bc8d9fb7bc55d4a3581cfa0e63e5ea17059e6606b3
MD5 e35c5b84fc2f06c661a6026960ea1c16
BLAKE2b-256 9cef6308793d03d37ac34de7af67c0a3ecb572d5bcdcb705e2419622486dd4f1

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.3-cp311-cp311-macosx_10_12_x86_64.whl:

Publisher: release.yml on jirikuncar/ffroute

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ffroute-0.1.3-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: ffroute-0.1.3-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 601.7 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ffroute-0.1.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 76e0282c6fbd3120158a82e03d4c0bd5910b49fc0bb325259801ce1b85678052
MD5 5bac3c95a5014c3b8a12d1c02e842078
BLAKE2b-256 2c23f8ca7af8d678945040c9774c5e09dd5867c650793d97b0018c29ff40e101

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.3-cp310-cp310-win_amd64.whl:

Publisher: release.yml on jirikuncar/ffroute

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ffroute-0.1.3-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ffroute-0.1.3-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0752930db030f22eaa8f028d964d40f5a35486083fc724dc8cc6c3d2cf4b300c
MD5 8edaf55db5bff7426110f3203af6cf0e
BLAKE2b-256 8194e05ed37b209625652efa46554f76ea5ec0f9c08bebee793238549ecaf5c4

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.3-cp310-cp310-musllinux_1_2_x86_64.whl:

Publisher: release.yml on jirikuncar/ffroute

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ffroute-0.1.3-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for ffroute-0.1.3-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 c521c92974a098a5fda97e76e96c5f950cf5a3d2e5fe247440d51baacd687af6
MD5 84dd27ec31b6fdfe726fda0cd26e2345
BLAKE2b-256 ac543dd180d3108fa6932b3a543daf6db4bb98016f2108bfd9a4595aa28fd4bc

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.3-cp310-cp310-musllinux_1_2_aarch64.whl:

Publisher: release.yml on jirikuncar/ffroute

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ffroute-0.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ffroute-0.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 df36117ab6e879440e24f2e271aeb6537de418a1e2b1d0a5295ce4ab7146190e
MD5 8577988bebb3f771e866982d050136a4
BLAKE2b-256 b3c0fd7a1e6f2c44817f45da1c86c6c78ef7d637723541ad08d4de9c999626f4

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on jirikuncar/ffroute

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ffroute-0.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for ffroute-0.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2121fb999b8a0f31bc9bba8e7b460a205eb27a326e8ee951918c95f5cc7e2733
MD5 2a6591e418a1fb955748fea5fa8a319d
BLAKE2b-256 ee89f87bbea49f74aa2fe75b545295b028fee3beec56cca981c50f8672f46e1c

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on jirikuncar/ffroute

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ffroute-0.1.3-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ffroute-0.1.3-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 40fcc2ff78e6205b8ce2400f0e1031f2ce5a8f1876aa617e7f620715203cd02c
MD5 ce584039c9a1d139b66849ac957029e0
BLAKE2b-256 5ae30fc7b9e9886b33aff4f1357d07107f1887751ee95cae0f498930ed3f8ad9

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.3-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: release.yml on jirikuncar/ffroute

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ffroute-0.1.3-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for ffroute-0.1.3-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 f4faab0b1905d8ba596a2f04b71f01d3ebb9382692ba83416b92d96856d13061
MD5 1bfab6831ac5d472437e4a99f06bc944
BLAKE2b-256 c1ed555b28f0f2ffc6357a0be026595e2a03b7cb6c5a91ad1300dafe41cb7f8e

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.3-cp310-cp310-macosx_10_12_x86_64.whl:

Publisher: release.yml on jirikuncar/ffroute

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page