Build Blender extensions.
Project description
blender-extension-builder
A builder for blender extensions.
Blender allows you to add dependencies via packaging wheels with the extension, however you have to manually grab the wheels and put the filenames in the blender_manifest.toml file. This can be cumbersome, especially with many dependencies, and dependencies of dependencies that you don't control. This project aims to aid in that, and make it all a lot easier.
Installation
Install via pip
pip install blender-extension-builder
You also need Blender available on the PATH in order to build the extension.
Usage
You can use the command
build-blender-extension -h
Or
python -m build_blender_extension -h
Setting up blender_manifest.toml
Since this aims to make managing dependencies easier, there are a couple things added to the blender_manifest.toml file. The file will be structured like any blender_manifest.toml file, just with a few new options.
schema_version = "1.0.0"
id = "my_example_extension"
version = "1.0.0"
name = "My Example Extension"
tagline = "This is another extension"
maintainer = "Developer name <email@address.com>"
type = "add-on"
blender_version_min = "4.2.0"
license = [
"SPDX:GPL-3.0-or-later",
]
# Place dependencies here. They can be in any format that pip supports.
dependencies = [
'numpy'
]
# Folder to store the wheels in the addon.
wheel-path = './wheels'
# If you would like to manually specify the wheels, you still can.
# This If you also specify dependencies, those will be appended into this.
wheels = [
'./wheels/pillow-10.3.0-cp311-cp311-win_amd64.whl',
]
[build]
# Some optional extra options were added to this table
# Folder containing the source code of the extension. Defaults to the current directory
source = './src'
# Folder for where the extension will be stored with all the files (to build the extension). Defaults to ./build
build = './build'
# Output folder for the built addon in the .zip file.
dist = './dist'
# This contains a list of files or folders to keep in the built extension.
paths_include = [
'LICENSE',
'README.md',
]
All you have to do is now run
build-blender-extension -m blender_manifest.toml
Note: if you don't specify any arguments, it will try to use blender_manifest.toml.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file blender_extension_builder-1.0.0.tar.gz.
File metadata
- Download URL: blender_extension_builder-1.0.0.tar.gz
- Upload date:
- Size: 40.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3c8a746b3f3f894fc8f72892b736a0707ebb680da9d019609dc844fd531dc1da
|
|
| MD5 |
bcec90102c8596e5c92f046cf7f6d796
|
|
| BLAKE2b-256 |
ecae39538d21329bff68c7d1874647df8d1129fbbdc00d8bca81f1146c728ac6
|
Provenance
The following attestation bundles were made for blender_extension_builder-1.0.0.tar.gz:
Publisher:
python-publish.yml on ego-lay-atman-bay/blender-extension-builder
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
blender_extension_builder-1.0.0.tar.gz -
Subject digest:
3c8a746b3f3f894fc8f72892b736a0707ebb680da9d019609dc844fd531dc1da - Sigstore transparency entry: 153507326
- Sigstore integration time:
-
Permalink:
ego-lay-atman-bay/blender-extension-builder@ec9fcb3c73eab3674fe7c710d772609149098a60 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/ego-lay-atman-bay
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@ec9fcb3c73eab3674fe7c710d772609149098a60 -
Trigger Event:
release
-
Statement type:
File details
Details for the file blender_extension_builder-1.0.0-py3-none-any.whl.
File metadata
- Download URL: blender_extension_builder-1.0.0-py3-none-any.whl
- Upload date:
- Size: 29.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a4299b9dd0562442978266d94c1fbad2cc6f6d457587ae29575009057f6a6a39
|
|
| MD5 |
38d3b0bad03d4cac1cbcc025d8874bb6
|
|
| BLAKE2b-256 |
3ef73a24af941c27d173c0e80ebde699f082de753b3a2622a24b03461145d884
|
Provenance
The following attestation bundles were made for blender_extension_builder-1.0.0-py3-none-any.whl:
Publisher:
python-publish.yml on ego-lay-atman-bay/blender-extension-builder
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
blender_extension_builder-1.0.0-py3-none-any.whl -
Subject digest:
a4299b9dd0562442978266d94c1fbad2cc6f6d457587ae29575009057f6a6a39 - Sigstore transparency entry: 153507330
- Sigstore integration time:
-
Permalink:
ego-lay-atman-bay/blender-extension-builder@ec9fcb3c73eab3674fe7c710d772609149098a60 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/ego-lay-atman-bay
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@ec9fcb3c73eab3674fe7c710d772609149098a60 -
Trigger Event:
release
-
Statement type: