kynos 0.3.0

An idiomatic, performance-focused REST API framework with OpenAPI 3.1 and 3.2 support.
Documentation
# kynos

An idiomatic, performance-focused Rust framework for building REST APIs with
first-class OpenAPI 3.1 and 3.2 support.

Kynos only lets you build APIs it can fully describe. Every handler input
describes itself as a Parameter or Request Body, every handler output describes
itself as a Responses Object, and every interceptor declares what it
contributes. Anything undescribable does not compile.

The emitted document is therefore not documentation that drifts from the code.
It is a checked contract derived from the same types the server runs on.

## What it costs you

Several things other Rust frameworks offer are absent: arbitrary `tower`
middleware, raw request access, wildcard and catch-all routes, runtime-chosen
status codes, `serde_json::Value` bodies, erased state maps. Most are refused
because they would put a claim in the description that the running service does
not honour; a few are argued on other grounds, and one is advice rather than a
rule. The `unchecked` feature provides named escape hatches for three of them,
at the price of a description that is no longer authoritative for the route that
took one. All eleven, each with its own reasoning, are in the
[repository README](https://github.com/getkono/kynos#anti-patterns); WebSockets
and OpenAPI 3.0 support are refused outright and are listed just above it.

## Feature flags

`openapi31` is the baseline and is enabled by default; `openapi32` is an opt-in
strict superset. The rest gate the codecs, scalar formats, TLS, compression, the
response cache, static assets, the API reference page and the test client. The
full table is in the
[repository README](https://github.com/getkono/kynos#feature-flags), and the API
documentation on [docs.rs](https://docs.rs/kynos) is built with all of them
enabled.

## Documentation

- [API documentation]https://docs.rs/kynos
- [Design documentation]https://github.com/getkono/kynos/tree/master/docs
- [Examples]https://github.com/getkono/kynos/tree/master/crates/kynos/examples

## MSRV

Rust 1.85.

## License

MIT — see [LICENSE](LICENSE) for details.