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-edgeuv
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 sellblext
, 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:
...
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.