Skip to main content

RustWASGI — Rust ASGI server as a Gunicorn custom worker

RustWASGI runs unmodified FastAPI (or any ASGI) applications behind a real Rust HTTP/WebSocket stack, deployed the boring, reliable way: as a Gunicorn custom worker.

gunicorn -k rustwasgi.gunicorn.RustWASGIWorker -w 4 app:app

What is ASGI?

ASGI (Asynchronous Server Gateway Interface, spec) is the standard contract between Python async web apps and servers: the server calls await app(scope, receive, send) once per connection scope, with scope describing the connection, receive() yielding inbound events, and send() delivering outbound events. Versions implemented here: ASGI 3.0, HTTP/WebSocket spec 2.5, Lifespan, plus legacy ASGI 2 double-callable compatibility.

Architecture

Gunicorn master (bind, fork, supervise, signals, reload, timeouts)
   |  inherited listener FDs (dup'd per worker)
   v
RustWASGIWorker (one Python interpreter per worker process)
   |-- FastAPI / Starlette / user ASGI app
   |-- PyO3 bridge (scope/receive/send, asyncio loop thread)
   |-- Tokio runtime + hyper (sockets, HTTP/1.1, keep-alive, streaming)
   +-- WebSocket driver (tungstenite over hyper upgrade)

Ownership split:

Concern Owner
master process, worker fork/supervise/restart, signals, HUP reload, timeout murder, max-requests policy, socket bind/listen, config Gunicorn
HTTP parsing, keep-alive, request/response streaming, ASGI scope/receive/send, WebSocket framing + ping/pong, lifespan, app invocation, backpressure RustWASGI (Rust)
app loading (module:attr, module:factory()), access-log formatting, heartbeat file Gunicorn worker shim (python/rustwasgi/gunicorn.py)

There is intentionally no Rust master/worker system: Gunicorn already is one. There is intentionally no Python HTTP server: hyper owns every socket byte.

Why Gunicorn / Rust / PyO3 / hyper

  • Gunicorn = process manager. Pre-fork supervision, graceful HUP reload, timeout enforcement, max-requests recycling, socket inheritance — a decade of production behavior we reuse instead of reimplementing.
  • Rust = protocol server. hyper gives correct HTTP/1.1 (keep-alive, chunked, upgrades) with Tokio concurrency; Rust owns framing so a Python app bug can never corrupt the wire.
  • PyO3 = bridge. Zero-copy-ish bytes/dict/list/tuple construction, precise GIL discipline (see below).
  • hyper = HTTP implementation. http1::Builder + service_fn per connection; hyper::upgrade::on() for WebSocket takeover.
  • Tokio = Rust async runtime, one multi-thread runtime per worker, created post-fork.
  • FastAPI = example ASGI application, never modified by the server.

Installation

Requires Rust (1.97+) and Python 3.10+.

uv venv && source .venv/bin/activate
uv pip install maturin "rustwasgi[gunicorn]"   # or: pip install .
maturin develop            # local editable build

Standalone dev server: python -m rustwasgi app:app. Production: gunicorn -k rustwasgi.gunicorn.RustWASGIWorker -w 4 app:app.

FastAPI deployment (production)

gunicorn \
    --worker-class rustwasgi.gunicorn.RustWASGIWorker \
    --workers 4 \
    --bind 0.0.0.0:8000 \
    --timeout 120 \
    --graceful-timeout 30 \
    --keep-alive 5 \
    --max-requests 10000 \
    --max-requests-jitter 1000 \
    app:app

Tune workers/timeouts for your workload; the values above are a starting point, not universal optima. Health endpoint example:

@app.get("/healthz")
async def healthz():
    return {"status": "ok"}

/healthz checks application health (routing + app stack), not just TCP. Readiness = worker booted and lifespan.startup.complete received before the worker serves.

Gunicorn configuration

Honored settings: --workers, --bind (IPv4/IPv6/Unix sockets), --backlog (socket pre-bound by master), --timeout (heartbeat is timeout//2, so long requests/WebSockets/streams don't look dead), --graceful-timeout (drain bound), --keep-alive (idle header wait), --max-requests/--max-requests-jitter (Rust counts completions, then the worker exits and the master reforks), --preload (safe: runtimes init post-fork in run()), --worker-tmp-dir, --access-logfile (Logger.atoms integration), --error-logfile, --log-level, config file, --reload (alive-flag driven).

Extra worker knobs via environment: RUSTWASGI_LIFESPAN=auto|on|off, RUSTWASGI_ROOT_PATH=/prefix, RUSTWASGI_THREADS=N (Tokio workers per process; default CPU count — lower it to avoid oversubscription when running many workers, e.g. 2 with -w 4 on 8 cores), RUSTWASGI_PROFILE=1 (prints a request-path aggregate profile at shutdown; off by default). TLS is not terminated by workers (is_ssl raises with a clear error) — terminate at nginx/HAProxy/Caddy.

Worker configuration

Each worker = one OS process = one Python interpreter = one Tokio runtime + one asyncio loop thread + one lifespan instance. Never share asyncio objects between workers; DB pools/clients/locks initialize in lifespan (post-fork).

PyO3 integration

Via pyo3-async-runtimes (Tokio backend), not hand-rolled threads:

  • Python awaitable → Rust future: into_future_with_locals schedules the coroutine onto our explicit loop (fire-and-forget) and completes through a oneshot channel. Awaiting it parks the Tokio task — no blocked threads, no condition variables.
  • Rust future → Python awaitable: future_into_py_with_locals (used only for backpressured send() waits), spawned onto the worker's own Tokio runtime via init_with_runtime — no second runtime exists.
  • GIL is held only for microsecond-scale construction/scheduling; released across every .await (network I/O, channel waits, app execution, loop join).
  • Shutdown deadlock rule (learned the hard way): never join() the loop thread while holding the GIL — it needs the GIL to run loop.stop().

asyncio integration

One dedicated OS thread per worker runs loop.run_forever(); one shared Tokio runtime drives hyper. Request tasks await the app future directly — no spawn_blocking, no Future.result(), zero threads per request. await asyncio.sleep(...) and arbitrary async I/O work; the loop thread is the only place coroutines run. Task-local TaskLocals pins every conversion to the worker's loop from any thread.

HTTP implementation

hyper http1 + with_upgrades, one task per connection, service_fn per request. Scope: type/http_version/method/scheme/path(raw+decoded)/ query_string/headers(list of byte pairs, duplicates + order preserved)/ client/server/root_path/state/extensions. Transfer-Encoding: chunked is decoded by hyper; the app sees plain bytes. App transfer-encoding response headers are stripped (server owns framing). Status/headers strictly validated (lowercase bytes, no pseudo-headers); unknown send() types fail loudly; extra keys ignored.

Streaming

  • Request: hyper body chunks → bounded asyncio.Queue(maxsize=64) via into_future puts awaited by a Tokio feeder task (no threads). await receive() yields http.request with more_body=True/False. Backpressure is end-to-end (slow app stalls the feeder stalls hyper stalls TCP). Bodyless requests skip the feeder entirely (pre-seeded terminal). Chunked uploads verified.
  • Response: send() → SendSink.try_send → bounded Tokio mpsc (16) → hyper Channel body, chunk-by-chunk; StreamingResponse verified incremental. Full channel => send() awaits a Rust future with GIL released (bounded memory, zero threads).
  • HEAD suppresses the wire body; headers preserved.

WebSocket implementation

Upgrade detected in service_fn; 101 (+Sec-WebSocket-Accept) returned by hyper; hyper::upgrade::on() stream adapted to Tokio I/O and driven by tungstenite (server role). ASGI events: connect/accept/receive(text+bytes)/ send(text|bytes exclusive)/close(code+reason)/disconnect. Fragmentation reassembled by tungstenite; PING→PONG in the protocol layer; send() after close raises OSError. Limitation: the 101 precedes the app's accept/deny (hyper upgrade API), so deny = 101 followed by a close frame; subprotocol negotiation is ignored.

Lifespan implementation

Per worker, pre-serve: lifespan.startup → complete (captures optional state → HTTP/WS scopes) / failed (fatal) / silence+exit (unsupported → continue in auto, fatal in on, skipped in off). Post-serve: lifespan.shutdown (bounded wait), then loop stop/join. Modes: --lifespan (standalone) / RUSTWASGI_LIFESPAN (gunicorn).

ASGI 2 compatibility

asyncio.iscoroutinefunction → ASGI 3; plain def app(scope) → legacy double-callable; other callables → ASGI 3 with TypeError fallback to ASGI 2 (equivalent in spirit to asgiref.compatibility).

Graceful shutdown / Signals

Order: stop accepting → drain in-flight (bounded by graceful-timeout) → lifespan.shutdown → stop loop → exit. SIGTERM = graceful, SIGQUIT/SIGINT = quick; Rust watches signals itself because the main thread is parked in the runtime (Python-level handlers still fire on return — cooperation, not replacement). Orphan detection via ppid change. HUP reload, worker restart, and recycling all verified against a live master.

Configuration

Gunicorn flags (above) + env (RUSTWASGI_*). Standalone CLI mirrors the subset: --host --port --workers(1) --log-level --root-path --lifespan --access-log --keep-alive, each overridable via RUSTWASGI_*.

Testing

cargo check && cargo clippy --all-targets -- -D warnings && cargo fmt --check
maturin develop
pytest -v            # 26 tests: ASGI/HTTP/WS/lifespan/Gunicorn/FastAPI

Covers methods/paths/query/HEAD/chunked/large-body/keep-alive/100-concurrent, streaming incrementality, WS text+bytes+ping/pong, lifespan startup/state/ shutdown/unsupported, gunicorn basic/4-worker/restart/HUP/max-requests/ preload/lifespan/timeout-heartbeat/unix-socket, factories, ASGI 2.

Benchmarking

Reproducible harness: bench/bench.py (stdlib only; threaded keep-alive loader, warmup, N rounds with median, RPS/latency/CPU/RSS/context-switch/ thread/fd accounting, JSON output). No wrk/hey/ab in this environment. Same app (examples/bench_app.py, {"ok": true}), same box (8 cores), release build (maturin develop --release).

Run: .venv/bin/python bench/bench.py --servers standalone,uvicorn --levels 1,2,4,8,16,20,32,64,128,256 --rounds 3 --json out.json

Single worker, GET / (median of 3 rounds, same-session back-to-back):

conc rustwasgi rps uvicorn rps ratio rw CPU uv CPU
1 1424 1253 114% 75% 77%
2 2549 1933 132% — —
4 2535 1849 137% — —
8 2813 1934 145% — —
16 3264 2047 159% — —
20 3159 1945 162% 131% 95%
32 3083 1971 156% — —
64 3280 2000 164% — —
128 3201 1879 170% — —
256 3329 1919 173% — —

CPU per request at conc 20 is identical (0.50ms vs 0.49ms); RSS on par (~47 MiB). Uvicorn saturates one core (94-95%, 1 thread, ~10 ctx switches total); rustwasgi spreads ~130% over 10 threads with more wakeups — same energy, higher ceiling on multi-core.

Production path (Gunicorn master, 4 workers, --reuse-port):

load rustwasgi UvicornWorker ratio
50 conc, 1 loader 3578 3792 94%
50 conc, 2 loaders 5710 5270 108%
128 conc, 4 loaders 7939 6250 127%

Uvicorn's single-threaded workers saturate their loops under high concurrency while rustwasgi workers keep scaling. Single-loader numbers above ~3500 rps are loader-GIL-limited, not server-limited — always verify high-RPS claims with parallel loader processes.

Bridge microbenchmark (_bench_bridge: into_future round-trip ms/op at 1/4/8/16/20/32/64 concurrency): 0.150 / 0.145 / 0.124 / 0.091 / 0.095 / 0.086 / 0.080 — flat-to-improving, vs the old bridge's 0.083 idle → 1.77 contended (21x blowup, gone).

Profiling (RUSTWASGI_PROFILE=1, aggregate at shutdown): per bodyless GET — 1 into_future, 1 Tokio spawn, 1 GIL attach, 2 bounded channel sends, 0 feeder chunks; phases establish ~1.3ms (of which ~1.0ms is GIL acquisition wait, ~0.27ms holding), app_wait ~3.0-3.8ms (loop queueing + app), pump ~0.06ms. Uncontended (conc 1): establish 0.10ms (wait 0.007ms), app_wait 0.34ms — contention inflates every handoff ~10x, which is why oversubscription matters more than per-operation cost here.

Findings, reported without spin:

  • Pure-ASGI ≈ FastAPI on rustwasgi ⇒ cost is bridge overhead, not the framework (~0.1ms of 0.8ms service).
  • A 42ms floor in early runs turned out to be Nagle/delayed-ACK (no TCP_NODELAY on the standalone socket) — fixed, 30x latency win, and a reminder to distrust first numbers. (Uvicorn's --workers 4 supervisor mode shows the same 42ms signature — its own socket setup, not ours.)
  • A benchmark-triggered IncompleteRead exposed a real drain bug (in-flight counter dropped at response headers while the body still streamed); fixed with an RAII guard covering pump/WS-driver lifetime.
  • Merging 6 per-request GIL acquisitions into 1 cut establish latency ~1.9ms → ~1.3ms and lifted throughput ~40% (profile-guided).
  • Merging reaper+pump+feeder into one responder task cut spawns 2→1/req and removed the app_done watch channel; post-send app completion is observed via noop-waker poll with drain-reaper fallback (no swallowed tracebacks).
  • Passing Arc<AppState> into the responder (instead of cloning Bridge and hooks per request) removed 2 more GIL acquisitions and cut cross-thread wakeups ~38% at conc 20.
  • 4-worker scaling without --reuse-port pins up to 70% of keep-alive requests on one worker (kernel accept distribution); --reuse-port balances it. Unevenness is environmental, not a code bottleneck.
  • Access logging costs ~8% throughput when enabled (per-request formatting); both workers pay it equally.
  • RUSTWASGI_THREADS (default: CPU count) caps Tokio workers per process; 2 threads match 8-thread throughput on this workload — useful against oversubscription on small boxes, no behavior change otherwise.

Security

No tracebacks to clients (500 + logged); bounded channels everywhere except the request queue depth×chunk product (documented); no proxy-header trust (X-Forwarded-* ignored); no shell-out app loading; strict header/status validation; TLS termination left to the reverse proxy.

Reverse proxy / Docker / systemd

Run behind nginx/HAProxy/Caddy (plain HTTP or unix socket). Multi-stage Dockerfile builds the wheel in a Rust stage and ships only Python+Gunicorn+wheel+app:

# builder
FROM rust:1.97 AS builder
RUN pip install maturin
COPY . /src
WORKDIR /src
RUN maturin build --release -o /dist
# runtime
FROM python:3.13-slim
RUN pip install gunicorn fastapi "rustwasgi[gunicorn]" --no-index --find-links /dist ...

See deploy/rustwasgi.service for a systemd unit (simple type; no fake sd_notify).

Observability

Gunicorn access log (combined format incl. timing/size), error log for Rust lines (INFO/WARN/ERROR rustwasgi:), StatsD via Gunicorn's own instrumentation (no custom metrics protocol required).

Known limitations

  • Debug-build performance (see Benchmarking); per-request bridge hops.
  • HTTP/1.x only (no HTTP/2); WS subprotocols ignored; deny-after-101.
  • No response trailers (trailers: True rejected loudly).
  • Request queue bounded (64 chunks) but chunk-size unbounded per chunk.
  • App-supplied Content-Length trusted (mismatch aborts the stream).
  • Rust logs go to stderr, not through Gunicorn's error-log formatter.
  • No sd_notify; worker stats (active conns) not yet exposed.

Metadata

Release files for rustwasgi 0.1.4

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

Source distribution (sdist)

Source distribution for rustwasgi 0.1.4
File Size Uploaded Provenance
rustwasgi-0.1.4.tar.gz 182.8 kB Without provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for rustwasgi 0.1.4
File
rustwasgi-0.1.4-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl PyPy 3.11 PyPy 3.11 7.3 Linux musl 1.2+ x86-64 Details
rustwasgi-0.1.4-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl PyPy 3.11 PyPy 3.11 7.3 Linux glibc 2.17+ x86-64 Details
rustwasgi-0.1.4-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.15 CPython 3.15 free-threading Linux glibc 2.17+ x86-64 Details
rustwasgi-0.1.4-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.15 CPython 3.15 Linux glibc 2.17+ x86-64 Details
rustwasgi-0.1.4-cp314-cp314t-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64 Details
rustwasgi-0.1.4-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64 Details
rustwasgi-0.1.4-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
rustwasgi-0.1.4-cp314-cp314-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ x86-64 Details
rustwasgi-0.1.4-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ x86-64 Details
rustwasgi-0.1.4-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
rustwasgi-0.1.4-cp314-cp314-macosx_10_12_x86_64.whl CPython 3.14 CPython 3.14 macOS 10.12+ x86-64 Details
rustwasgi-0.1.4-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
rustwasgi-0.1.4-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details
rustwasgi-0.1.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details
rustwasgi-0.1.4-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
rustwasgi-0.1.4-cp313-cp313-macosx_10_12_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.12+ x86-64 Details
rustwasgi-0.1.4-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
rustwasgi-0.1.4-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details
rustwasgi-0.1.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
rustwasgi-0.1.4-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
rustwasgi-0.1.4-cp312-cp312-macosx_10_12_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.12+ x86-64 Details
rustwasgi-0.1.4-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
rustwasgi-0.1.4-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details
rustwasgi-0.1.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
rustwasgi-0.1.4-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
rustwasgi-0.1.4-cp311-cp311-macosx_10_12_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.12+ x86-64 Details
rustwasgi-0.1.4-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
rustwasgi-0.1.4-cp310-cp310-musllinux_1_2_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ x86-64 Details
rustwasgi-0.1.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
rustwasgi-0.1.4-cp39-cp39-musllinux_1_2_x86_64.whl CPython 3.9 CPython 3.9 Linux musl 1.2+ x86-64 Details
rustwasgi-0.1.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64 Details
rustwasgi-0.1.4-cp38-cp38-musllinux_1_2_x86_64.whl CPython 3.8 CPython 3.8 Linux musl 1.2+ x86-64 Details

Total release size: 134.2 MB

Release files / rustwasgi-0.1.4.tar.gz

Download URL rustwasgi-0.1.4.tar.gz
Size 182.8 kB
Tags Source
SHA-256 checksum
How to use checksums
b825b059df382e5033ebe421cfc71b98fff303b07b5e1829bd4e5f45de4eeebe
BLAKE2b-256 checksum
How to use checksums
da0d685707e629a761a38a824fbf60168446ffa0224033157066d312b1eb5e99
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / rustwasgi-0.1.4-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl

Download URL rustwasgi-0.1.4-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl
Size 4.6 MB
Tags Linux musl 1.2+ x86-64 PyPy 3.11 PyPy 3.11 7.3
SHA-256 checksum
How to use checksums
4df2561c4632beecfe5207e934f11bf46bcb3e17cc112f2a273cbe1d8098523a
BLAKE2b-256 checksum
How to use checksums
317d545c85ec17b2177a7f0128c293575768ccbd704a542e80f612c136d19476
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / rustwasgi-0.1.4-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL rustwasgi-0.1.4-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 4.3 MB
Tags Linux glibc 2.17+ x86-64 PyPy 3.11 PyPy 3.11 7.3
SHA-256 checksum
How to use checksums
c2e658964d83c3972714b787e46e2e151f81fdcf13ddc6cdc6714bc26878fff1
BLAKE2b-256 checksum
How to use checksums
4dd7636cb01ce04c8434bf8238da1e6d1d65f263bf8126ff9b4d04c8f8ba044d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / rustwasgi-0.1.4-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL rustwasgi-0.1.4-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 4.3 MB
Tags CPython 3.15 CPython 3.15 free-threading Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
cd6d3df9e134d9c1e964be3aae9e210e449b96e31c3e5dbb24b87874ae8c6dae
BLAKE2b-256 checksum
How to use checksums
0810ad00db2694c37e395c561a1b6760f39a638d2bb465cf2508eeb998d22b92
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / rustwasgi-0.1.4-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL rustwasgi-0.1.4-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 4.3 MB
Tags CPython 3.15 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
5fec58cd5ce199b7e6f8f0f92815dfdc7c109c6877e4f2e8d4477e1f1ade8692
BLAKE2b-256 checksum
How to use checksums
4c3b6bb704da9d84ebebfaf5208f0af90cc41d27c12bff1595c02ba8b6c2aac3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / rustwasgi-0.1.4-cp314-cp314t-musllinux_1_2_x86_64.whl

Download URL rustwasgi-0.1.4-cp314-cp314t-musllinux_1_2_x86_64.whl
Size 4.7 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
29dbe13afbcf0f6b9bfd7b6b7eb8898bdc7cdf4371e6810a2b5c88e6a17ea5f6
BLAKE2b-256 checksum
How to use checksums
5e648960f6a202f26d860dc3eaa43c9656bde90e337e770fbbc7552ff3d9bd58
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / rustwasgi-0.1.4-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL rustwasgi-0.1.4-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 4.3 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
11c59845f995117a3a4e0b0f1c3a871c513d091025efeab6a4eae87f393b4fe7
BLAKE2b-256 checksum
How to use checksums
bf6bd324a193191df40dbb37b7e89c6ab207e53d5dceaa676b17ef4749e53617
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / rustwasgi-0.1.4-cp314-cp314-win_amd64.whl

Download URL rustwasgi-0.1.4-cp314-cp314-win_amd64.whl
Size 3.4 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
423182139da7a56c68c82bcdb18fd7b3947f493ac15e71283d1163f935fd29f1
BLAKE2b-256 checksum
How to use checksums
d46a23e80fb2a42b01104b06cfa4a7b8e2809f42aa28c14de563ead7941f0b65
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / rustwasgi-0.1.4-cp314-cp314-musllinux_1_2_x86_64.whl

Download URL rustwasgi-0.1.4-cp314-cp314-musllinux_1_2_x86_64.whl
Size 4.6 MB
Tags CPython 3.14 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
75c024ab138d770782c33f189ed7e1e910abe5c6774060819e8075504ab84ce0
BLAKE2b-256 checksum
How to use checksums
5f2823f2f8895150c0ad186e7f642d275e16fa1c4030a78d7e2fcb3f792b4c95
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / rustwasgi-0.1.4-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL rustwasgi-0.1.4-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 4.3 MB
Tags CPython 3.14 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
7c90d7b4a6d852cb088b0148e63c49f6bbfc8a2e888fbf6342e9176b2ffd248d
BLAKE2b-256 checksum
How to use checksums
650b96c602e3be674d506c8983609d21bc8ec43a9f9c1f9c03a4bcda0968cf0c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / rustwasgi-0.1.4-cp314-cp314-macosx_11_0_arm64.whl

Download URL rustwasgi-0.1.4-cp314-cp314-macosx_11_0_arm64.whl
Size 3.9 MB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
b18406c023cb7523555df0097e8db49db9cb85f49161d69227b07e49514481b4
BLAKE2b-256 checksum
How to use checksums
526ba49cc9b2c305db098f6ba6b55161adbaa931f7ae5618211e859abbf88c57
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / rustwasgi-0.1.4-cp314-cp314-macosx_10_12_x86_64.whl

Download URL rustwasgi-0.1.4-cp314-cp314-macosx_10_12_x86_64.whl
Size 4.1 MB
Tags CPython 3.14 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
f0046c23e6eacacdbf82a0fee3d465d35eff521ef7f7d2084a67880431016d9b
BLAKE2b-256 checksum
How to use checksums
1913bc76b4c2f8f59cd9878b9388328ae2e537765498f61a26bfb70d8d9f4251
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / rustwasgi-0.1.4-cp313-cp313-win_amd64.whl

Download URL rustwasgi-0.1.4-cp313-cp313-win_amd64.whl
Size 3.4 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
e635a39be50f96a4b59f31726da85f3f2eebb70e7ae1d0dcef095d95698ecb55
BLAKE2b-256 checksum
How to use checksums
37cfed3c81c09ad8b92953d47f50fd15882ce6933cf2dfcfc89af3d34d780848
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / rustwasgi-0.1.4-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL rustwasgi-0.1.4-cp313-cp313-musllinux_1_2_x86_64.whl
Size 4.6 MB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
6e2123ac31ce89dbf8b2627fcadc1075e69feda30d293c5f1a04b39aa1235e95
BLAKE2b-256 checksum
How to use checksums
5cb9a9adec8ee5db6989d62933a1ab144da9f0c29d0f02ea5545a78605f63af1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / rustwasgi-0.1.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL rustwasgi-0.1.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 4.3 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
e09b2afb722ea7869c04880d0da6dd7ae510de35779d5ffbe9fd6f1772fb77a0
BLAKE2b-256 checksum
How to use checksums
c5389335e36c6d673dadae404e5842e993b4501062594ecb548cfc4ce4c829f3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / rustwasgi-0.1.4-cp313-cp313-macosx_11_0_arm64.whl

Download URL rustwasgi-0.1.4-cp313-cp313-macosx_11_0_arm64.whl
Size 3.9 MB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
6decfecfcae1e870ff5f0af36b2705e58286398d5f7738323dc7456941a3f033
BLAKE2b-256 checksum
How to use checksums
be230531f441e25a1dce549f53ab51192d7c180100c4103f955b35de23a9760f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / rustwasgi-0.1.4-cp313-cp313-macosx_10_12_x86_64.whl

Download URL rustwasgi-0.1.4-cp313-cp313-macosx_10_12_x86_64.whl
Size 4.1 MB
Tags CPython 3.13 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
6390763dcec2d0861f47c5fd21ffb9ef3170c0384d3cae8858b02e264121a1b0
BLAKE2b-256 checksum
How to use checksums
168f908eea64c5aab16721c83e1b3174692055dd1a2cb1f7796767249dc36923
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / rustwasgi-0.1.4-cp312-cp312-win_amd64.whl

Download URL rustwasgi-0.1.4-cp312-cp312-win_amd64.whl
Size 3.4 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
9e1805f8c3cabbcaa161b9f4248147522f69bcb7350f6cfb821269d8abdae3ae
BLAKE2b-256 checksum
How to use checksums
0a81d588a323ec50e00e4f26a212fba1d29d01e9fa4126733b03474e42e49ad5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / rustwasgi-0.1.4-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL rustwasgi-0.1.4-cp312-cp312-musllinux_1_2_x86_64.whl
Size 4.6 MB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
b5e76fd4c15d19da944905b6a51f54095a389eb374db3dc1a3cd5c3b4d862cb9
BLAKE2b-256 checksum
How to use checksums
c27f8f4fce57f526141adacd32d833a571908ff2b33452945748adeacf23c433
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / rustwasgi-0.1.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL rustwasgi-0.1.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 4.3 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
6cd3b0f844f87fafbd6923982d4b817143777a919d1b673002f09751845bb0f2
BLAKE2b-256 checksum
How to use checksums
01f6d4557aacd251ee6e58013f608f87d55732a9f60d667da0abf9bff6481cce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / rustwasgi-0.1.4-cp312-cp312-macosx_11_0_arm64.whl

Download URL rustwasgi-0.1.4-cp312-cp312-macosx_11_0_arm64.whl
Size 3.9 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
a6157676f06dafd5f9aa7b0554b23d602eda1c8c63e698f45b718ac1b84efd7c
BLAKE2b-256 checksum
How to use checksums
ea23a251f43bae90d00de1012324cebf5abbead31c5b3aaec42ad9c19d19afed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / rustwasgi-0.1.4-cp312-cp312-macosx_10_12_x86_64.whl

Download URL rustwasgi-0.1.4-cp312-cp312-macosx_10_12_x86_64.whl
Size 4.1 MB
Tags CPython 3.12 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
de18a2ee080e7b2ff8ff95d8cc5d5a7ccb74a7a7c4463b2f3ebecf0f879c8720
BLAKE2b-256 checksum
How to use checksums
717842ab00fc9cd4242526242a1d76647efb6738215a59f5e936ee0abed3485c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / rustwasgi-0.1.4-cp311-cp311-win_amd64.whl

Download URL rustwasgi-0.1.4-cp311-cp311-win_amd64.whl
Size 3.5 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
4e9e3b67d143cf46c2b98afed41b8b521137d9be46e70048325ac6139663d726
BLAKE2b-256 checksum
How to use checksums
8e8e3e3a49e0ca895a20a86d044f35f5a48c88a569c73d179b273820add49c35
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / rustwasgi-0.1.4-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL rustwasgi-0.1.4-cp311-cp311-musllinux_1_2_x86_64.whl
Size 4.6 MB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
ff8957101fcbc552be546fe376d28e857bb2f79ab04569dbf8e502d4b5fd486d
BLAKE2b-256 checksum
How to use checksums
27ade6871e4a7da88cb8268fe87276528f6a4c0f6f749329acfbae1bca11c65b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / rustwasgi-0.1.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL rustwasgi-0.1.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 4.3 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
cbfba8f00df0b05baeb9af2fa29686869008a49e8e8af42513180bf35b134fdd
BLAKE2b-256 checksum
How to use checksums
600482a79ff697d5ffe108d47671e8040d95a069b2a3b331cfb677f9fe139c65
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / rustwasgi-0.1.4-cp311-cp311-macosx_11_0_arm64.whl

Download URL rustwasgi-0.1.4-cp311-cp311-macosx_11_0_arm64.whl
Size 3.9 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
20892fe4400cc7b3e5dd7089e4297f8376ecefa5882c45b3db31f39e1bf1c743
BLAKE2b-256 checksum
How to use checksums
8fb0a3ea00428acac9f70b626d543be4806e9d8abac9e140b558d53705a736f4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / rustwasgi-0.1.4-cp311-cp311-macosx_10_12_x86_64.whl

Download URL rustwasgi-0.1.4-cp311-cp311-macosx_10_12_x86_64.whl
Size 4.0 MB
Tags CPython 3.11 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
9b38ac3c05b8d29cc6493fa55b4ad99be4c5117e6df1b03c1220a32784c88892
BLAKE2b-256 checksum
How to use checksums
f9cf8e22de10a1a3a8d877de324daafe37cbed5201b31a1634a3456500e5cc28
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / rustwasgi-0.1.4-cp310-cp310-win_amd64.whl

Download URL rustwasgi-0.1.4-cp310-cp310-win_amd64.whl
Size 3.5 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
bb3883c9b327bd63cc2efa37ad29bb2e57ac3405def3ed3926e5cc84e5334232
BLAKE2b-256 checksum
How to use checksums
2bfe111b72178f73e7bffc6ea54032e2a05ca2a926670c10e72cf44872b4c491
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / rustwasgi-0.1.4-cp310-cp310-musllinux_1_2_x86_64.whl

Download URL rustwasgi-0.1.4-cp310-cp310-musllinux_1_2_x86_64.whl
Size 4.6 MB
Tags CPython 3.10 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
fcd80d383456d3a74676ed96a71a6282ac436e43b1df2227c9b7489f0b82cfca
BLAKE2b-256 checksum
How to use checksums
613474ee6c6c19345003f14b52f95af1efd71e0469efff1b163fe9e0779ff2ce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / rustwasgi-0.1.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL rustwasgi-0.1.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 4.3 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
ad824c1293fc9c236601c88728392286f317cee8798d7dace7f927f7bb05a283
BLAKE2b-256 checksum
How to use checksums
e9c3418ba5a49e7610fd2fc89cb4fb28d8df9053fb05964ed7a7de4242bebc94
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / rustwasgi-0.1.4-cp39-cp39-musllinux_1_2_x86_64.whl

Download URL rustwasgi-0.1.4-cp39-cp39-musllinux_1_2_x86_64.whl
Size 4.6 MB
Tags CPython 3.9 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
0916d329bf3c72faccc6e36b0520bd6e343be3a3906a53262988173f5508dacb
BLAKE2b-256 checksum
How to use checksums
2ee21852de4c95b4904b7fb5a02e147d6ae88c10d235d1342c0bbc19d55b7803
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / rustwasgi-0.1.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL rustwasgi-0.1.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 4.3 MB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
7846b4ddf2f3d9745f82b7be8a85f1421c7136c75d5dbce3a91c725cf5443e4a
BLAKE2b-256 checksum
How to use checksums
f40462cd0e5f5adae4acd59279ebcc76a72488925748797d46fa7c429e8b1363
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / rustwasgi-0.1.4-cp38-cp38-musllinux_1_2_x86_64.whl

Download URL rustwasgi-0.1.4-cp38-cp38-musllinux_1_2_x86_64.whl
Size 4.6 MB
Tags CPython 3.8 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
31c7b914e965268da8bdc1eef6b94ae5585eae7e415006a500c35e50c7faad3d
BLAKE2b-256 checksum
How to use checksums
0deeed715f42826ba4bc99c665c68bb9de020d3ffbd1888a7b18682792573e97
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for rustwasgi 0.1.4

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

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