| Crates.io | brk_bindgen |
| lib.rs | brk_bindgen |
| version | 0.1.0-beta.0 |
| created_at | 2026-01-04 11:00:00.811009+00 |
| updated_at | 2026-01-25 13:23:37.820217+00 |
| description | A trait-based generator of client bindings for multiple languages |
| homepage | https://bitcoinresearchkit.org |
| repository | https://github.com/bitcoinresearchkit/brk |
| max_upload_size | |
| id | 2021726 |
| size | 316,521 |
Code generation for BRK client libraries.
Generate typed client libraries for Rust, JavaScript, and Python from the OpenAPI specification. Keeps frontend code in sync with available metrics and API endpoints without manual maintenance.
use brk_bindgen::{generate_clients, ClientOutputPaths};
let paths = ClientOutputPaths::new()
.rust("crates/brk_client/src/lib.rs")
.javascript("modules/brk-client/index.js")
.python("packages/brk_client/brk_client/__init__.py");
generate_clients(&vecs, &openapi_json, &paths)?;
| 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:
brk_query for metric enumerationbrk_types for type schemas