dhttp API bindings
dhttp-api publishes language bindings for the Rust dhttp endpoint facade.
Node SDK
@genmeta/dhttp follows Node/Undici. Root exports Endpoint, callable Service, standard Web Request/Response/Headers/ReadableStream, plain object EndpointOptions, and authority capability interfaces. @genmeta/dhttp/raw exposes Connection, UnresolvedRequest, MessageReader, MessageWriter, and HeaderField.
Node entry points
import { Endpoint, Service } from "@genmeta/dhttp";
import { Connection, UnresolvedRequest } from "@genmeta/dhttp/raw";
CommonJS is also supported:
const { Endpoint, Service } = require("@genmeta/dhttp");
const raw = require("@genmeta/dhttp/raw");
Node endpoint options
const endpoint = await Endpoint.create({
identity,
dnsSchemes: ["h3", "mdns", "system"],
bindPatterns: ["*"],
});
EndpointOptions is a plain object TypeScript interface. There is no public new EndpointOptions() helper in the root package.
Node server API
Endpoint.listen(function) receives raw UnresolvedRequest objects:
endpoint.listen(async (request) => {
const headers = await request.reader.readHeader();
await request.writer.writeHeader([
{
name: new TextEncoder().encode(":status"),
value: new TextEncoder().encode("204"),
},
]);
await request.writer.close();
});
For Request -> Response, use Service:
const service = new Service()
.get("/hello", () => new Response("hello"))
.fallback(() => new Response("not found", { status: 404 }));
endpoint.listen(service);
Service is a callable raw handler created with new Service(). Service.from(handler) converts a high-level Fetch handler into a service.
Node raw request connection context
UnresolvedRequest does not expose connection, but it remains an aggregate raw
request context. Need identity information through explicit connection endpoints:
await request.localAuthority();
await request.remoteAuthority();
The accepted peer connection context is not an owner Connection handle and is not exposed as one.
Node RequestInit policy fields
credentials, cache, mode, keepalive, and priority preserve standard Request shape but currently do not provide browser cookie/cache/CORS/page-lifecycle behavior. Endpoint identity is endpoint/connection configuration and is not controlled by Request.credentials.
Non-empty integrity is not supported. window must be unset or null.
Python SDK
Python root dhttp follows aiohttp for high-level client and server APIs. Raw DHTTP message primitives live under dhttp.raw.
Python client
endpoint = await dhttp.Endpoint.create(dns_schemes=["h3", "mdns", "system"])
async with endpoint.post("https://peer.example/items", json={"name": "reimu"}) as response:
data = await response.json()
Python raw server
async def raw_handler(request: dhttp.raw.UnresolvedRequest) -> None:
await request.writer.write_header([dhttp.raw.HeaderField(b":status", b"204")])
await request.writer.close()
handle = endpoint.listen(raw_handler)
Python high-level server
service = dhttp.Service().get("/hello", lambda request: dhttp.Response.text("hello"))
handle = endpoint.listen(service)
Python raw primitives
dhttp.raw.Connection.open_request() returns aggregate UnresolvedRequest, which keeps local_authority() / remote_authority() endpoint accessors. MessageReader exposes read_header(), read_data(), and stop(code). MessageWriter exposes write_header(headers), write_data(data), flush(), close(), and reset(code).
Python breaking changes
Removed Python public names: EndpointOptions, ReadStream, WriteStream, IncomingStream, StreamPair, LocalAuthorityImpl, RemoteAuthorityImpl, open_request_stream, listen_streams, read_header_frame, read_data_frame_chunk, send_header, and send_data.
Use keyword arguments to Endpoint.create(...), dhttp.raw primitives, Connection.open_request(), Endpoint.listen(...), MessageReader.read_*, and MessageWriter.write_* instead.
Metadata
Release files for dhttpy 0.6.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| dhttpy-0.6.2-cp313-cp313-win_amd64.whl | CPython 3.13 | CPython 3.13 | Windows x86-64 | Details |
| dhttpy-0.6.2-cp313-cp313-manylinux_2_34_x86_64.whl | CPython 3.13 | CPython 3.13 | Linux glibc 2.34+ x86-64 | Details |
| dhttpy-0.6.2-cp313-cp313-macosx_11_0_arm64.whl | CPython 3.13 | CPython 3.13 | macOS 11.0+ ARM64 | Details |
| dhttpy-0.6.2-cp312-cp312-win_amd64.whl | CPython 3.12 | CPython 3.12 | Windows x86-64 | Details |
| dhttpy-0.6.2-cp312-cp312-manylinux_2_34_x86_64.whl | CPython 3.12 | CPython 3.12 | Linux glibc 2.34+ x86-64 | Details |
| dhttpy-0.6.2-cp312-cp312-macosx_11_0_arm64.whl | CPython 3.12 | CPython 3.12 | macOS 11.0+ ARM64 | Details |
| dhttpy-0.6.2-cp311-cp311-win_amd64.whl | CPython 3.11 | CPython 3.11 | Windows x86-64 | Details |
| dhttpy-0.6.2-cp311-cp311-manylinux_2_34_x86_64.whl | CPython 3.11 | CPython 3.11 | Linux glibc 2.34+ x86-64 | Details |
| dhttpy-0.6.2-cp311-cp311-macosx_11_0_arm64.whl | CPython 3.11 | CPython 3.11 | macOS 11.0+ ARM64 | Details |
| dhttpy-0.6.2-cp310-cp310-win_amd64.whl | CPython 3.10 | CPython 3.10 | Windows x86-64 | Details |
| dhttpy-0.6.2-cp310-cp310-manylinux_2_34_x86_64.whl | CPython 3.10 | CPython 3.10 | Linux glibc 2.34+ x86-64 | Details |
| dhttpy-0.6.2-cp310-cp310-macosx_11_0_arm64.whl | CPython 3.10 | CPython 3.10 | macOS 11.0+ ARM64 | Details |
Total release size: 79.6 MB
Release files / dhttpy-0.6.2-cp313-cp313-win_amd64.whl
| Download URL | dhttpy-0.6.2-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 6.0 MB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
e75ecbc5491fb887801469e3517c9413e4cb654eea845b4e257404c7da12f6ad
|
|
BLAKE2b-256 checksum How to use checksums |
1d3b01cb6c0336f1ad531f1db7e0072f401fac297cd1a6c7d71178ba3b70f926
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 19, 2026.
Transparency logRelease files / dhttpy-0.6.2-cp313-cp313-manylinux_2_34_x86_64.whl
| Download URL | dhttpy-0.6.2-cp313-cp313-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 7.4 MB |
| Tags | CPython 3.13 Linux glibc 2.34+ x86-64 |
|
SHA-256 checksum How to use checksums |
2ad61b36b6e6845e6fbf12c822f6535e95a859c4ea3c10801f8aa1c5ce6681e9
|
|
BLAKE2b-256 checksum How to use checksums |
96e9f4f918a0b1d983c189505f1680c5f316b5f733f05b7eb5db542ab4770a47
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 19, 2026.
Transparency logRelease files / dhttpy-0.6.2-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | dhttpy-0.6.2-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 6.4 MB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
f416b197ecb25dbae4a8206a4fd32e03b9cd3b166c77fe8cd23ed20e2f018f82
|
|
BLAKE2b-256 checksum How to use checksums |
a32c694c3e0f50ecde7ef8fe972a8abaea978a287ae870ce3397bcdd9a63106f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 19, 2026.
Transparency logRelease files / dhttpy-0.6.2-cp312-cp312-win_amd64.whl
| Download URL | dhttpy-0.6.2-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 6.0 MB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
1e320546f6b3374bfe227269c286d88721329dcc858351d4c0a340136769826e
|
|
BLAKE2b-256 checksum How to use checksums |
97ffaced5ba21426d66fdd84756cd13c5afca47ebde9d14682b8c9f55c4fbde5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 19, 2026.
Transparency logRelease files / dhttpy-0.6.2-cp312-cp312-manylinux_2_34_x86_64.whl
| Download URL | dhttpy-0.6.2-cp312-cp312-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 7.4 MB |
| Tags | CPython 3.12 Linux glibc 2.34+ x86-64 |
|
SHA-256 checksum How to use checksums |
e49c3497781138537500e33f88f74a47b8da8fadd566e37b1bf984c179b7695c
|
|
BLAKE2b-256 checksum How to use checksums |
3ff9c3903179a2846e5d46a89c3bee4c60bc5e471895346bbdde911a8ecc5ca1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 19, 2026.
Transparency logRelease files / dhttpy-0.6.2-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | dhttpy-0.6.2-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 6.4 MB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
b9e9cc0a74729227e6a3bdd6efb9849a7d36131ce65f652f330b25e46599c9bf
|
|
BLAKE2b-256 checksum How to use checksums |
42b7f04db0ba7386a830dd0887307e1d642ba186bd5f95f21de936aae4fb82e3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 19, 2026.
Transparency logRelease files / dhttpy-0.6.2-cp311-cp311-win_amd64.whl
| Download URL | dhttpy-0.6.2-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 6.0 MB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
ab3df966a468852464d9132f6f60d59716ac773ef8c912a5cb628871ab747819
|
|
BLAKE2b-256 checksum How to use checksums |
29a90e4d89b3f6be8ce44fdc4e843ebec58e51ae03f531844f441455ba7923fb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 19, 2026.
Transparency logRelease files / dhttpy-0.6.2-cp311-cp311-manylinux_2_34_x86_64.whl
| Download URL | dhttpy-0.6.2-cp311-cp311-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 7.4 MB |
| Tags | CPython 3.11 Linux glibc 2.34+ x86-64 |
|
SHA-256 checksum How to use checksums |
3b92cee7be3e72e621f40e8db545b6fee787358c9bdac1fb73897e5a16390dd6
|
|
BLAKE2b-256 checksum How to use checksums |
6ab117908cad01355e15280a48d2046039ace2ebd4c3f7bfa1f8f197a017910f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 19, 2026.
Transparency logRelease files / dhttpy-0.6.2-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | dhttpy-0.6.2-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 6.4 MB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
c8b1bb67ab8aaf80fbe9c650547dd5a5dfc3406145caba1909730d6154272086
|
|
BLAKE2b-256 checksum How to use checksums |
20e9e4d5f2ec9d6e3db00c62ff4479982ba7ad6c1c62070fc01549d30d963944
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 19, 2026.
Transparency logRelease files / dhttpy-0.6.2-cp310-cp310-win_amd64.whl
| Download URL | dhttpy-0.6.2-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 6.0 MB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
7c45f2bdbaedac8e2a6e3a75d858f6a6134f2ceee176dde392993c2bb41c6b87
|
|
BLAKE2b-256 checksum How to use checksums |
9ed514730fe8e3a809266a68b6de1b69b2abe6b427f8b0df87755122cb348a48
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 19, 2026.
Transparency logRelease files / dhttpy-0.6.2-cp310-cp310-manylinux_2_34_x86_64.whl
| Download URL | dhttpy-0.6.2-cp310-cp310-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 7.4 MB |
| Tags | CPython 3.10 Linux glibc 2.34+ x86-64 |
|
SHA-256 checksum How to use checksums |
aba890fff076952abdfa474c45eaa6a6e03b6e33a772598e7bd567784e968f24
|
|
BLAKE2b-256 checksum How to use checksums |
2532607a29ed3089be93d43660e1c4ca572e618898c791ecad1c15dfee487a22
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 19, 2026.
Transparency logRelease files / dhttpy-0.6.2-cp310-cp310-macosx_11_0_arm64.whl
| Download URL | dhttpy-0.6.2-cp310-cp310-macosx_11_0_arm64.whl |
|---|---|
| Size | 6.4 MB |
| Tags | CPython 3.10 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
660326ee030c8dc094cff656921424e4cc6033537094c6ce6b559646dda21944
|
|
BLAKE2b-256 checksum How to use checksums |
d62663252723f18fe40a132e57cafedfcaf4deb588f1d0ce54129377c52a2b7a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 19, 2026.
Transparency log