Extensions Command Line Arguments¶
Command for managing Blender extensions.
- options:
- -h, --help
show this help message and exit
subcommands:
- Package Management
- list:
List all packages.
- sync:
Synchronize with remote repositories.
- update:
Upgrade any outdated packages.
- install:
Install packages.
- install-file:
Install package from file.
- remove:
Remove packages.
- Repository Management
- repo-list:
List repositories.
- repo-add:
Add repository.
- repo-remove:
Remove repository.
- Extension Creation
- build:
Build a package.
- validate:
Validate a package.
- server-generate:
Create a listing from all packages.
Package Management¶
Subcommand: list
¶
usage:
blender --command extension list [-h] [-s]
List packages from all enabled repositories.
- options:
- -h, --help
show this help message and exit
- -s, --sync
Sync the remote directory before performing the action.
Subcommand: sync
¶
usage:
blender --command extension sync [-h]
Download package information for remote repositories.
- options:
- -h, --help
show this help message and exit
Subcommand: update
¶
usage:
blender --command extension update [-h] [-s]
Download and update any outdated packages.
- options:
- -h, --help
show this help message and exit
- -s, --sync
Sync the remote directory before performing the action.
Subcommand: install
¶
usage:
blender --command extension install [-h] [-s] [-e] [--no-prefs]
PACKAGES
- positional arguments:
- PACKAGES:
The packages to operate on (separated by
,
without spaces).
- options:
- -h, --help
show this help message and exit
- -s, --sync
Sync the remote directory before performing the action.
- -e, --enable
Enable the extension after installation.
- --no-prefs
Treat the user-preferences as read-only, preventing updates for operations that would otherwise modify them. This means removing extensions or repositories for example, wont update the user-preferences.
Subcommand: install-file
¶
usage:
blender --command extension install-file [-h] -r REPO [-e] [--no-prefs]
FILE
Install a package file into a user repository.
- positional arguments:
- FILE:
The packages file.
- options:
- -h, --help
show this help message and exit
- -r REPO, --repo REPO
The repository identifier.
- -e, --enable
Enable the extension after installation.
- --no-prefs
Treat the user-preferences as read-only, preventing updates for operations that would otherwise modify them. This means removing extensions or repositories for example, wont update the user-preferences.
Subcommand: remove
¶
usage:
blender --command extension remove [-h] [--no-prefs] PACKAGES
Disable & remove package(s).
- positional arguments:
- PACKAGES:
The packages to operate on (separated by
,
without spaces).
- options:
- -h, --help
show this help message and exit
- --no-prefs
Treat the user-preferences as read-only, preventing updates for operations that would otherwise modify them. This means removing extensions or repositories for example, wont update the user-preferences.
Repository Management¶
Subcommand: repo-list
¶
usage:
blender --command extension repo-list [-h]
List all repositories stored in Blender's preferences.
- options:
- -h, --help
show this help message and exit
Subcommand: repo-add
¶
usage:
blender --command extension repo-add [-h] [--name NAME]
[--directory DIRECTORY]
[--url URL]
[--access-token ACCESS_TOKEN]
[--source SOURCE]
[--cache BOOLEAN] [--clear-all]
[--no-prefs]
ID
Add a new local or remote repository.
- positional arguments:
- ID:
The repository identifier.
- options:
- -h, --help
show this help message and exit
- --name NAME
The name to display in the interface (optional).
- --directory DIRECTORY
The directory where the repository stores local files (optional). When omitted a directory in the users directory is automatically selected.
- --url URL
The URL, for remote repositories (optional). When omitted the repository is considered "local" as it is not connected to an external repository, where packages may be installed by file or managed manually.
- --access-token ACCESS_TOKEN
The access token to use for remote repositories which require a token.
- --source SOURCE
The type of source in ('USER', 'SYSTEM'). System repositories are managed outside of Blender and are considered read-only.
- --cache BOOLEAN
Use package cache (default=1).
- --clear-all
Clear all repositories before adding, simplifies test setup.
- --no-prefs
Treat the user-preferences as read-only, preventing updates for operations that would otherwise modify them. This means removing extensions or repositories for example, wont update the user-preferences.
Subcommand: repo-remove
¶
usage:
blender --command extension repo-remove [-h] [--no-prefs] ID
Remove a repository.
- positional arguments:
- ID:
The repository identifier.
- options:
- -h, --help
show this help message and exit
- --no-prefs
Treat the user-preferences as read-only, preventing updates for operations that would otherwise modify them. This means removing extensions or repositories for example, wont update the user-preferences.
Extension Creation¶
Subcommand: build
¶
usage:
blender --command extension build [-h] [--source-dir SOURCE_DIR]
[--output-dir OUTPUT_DIR]
[--output-filepath OUTPUT_FILEPATH]
[--valid-tags VALID_TAGS_JSON]
[--split-platforms] [--verbose]
Build a package in the current directory.
- options:
- -h, --help
show this help message and exit
- --source-dir SOURCE_DIR
The package source directory containing a
blender_manifest.toml
manifest.Default's to the current directory.
- --output-dir OUTPUT_DIR
The package output directory.
Default's to the current directory.
- --output-filepath OUTPUT_FILEPATH
The package output filepath (should include a
.zip
extension).Defaults to
{id}-{version}.zip
using values from the manifest.- --valid-tags VALID_TAGS_JSON
Reference a file path containing valid tags lists.
If you wish to reference custom tags a
.json
file can be used. The contents must be a dictionary of lists where thekey
matches the extension type.- For example:
{"add-ons": ["Example", "Another"], "theme": ["Other", "Tags"]}
To disable validating tags, pass in an empty path
--valid-tags=""
.- --split-platforms
Build a separate package for each platform. Adding the platform as a file name suffix (before the extension).
This can be useful to reduce the upload size of packages that bundle large platform-specific modules (
*.whl
files).- --verbose
Include verbose output.
Subcommand: validate
¶
usage:
blender --command extension validate [-h]
[--valid-tags VALID_TAGS_JSON]
[SOURCE_PATH]
Validate the package meta-data in the current directory.
- positional arguments:
- SOURCE_PATH:
The package source path (either directory containing package files or the package archive). This path must containing a
blender_manifest.toml
manifest.Defaults to the current directory.
- options:
- -h, --help
show this help message and exit
- --valid-tags VALID_TAGS_JSON
Reference a file path containing valid tags lists.
If you wish to reference custom tags a
.json
file can be used. The contents must be a dictionary of lists where thekey
matches the extension type.- For example:
{"add-ons": ["Example", "Another"], "theme": ["Other", "Tags"]}
To disable validating tags, pass in an empty path
--valid-tags=""
.
Subcommand: server-generate
¶
usage:
blender --command extension server-generate [-h] --repo-dir REPO_DIR
[--repo-config REPO_CONFIG]
[--html]
[--html-template HTML_TEMPLATE_FILE]
Generate a listing of all packages stored in a directory. This can be used to host packages which only requires static-file hosting.
- options:
- -h, --help
show this help message and exit
- --repo-dir REPO_DIR
The remote repository directory.
- --repo-config REPO_CONFIG
An optional server configuration to include information which can't be detected. Defaults to
blender_repo.toml
(in the repository directory).This can be used to defined blocked extensions, for example
schema_version = "1.0.0" [[blocklist]] id = "my_example_package" reason = "Explanation for why this extension was blocked" [[blocklist]] id = "other_extenison" reason = "Another reason for why this is blocked"
- --html
Create a HTML file (
index.html
) as well as the repository JSON to support browsing extensions online with static-hosting.- --html-template HTML_TEMPLATE_FILE
An optional HTML file path to override the default HTML template with your own.
The following keys will be replaced with generated contents:
${body}
is replaced the extensions contents.${date}
is replaced the creation date.