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.1.tar.gz (58.7 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.1-cp314-cp314-win_amd64.whl (600.0 kB view details)

Uploaded CPython 3.14Windows x86-64

ffroute-0.1.1-cp314-cp314-musllinux_1_2_x86_64.whl (942.4 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

ffroute-0.1.1-cp314-cp314-musllinux_1_2_aarch64.whl (861.1 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

ffroute-0.1.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (723.1 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

ffroute-0.1.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (683.8 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

ffroute-0.1.1-cp314-cp314-macosx_11_0_arm64.whl (620.8 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

ffroute-0.1.1-cp314-cp314-macosx_10_12_x86_64.whl (679.8 kB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

ffroute-0.1.1-cp313-cp313-win_amd64.whl (600.3 kB view details)

Uploaded CPython 3.13Windows x86-64

ffroute-0.1.1-cp313-cp313-musllinux_1_2_x86_64.whl (942.8 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

ffroute-0.1.1-cp313-cp313-musllinux_1_2_aarch64.whl (861.3 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

ffroute-0.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (723.5 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

ffroute-0.1.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (684.0 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

ffroute-0.1.1-cp313-cp313-macosx_11_0_arm64.whl (621.1 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.13macOS 10.12+ x86-64

ffroute-0.1.1-cp312-cp312-win_amd64.whl (600.4 kB view details)

Uploaded CPython 3.12Windows x86-64

ffroute-0.1.1-cp312-cp312-musllinux_1_2_x86_64.whl (943.0 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

ffroute-0.1.1-cp312-cp312-musllinux_1_2_aarch64.whl (861.3 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

ffroute-0.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (723.7 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

ffroute-0.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (684.0 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

ffroute-0.1.1-cp312-cp312-macosx_11_0_arm64.whl (621.1 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.12macOS 10.12+ x86-64

ffroute-0.1.1-cp311-cp311-win_amd64.whl (600.9 kB view details)

Uploaded CPython 3.11Windows x86-64

ffroute-0.1.1-cp311-cp311-musllinux_1_2_x86_64.whl (943.6 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

ffroute-0.1.1-cp311-cp311-musllinux_1_2_aarch64.whl (862.1 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

ffroute-0.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (724.4 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

ffroute-0.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (685.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

ffroute-0.1.1-cp311-cp311-macosx_11_0_arm64.whl (621.2 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

ffroute-0.1.1-cp311-cp311-macosx_10_12_x86_64.whl (679.7 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

ffroute-0.1.1-cp310-cp310-win_amd64.whl (601.3 kB view details)

Uploaded CPython 3.10Windows x86-64

ffroute-0.1.1-cp310-cp310-musllinux_1_2_x86_64.whl (943.8 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

ffroute-0.1.1-cp310-cp310-musllinux_1_2_aarch64.whl (862.6 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

ffroute-0.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (724.4 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

ffroute-0.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (685.4 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

ffroute-0.1.1-cp310-cp310-macosx_11_0_arm64.whl (621.4 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

ffroute-0.1.1-cp310-cp310-macosx_10_12_x86_64.whl (680.1 kB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: ffroute-0.1.1.tar.gz
  • Upload date:
  • Size: 58.7 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.1.tar.gz
Algorithm Hash digest
SHA256 af732a73119a11d41d99f0e85e9b13abf93ad0a34d4874198cde342fdb061e97
MD5 bb2655ff73b3454d19fba66095acc1f0
BLAKE2b-256 d93638c7ccaada6ff5cfaed1194ab730c9ed6d6c1777b59728425202e9ac71fa

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.1.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.1-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: ffroute-0.1.1-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 600.0 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.1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 e799897b11831188f948372b821a096f85635d7527cecb636611fce1cfebb848
MD5 47b9e4372fd9a47a056c3fba8ffb504e
BLAKE2b-256 2af1bc02ed7d19fdc81194750c6264e9418c1afcbbb57db2dcef2f2405085751

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.1-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.1-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ffroute-0.1.1-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 28c3058e8c176a9cfb3fc0c0236e3eb61d32d6af192f09d912d70c4f1aae73bf
MD5 47d3da142679fd48cf1fb36c2877a60d
BLAKE2b-256 bfed3a07a58886d9beae67072db82a075fedb0f8379ff659e3a5fc4735342397

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.1-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.1-cp314-cp314-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for ffroute-0.1.1-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 1d17d60e0531ec35b437d6ad8886715ea9d7dd1e46344ab489731b9d7ed0037b
MD5 e217bb1f8db985f095a244474b6e0361
BLAKE2b-256 748b4924d28a709331ce7c99affce7027e3500fb57586e380f6147d18fa49a6c

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.1-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.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ffroute-0.1.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 33681dbb86f5300988a139f97e4d44069964185da4ef6c57d87cb5828b6a7276
MD5 86fdb5844ee6a2e8e6dbb3acfb19dfed
BLAKE2b-256 8d33d3819798acf1b2d0e3489f9e1650771bafed482e6d02c9a27575f2275a66

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.1-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.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for ffroute-0.1.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 029809f265528a4557c3ce19999e42723540872d910d73f7d100dad63232ed7c
MD5 4199fd21c7150ed8d55a4fef7268538b
BLAKE2b-256 fba1aca7d02999d1317d6cd803af7918e957e5760047216162f42eedee244e7b

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.1-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.1-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ffroute-0.1.1-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 205ebf2eb6efc63b0f1cb0009c16e23e57ebabe37c8f3f76e5db9ced8dbc31cd
MD5 fc4263f5961d573de40d457009a3fb93
BLAKE2b-256 85e88ff1c9b848e157a43f5b53fa2bd5fa220d1ee48f20c4f7f25a01b999dd08

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.1-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.1-cp314-cp314-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for ffroute-0.1.1-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 00980da8df2d9edb53d8cc67e0b49277898c8ac2bf8b683c711d342bb3fc83d4
MD5 a3253af68ad136b7f3985164a7eb64b0
BLAKE2b-256 cb7970f427a8db05c4a6903ea8b76a40c71eec664df95d8e0430f853463c7dcb

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.1-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.1-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: ffroute-0.1.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 600.3 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.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 7029334f14923962023041d922dba84f49503c34f7b6fad5950ec7bfecbc0d98
MD5 c13118f821245046b2072f00b1436b21
BLAKE2b-256 b49e372e0d1184e202e6ae3f95a83bf59641753638e6385fe11ba0ef4e800a57

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.1-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.1-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ffroute-0.1.1-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a2525f62a2d0c4a16015659e21119a05227a9348c62c1f10eaa8cd87e77224b2
MD5 aece626f8218e51ad78253414a4fc3fc
BLAKE2b-256 057ae0ea4fcde6b9369f5dd09e0575d32c9644f8603fdd54acadf5ab2a2af0b9

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.1-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.1-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for ffroute-0.1.1-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 a6104164f7910485004df2e3c9b6f65786aa94977b96051d70c76a43ee2ac379
MD5 3fe418fe2cd07eab204d2597b4ce5e40
BLAKE2b-256 f14bd926c20658cb06faa1a1b407e9afa8fd950e632d2bbda700c2cb3d356dbf

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.1-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.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ffroute-0.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 54fb51ffa33c7b8897fc2afff34d7915c7e0420e31acc6dccb47e0deca8e03ee
MD5 e7dc9957b8236405456bb8b8f9fd3332
BLAKE2b-256 64c4c825d68468d5ff86b49ed29a906e18068d74497e229d55c659105488ac02

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.1-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.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for ffroute-0.1.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2ffb4074557e755b3d1cc7c9c3298050767f6ec6781b2bd584f2548e6d3f443a
MD5 002148aed02da4cefc32613d558433b9
BLAKE2b-256 2bf1b07540adfea4052d72bcab5b3ca027b88c2fbec2099dfefe6cc715c2ded3

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.1-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.1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ffroute-0.1.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 226f145b7a5d669f3ebcce9ce52175a6150be0ef53d09bb8fd03fc9f6209674c
MD5 b8986d70aca54bacf50db1e8454620b4
BLAKE2b-256 00502051a2dbe7ff86fd7b19b925ee6afa51f4e01c72c50cb8daa7b57cf250be

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.1-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.1-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for ffroute-0.1.1-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 6b8aa06470a24d1a9958c3364002b4dfe74b4354ea46938a312d0bd48a753af9
MD5 a09c9db6d3e1c41c34821ea430868314
BLAKE2b-256 c520f6507431c3ba4b766e4e689ad89ed28f921207f195555cb86ac9badb0ded

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.1-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.1-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: ffroute-0.1.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 600.4 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.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 7c3fb517731f0c526a12e83dda7cee7d1d2ddd615420ace5db36bc08ee3e273d
MD5 5e1ad4d049bf67b9604d3403c922e051
BLAKE2b-256 5982cdaf8c20bb298cc44c9ee43afc73c14c705b029038c7abef69edb9a43983

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.1-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.1-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ffroute-0.1.1-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9285dce0e45db5d99f009119bcaa46b0800d9f3479030e9724b2a3d33d08c22d
MD5 7cf0d5556097d15a1fe3abaccd9b0db1
BLAKE2b-256 ba5152ed51590ae8291fe4a7852c6888719dc97de7dc3b5ea171ba34e54bd1b9

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.1-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.1-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for ffroute-0.1.1-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 d24b1bb2e0770081dd7c358b51cbe49924e4d8fbcf2f87f94c1ef9c6e227327c
MD5 5514f16ea1291a290dc42049d174caa4
BLAKE2b-256 f2481b96e317051e45fd6fc823e16e0950f963f6815c5213301a2846dcbe0584

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.1-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.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ffroute-0.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 80af891f199905dd2be4d72750aa5af00c37a207bd305467bb29f25bf3d81281
MD5 85a56a66dee845d66f8685267825db95
BLAKE2b-256 15f4ce44897b3dccf5fbadfae30c7cc580152c62fce83163ee6878d49f67a3ee

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.1-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.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for ffroute-0.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 820a9bfee3c1afbe12c7b5d8c2fdd977568d62e33afd14e0328e8471980b2c25
MD5 3ea838316f3a106f2252ee8e2458bf95
BLAKE2b-256 9a64b703fe46056cb63d6b9afdb1ce8d0e866985800ea182a613d6087c9ec11e

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.1-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.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ffroute-0.1.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9f598cc5a9e9ce413d792c9c5abe521679aa41ebcf3e00e5103f3591f106aac1
MD5 5a25bf262d3f9a5de8ca64890122f7d0
BLAKE2b-256 7bca5f59f7f9e695d88c61ec490e5cac5d0af33d1635216b0db28bec3e61871e

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.1-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.1-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for ffroute-0.1.1-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e8f74d7e58a50200494f28a087947ff7b408850f493adfe5e378c847ea586ca2
MD5 755324f0dcce72db3e9a3d912d64bef7
BLAKE2b-256 29c55d6762dcc84c203dcc5e4d1f2a73f3ea8253efe40aafb9987373e7fe9925

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.1-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.1-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: ffroute-0.1.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 600.9 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.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e769e1b2a5018507a557da8426abcc451b0ea6cfee8db24b6c11991f3bf76fc4
MD5 ef2714d9eccaddf11784f2122b808f54
BLAKE2b-256 1b39d5a1a33c25a38936410c9a4826243bee46d3c88b748368ad448a79433d6a

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.1-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.1-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ffroute-0.1.1-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ff393d88aa0759c52c78d4d6c6297ddd00baa28f4a87ef1f37ac98cb6848a0ec
MD5 4c4d0364cb96817e6683e699322c07f0
BLAKE2b-256 eb01b23a0cf81738531593ef6aa529b80592acf58e86b2028ac015e9c690cf89

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.1-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.1-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for ffroute-0.1.1-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 4c24f6832f847c200189ac6b1334590889a6388ce8949df2aaceccef3e11f09d
MD5 f03a89cd2c62d4f38451fe7536f71080
BLAKE2b-256 8ac73a40ff5b52dc0649cd9844276a968091568bca7141662117adffc446661e

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.1-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.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ffroute-0.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a36187980842f7396ecd4c597b8cbd67ad9a3fb18e5b8183c40854636a07f015
MD5 2227db37e1902550ab1c04ff3610f4da
BLAKE2b-256 3256bb5a5bb4ea6f4265cb00bb11aba710b65f8129ceb74f6121ae605664dff8

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.1-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.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for ffroute-0.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f80c2009d40c4036639568c33307f0c0a367ebb3ff2d7728822445c9111f8da9
MD5 66094ced213633fd001b738fe4f3eb2f
BLAKE2b-256 f9872850d625f68b6bc948584c2569c5193eddf477dc468e19000eaf04f41f85

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.1-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.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ffroute-0.1.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 81d4c43234bfc5bfe033357ab03fe43a0b5849fcc43841c4bf4f2df49d75246d
MD5 a9fdce6226b033c998695b7b1011dc43
BLAKE2b-256 942a936b3416420b8d8a2944180d313de2b8ce5227fad3825957a1c3dd24be85

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.1-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.1-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for ffroute-0.1.1-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 aec7a427652a9342eb8f649f2920a8d8e1ac5fc616c7ff3df7618b3fe5c42ef9
MD5 30bd8ef7f9e8220e9ea6617dce95996e
BLAKE2b-256 3ce69ea76e97c3031680f844460fd3d4dde8f5eaceef40f70aad1dcfa1ca42b9

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.1-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.1-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: ffroute-0.1.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 601.3 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.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 fb98c789e2ef1913ff7b499769e2c5f507b4822e29e115d4afca2455c0703a73
MD5 fd9a33d3e7209ff4ba57c1a5d78550ef
BLAKE2b-256 f6ea7164f99057cfc94493647e0a184b8bb37a6e5e13ec553effea0143dda76c

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.1-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.1-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ffroute-0.1.1-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 30102ab31b43e5d062e6f84623d0302ac9e5d491071b45695bab9f736ec5f6a1
MD5 9b55fdeeab4bc0de13299d96e172d789
BLAKE2b-256 3c9d85da3f2a5d71f607378f0705856d151fbe5bc66056968732543595a3bef4

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.1-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.1-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for ffroute-0.1.1-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 b6e7d920539d35100a3a483b67a05a975a270d42a10412a53588872a3cc5a495
MD5 9b364851033a1de0b3081b0034678eb3
BLAKE2b-256 a02b63045119bdb02c0f0c741a2b97928f0046fc043b547ff63df9b80ada5739

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.1-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.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ffroute-0.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c4780513ba8bd1d3a80f39ad98c321750c0509f5dc9c637b9e5d59886e328611
MD5 b6a894eefba89437b2d4af835f3195d8
BLAKE2b-256 f869f771a705f99b3bbddd3e0697f4b7da3f9c31ec55b7bdd5788a52e7d62d60

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.1-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.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for ffroute-0.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 264fbdfef9dbbaf48ab3ac890278709fde4f37425160384beb07a7a01d29accf
MD5 fe1726f7819a8f4090425c5b883ba5fa
BLAKE2b-256 9bc59666a9ae424baeed9a00893378d799f906ea0b9d4d118b4adc7deb9a4c59

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.1-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.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ffroute-0.1.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3823b992799b1e90f5c14b340574699f95865f5512d4918ae445daf72362dd95
MD5 b6d53e99bb3522e89b276aa8220fe9fe
BLAKE2b-256 738cf8a4e036e44bae0584e383ad9bcf157fc1f23a156cd322d5cd53c4893bf2

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.1-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.1-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for ffroute-0.1.1-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 ad37ceaf110321a930a3da7a3c4ca11d994f28074bc338e264106d7af5f0c6ee
MD5 b41be8f21c57ec7d0d52e0b76557d009
BLAKE2b-256 8da7943bb28d5368584250c5fc06e337cf8944d0f0662c2c4aa536e899917e47

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffroute-0.1.1-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