Spikard
Rust-centric polyglot HTTP framework built on Axum and Tower-HTTP. Type-safe routing, JSON Schema validation, OpenAPI/AsyncAPI/GraphQL/JSON-RPC codegen, WebSocket/SSE, lifecycle hooks, and a tower-http middleware stack.
Installation
System Requirements
- See Installation Guide for requirements
Quick Start
use Json;
use JsonSchema;
use ;
use ;
async
Features
- HTTP routing — type-safe route definitions with path, query, and body parameter validation
- OpenAPI / AsyncAPI / GraphQL / JSON-RPC — code generation and spec parsing built in
- Tower middleware — compression, rate limiting, timeouts, auth (JWT/API key), static files
- Lifecycle hooks —
onRequest,preValidation,preHandler,onResponse,onError - Fixture-driven testing — shared JSON fixtures drive tests across all language bindings
- Polyglot — single Rust core, thin bindings for Python, Node.js, Ruby, PHP, Elixir, Go, Java, C#, Kotlin, Dart, Gleam, WASM, Swift, Zig, and C FFI
Routing
use *;
let mut app = new;
app.route?;
app.route?;
Validation
use JsonSchema;
use Deserialize;
app.route?;
Middleware
use TraceLayer;
let mut app = new;
app.layer;
Documentation
- Repository — source code, examples, and contributing guide
- Examples — working examples per language
- Issues — bug reports and feature requests
Contributing
Contributions are welcome. See CONTRIBUTING.md.
License
MIT License — see LICENSE for details.