Spikard

Rust Python Node.js WASM Ruby PHP Elixir Java Go C# License Documentation

Rust-centric polyglot HTTP framework with OpenAPI/AsyncAPI/GraphQL/JSON-RPC codegen, tower-http middleware, and fixture-driven cross-language testing. Dart bindings via flutter_rust_bridge with isolate-safe Future/Stream APIs.

Installation

dart pub add spikard

System Requirements

  • Dart 3.0+ required

Quick Start

See the spikard repository for usage examples and guides.

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 hooksonRequest, 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

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.

Libraries

spikard