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:

  1. 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:

  1. blender --command extension sync [-h]

Download package information for remote repositories.

options:

  • -h, —help

    show this help message and exit

Subcommand: update

usage:

  1. 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:

  1. blender --command extension install [-h] [-s] [-e] [--no-prefs]
  2. 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:

  1. blender --command extension install-file [-h] -r REPO [-e] [--no-prefs]
  2. 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:

  1. 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:

  1. 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:

  1. blender --command extension repo-add [-h] [--name NAME]
  2. [--directory DIRECTORY]
  3. [--url URL]
  4. [--access-token ACCESS_TOKEN]
  5. [--source SOURCE]
  6. [--cache BOOLEAN] [--clear-all]
  7. [--no-prefs]
  8. 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:

  1. 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:

  1. blender --command extension build [-h] [--source-dir SOURCE_DIR]
  2. [--output-dir OUTPUT_DIR]
  3. [--output-filepath OUTPUT_FILEPATH]
  4. [--valid-tags VALID_TAGS_JSON]
  5. [--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 the key 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:

  1. blender --command extension validate [-h]
  2. [--valid-tags VALID_TAGS_JSON]
  3. [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 the key 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:

  1. blender --command extension server-generate [-h] --repo-dir REPO_DIR
  2. [--html]
  3. [--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.

    --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.