Skip to content

blext: Modern Blender Extension Development

blext makes it easy to develop Python extensions for Blender.


Documentation: https://docs.sofus.io/blext

  • NOTE: The documentation is not live yet. Stay tuned!

Source Code: https://codeberg.org/so-rose/

PyPi Package: https://pypi.org/project/blext/


Note

Please submit Issues to the Codeberg repository (you can login with GitHub)

Warning

blext should be considered alpha software aka. unstable.

  • The UX may have unsolved frustrations or hiccups.
  • Features may be incomplete, buggy, or misleadingly documented.
  • The documentation may be incomplete or outdated.
  • The test suite has no guarantees of coverage or passing.

With that said, we already personally find blext quite useful, and hope you will too.

Highlights

  • 🛠 Welcome to Modern Python: blext extensions are standard Python, managed by the cutting-edge uv project manager. Welcome to the modern Python ecosystem!
  • 🚀 Snappy at Scale: Create, download, build, analyze, and run gigabyte-sized extensions in moments, without hacks. What you run is what the user runs.
  • 📦 Fearless PyDeps: "Just uv add scipy"! Never be scared of adding Python dependencies to your extension again - blext handles compatibility with the VFX reference platform, dependency resolution, and cross-platform wheel selection. We also got tired of choosing wheel tags.
  • 🏢 Robust by Design: We believe that great tools comes from well-chosen, well-integrated abstractions, presented concisely. We keep ourselves honest with static typing, strict linting, and pydantic-powered data modelling. blext strives to become your swiss-army knife of extension-making.
  • 🌐 Respects your Freedoms: blext preserves your freedom to use, modify, fork, redistribute, or even sell blext, so long as you extend the same freedoms as you were granted under the AGPL software license. For more details, see our License Policy.

Want to know more? See Features.

Quickstart

Ready to make extensions? Skip directly to Getting Started.

Just want to give it a try? If uv is correctly installed, you can start using blext right away:

uvx blext@latest --helpUsage: blext COMMAND
...

Tip

You can follow the Getting Started Guide without installing blext, using uvx like this.

Just make sure to write uvx blext@latest instead of blext, whenever you run a blext command.

Want to install blext permanantly? See our Installation Guide.

Note

NOTICE: Hot Takes Wanted

Share your experience with us in our Issues system (supports GitHub login)!

We would appreciate if you took a moment to assign a label to your the Issues:

  • user-report: You tried it, and have some constructive opinions to share!
  • ux: Something was frustrating that didn't need to be.
  • bug: Something's not working the way it's supposed to.

See all labels here: https://codeberg.org/so-rose/blext/labels

Acknowledgements

blext is a love letter to the Blender community, provided in hopes that it might be useful.

We would like to thank Astral for creating uv, an exceptionally crafted tool that both inspires and powers blext. The Rust project manager, cargo also deserves a lot of credit for inspiring blext.

Finally, we encourage you to peruse our uv tree of dependencies. We stand on the shoulders of giants, and could not hope to see so far without.