The workspace
bunsen is one Cargo workspace with four kinds of member. Only the crates
under crates/public are published; everything else exists to build,
check, validate or demonstrate them.
crates/public/ the published crates (released together, one version)
crates/dev/ development tooling: upstream bug repros, benches
crates/validation/ cross-checks of bunsen models against reference implementations
examples/ runnable programs, one per kit or system
tools/ one-shot fixture generators and repo checks (Python, stdlib-first)
Published crates
All published crates share the workspace version and are released together
by release-plz (Releasing), except
bunsen-bundled-parakeet and bunsen-bundled-qwen3-asr, which fetch the
checkpoints the validation crates check against and are not published.
| Crate | What it is |
|---|---|
bunsen | The library: contracts, ops, blocks, kits, the pretrained-model machinery, audits. Most users depend on this alone. See the bunsen crate. |
bunsen-contracts-macros | The proc macro behind shape_contract!. Never a direct dependency; bunsen re-exports it. |
bunsen-bundled-silero | Silero VAD’s 16 kHz checkpoint and, for validation, its ONNX graph and the reference model generated from it, fetched and digest-pinned at build time. Pulled in by silero-weights. Hosts no files itself. |
bunsen-bundled-whisper | Whisper’s base checkpoint and tokenizer vocabularies, fetched and digest-pinned at build time and laid out as a pretrained cache. Pulled in by whisper-weights. Hosts no files itself. |
bunsen-firehose | A column-oriented data-processing pipeline that feeds burn’s Batcher. Independent of bunsen. See Firehose. |
bunsen-firehose-image | Image operators for firehose: loading, augmentation, conversion to tensor data. |
bunsen-arrow-dataloaders | Preview. Parquet shards to tokenized training batches, for language-model training. See Shard sets. |
bunsen-app | Shared command-line plumbing for bunsen’s binaries: device and precision flags, logging, shard selection, and the weights cache’s flags and cache commands. The examples and bunsen-asr are built on it. |
bunsen-asr | A binary, cargo install bunsen-asr: speech to text with Parakeet, Qwen3-ASR or Whisper, each through its stream driver, and bunsen-asr cache over the weights cache. |
The two bundled crates are how bunsen ships model assets without making
every build download them; Assets, bundling and the network
explains the scheme.
Development crates
| Crate | Role |
|---|---|
burn_bug_repro | Reproductions of defects in burn and its ecosystem, each paired with a pin on today’s behaviour. See Upstream bug reproductions. |
silero-bench | A benchmark CLI for Silero VAD. See Benchmarks. |
Validation crates
| Crate | Validates |
|---|---|
silero-model-validation | Silero VAD against the ONNX graph it was transliterated from, and against a committed golden trace. |
whisper-model-validation | Whisper against an ONNX export, stage by stage, and against openai-whisper’s own decode of real speech. |
These are not part of a normal build’s test run; they are how a kit earns trust. See Validation against reference implementations.
Examples and tools
The examples are runnable programs, one or more per kit or
system. tools/ holds the Python scripts that generate committed test
fixtures from reference implementations, run once by hand, never by CI
(Validation), and the repository checks CI
runs.