{"id":13672341,"url":"https://github.com/hyperium/h3","last_synced_at":"2025-04-29T18:34:46.891Z","repository":{"id":37034511,"uuid":"271864410","full_name":"hyperium/h3","owner":"hyperium","description":null,"archived":false,"fork":false,"pushed_at":"2025-04-24T17:04:35.000Z","size":2445,"stargazers_count":724,"open_issues_count":29,"forks_count":98,"subscribers_count":33,"default_branch":"master","last_synced_at":"2025-04-24T18:22:33.921Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hyperium.png","metadata":{"files":{"readme":"README.md","changelog":"changelog-h3-datagram.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-06-12T18:24:22.000Z","updated_at":"2025-04-24T17:00:41.000Z","dependencies_parsed_at":"2023-12-15T17:24:22.388Z","dependency_job_id":"0e214c27-a97f-4335-bab0-3b1822511c85","html_url":"https://github.com/hyperium/h3","commit_stats":{"total_commits":236,"total_committers":35,"mean_commits":6.742857142857143,"dds":0.6271186440677966,"last_synced_commit":"dbf2523d26e115f096b66cdd8a6f68127a17a156"},"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyperium%2Fh3","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyperium%2Fh3/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyperium%2Fh3/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyperium%2Fh3/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hyperium","download_url":"https://codeload.github.com/hyperium/h3/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251560815,"owners_count":21609270,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-02T09:01:32.817Z","updated_at":"2025-04-29T18:34:46.872Z","avatar_url":"https://github.com/hyperium.png","language":"Rust","readme":"# h3\n\nAn async HTTP/3 implementation.\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)\n[![CI](https://github.com/hyperium/h3/workflows/CI/badge.svg)](https://github.com/hyperium/h3/actions?query=workflow%3ACI)\n[![Discord chat](https://img.shields.io/discord/500028886025895936.svg?logo=discord)](https://discord.gg/q5mVhMD)\n\nThis crate provides an [HTTP/3][spec] implementation that is generic over a provided QUIC transport. This allows the project to focus on just HTTP/3, while letting users pick their QUIC implementation based on their specific needs. It includes client and server APIs. Check the original [design][] for more details.\n\n[spec]: https://www.rfc-editor.org/rfc/rfc9114\n[design]: docs/PROPOSAL.md\n\n## Status\n\nThe `h3` crate is still very experimental. While the client and servers do work, there may still be bugs. And the API could change as we continue to explore. That said, we eagerly welcome contributions, trying it out in test environments, and using at your own risk.\n\nThe eventual goal is to use `h3` as an internal dependency of [hyper][].\n\n[hyper]: https://hyper.rs\n\n### Duvet\nThis create uses the [duvet crate][] to check compliance of the [spec][].  \nThe generated [report][] displays the current status of the requirements of the spec.  \n\nGet more information about this tool in the [contributing][] document.\n\n[duvet crate]: https://crates.io/crates/duvet\n[spec]: https://www.rfc-editor.org/rfc/rfc9114\n[report]: https://hyper.rs/h3/ci/compliance/report.html#/\n[contributing]: CONTRIBUTING.md\n\n## Features\n\n* HTTP/3 client and server implementation\n* Async only API\n* QUIC transport abstraction via traits in the [`quic`](./h3/src/quic.rs) module\n* Runtime independent (h3 does not spawn tasks and works with any runtime)\n* Supported QUIC implementations to date are\n  [Quinn](https://github.com/quinn-rs/quinn) ([h3-quinn](./h3-quinn/))\n  , [s2n-quic](https://github.com/aws/s2n-quic)\n  ([s2n-quic-h3](https://github.com/aws/s2n-quic/tree/main/quic/s2n-quic-h3))\n  and [MsQuic](https://github.com/microsoft/msquic)\n  ([h3-msquic-async](https://github.com/masa-koz/msquic-async-rs/tree/main/h3-msquic-async))\n\n## Overview\n\n* **h3** HTTP/3 implementation\n* **h3-quinn** QUIC transport implementation based on [Quinn](https://github.com/quinn-rs/quinn/)\n\n## Getting Started\n\nThe [examples](./examples) directory can help get started in two ways:\n\n- There are ready-to-use `client` and `server` binaries to interact with _other_ HTTP/3 peers. Check the README in that directory.\n- The source code of those examples can help teach how to use `h3` as either a client or a server.\n\n### Server\n\nYou can find a full server example in [`examples/server.rs`](./examples/server.rs)\n\n### Client\n\nYou can find a full client example in [`examples/client.rs`](./examples/client.rs)\n\n## QUIC Generic\n\nAs mentioned, the goal of this library is to be generic over a QUIC implementation. To that effect, integrations with QUIC libraries exist:\n\n- [`h3-quinn`](./h3-quinn/): in this same repository.\n- [`s2n-quic-h3`](https://github.com/aws/s2n-quic/tree/main/quic/s2n-quic-h3)\n- [`h3-msquic-async`](https://github.com/masa-koz/msquic-async-rs/tree/main/h3-msquic-async)\n\n## Interoperability\n\nThis crate as well as the quic implementations are tested ([quinn](https://github.com/quinn-rs/quinn-interop), [s2n-quic](https://github.com/aws/s2n-quic/tree/main/scripts/interop), [MsQuic](https://github.com/microsoft/msquic/tree/main/src/tools/interop)) for interoperability and performance in the [quic-interop-runner](https://github.com/marten-seemann/quic-interop-runner).\nYou can see the results at (https://interop.seemann.io/).\n\n## License\n\nh3 is provided under the MIT license. See [LICENSE](LICENSE).\n","funding_links":[],"categories":["Rust"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhyperium%2Fh3","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhyperium%2Fh3","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhyperium%2Fh3/lists"}