brk_bindgen
Code generation for BRK client libraries.
What It Enables
Generate typed client libraries for Rust, JavaScript/TypeScript, and Python from the OpenAPI specification. Keeps frontend code in sync with available metrics and API endpoints without manual maintenance.
Key Features
- Multi-language: Generates Rust, JavaScript, and Python clients
- OpenAPI-driven: Extracts endpoints and schemas from the OpenAPI spec
- Metric catalog: Includes all metric IDs and their supported indexes
- Type definitions: Generates types/interfaces from JSON Schema
- Selective output: Generate only the languages you need
Core API
use ;
let paths = new
.rust
.javascript
.python;
generate_clients?;
Generated Clients
| Language | Contents |
|---|---|
| Rust | Typed API client using brk_types, metric catalog |
| JavaScript | ES module with JSDoc types, metric catalog, fetch helpers |
| Python | Typed client with dataclasses, metric catalog |
Each client includes:
- All REST API endpoints as typed functions
- Complete metric catalog with index information
- Type definitions for request/response schemas
Built On
brk_queryfor metric enumerationbrk_typesfor type schemas