blr

blr builds Blender scenes from Rust. Its upcoming version generates typed bindings from Blender’s own schema with pyo3_bindgen and wraps them in an idiomatic Rust API, so a misspelled property or a wrong type fails at compile time instead of halfway through a script.

Live demo

The blr playground: Rust that builds a layered tower, beside the mesh Blender returned
Open demo. Edit a Rust or Python example, run it through Blender 5.2 in your browser and inspect the mesh it builds.

Features

  • Generated types: classes, enums and typed collections generated from the schema of Blender 5.2’s Python API and checked for drift.
  • Idiomatic layer: a project workflow, extension traits for objects and meshes, typed math and scene import and export.
  • Escape hatch: raw PyO3 and dynamic bpy access wherever the typed layer does not reach.

Status

The latest release is blr 0.1.0 (April 2024) on crates.io, dual-licensed under MIT or Apache 2.0; it uses PyO3 directly and targets Blender 3.6. The upcoming version, which the playground runs, is not public yet.