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
is under heavy development, and should be considered alpha software aka. unstable.
- Features may be missing, incomplete, buggy, or misleadingly documented.
main
may break without warning, and thePyPi
version may be extremely out of date.- The UI/UX may have unsolved frustrations, or be misleading.
- The documentation may be incomplete, outdated, or simply non-existant.
- Tests, if they exist, have no guarantees of coverage or passing.
We already personally find the main
branch of blext
quite useful, and we invite you to give it a try!
Above all else, please be patient with us at this early stage.
- 🛠 Welcome to Modern Python:
blext
extensions are standard Python projects, powered by the cutting-edgeuv
project manager and a standardpyproject.toml
. - 🚀 Snappy at Scale: Create, download, build, analyze, and run large extensions in moments, without resorting to fragile mechanisms that fracture deployment from development.
- 📦 Fearless PyDeps: "Just
uv add scipy
"! Never be scared of adding Python dependencies to your extension again -blext
handles VFX reference platform compatibility, dependency resolution, and cross-platform wheel selection. We also got tired of choosing wheel tags. - 🗂️ Swiss-Army Knife of Extensions:
blext
is more than a build system - it's a complete suite of tools for dealing with extensions. - 🛠 Code Transforms:
blext
can automatically perform certain "safe" code rewrites, such as AST-level rewrite of absolute imports to relative imports. - 🏢 Robust by Design: We believe that great tools comes from well-chosen, well-integrated abstractions, presented concisely.
- 🌐 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.
Warning
While many features already work, some features may be missing / work-in-progress.
See Features for a detailed overview of what does and doesn't work right now.
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 --help
Usage: 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
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.