API Reference
This page provides an overview of the internal Python API for the Argos Blender Addon.
Core Addon Logic
src
Builder and Binary Management
src.builder
Functions
install(operator=None)
Orchestrates the installation of the Argos toolkit.
Depending on the configuration, this will either download a pre-compiled release from GitHub or build the toolkit from source (if ARGOS_DEBUG is true).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
operator
|
Operator
|
The Blender operator instance for reporting status. |
None
|
Source code in src/builder.py
Configuration
src.config
Configuration management for the Argos Blender Addon.
This module handles versioning, paths, and environment-based settings (like debug mode).
Functions
get_argos_version()
get_bin_name()
get_dev_repo_url()
get_github_host()
get_project_dir()
Returns the absolute path to the Argos installation directory.
Depends on whether we are in debug mode or not.
Source code in src/config.py
get_release_url()
Returns the direct download URL for the pre-compiled Argos release.
get_system_ext()
get_system_name()
is_debug()
Checks if the addon is running in debug/development mode.
Returns:
| Name | Type | Description |
|---|---|---|
bool |
bool
|
True if ARGOS_DEBUG environment variable is 'true'. |
UI and Operator Logic
src.gui
Functions
build_command_property_groups(cmd_list)
Create a PropertyGroup subclass for each command's arguments.
Returns a list of (command_name, cls) tuples.
Source code in src/gui/props.py
build_enum_items(cmd_list)
Build the items list for the command selector EnumProperty.
build_type_enum_items(cmd_list, project_type)
Build enum items filtered by project type.
Commands and Algorithm Discovery
src.commands
Classes
Argument
dataclass
Command
dataclass
Functions
get_command(name)
Look up a single command definition by name.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
name
|
str
|
The machine name of the command (e.g., 'subdivide'). |
required |
Returns:
| Type | Description |
|---|---|
Command | None
|
The command definition, or None if not found. |
Source code in src/commands.py
get_commands_by_type(project_type)
Get all commands matching a project type.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
project_type
|
str
|
The project type to filter by (e.g., 'point_cloud', 'reconstruction'). |
required |
Returns:
| Type | Description |
|---|---|
list[Command]
|
A list of Command objects matching the project type. |
Source code in src/commands.py
load_commands(cmds_dict=None, operator=None)
Parses a JSON string from the Argos binary to load available commands.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
json_string
|
The raw JSON output from |
required | |
operator
|
Optional Blender operator for UI reporting. |
None
|
Returns:
| Type | Description |
|---|---|
list
|
A list of loaded Command objects. |
Source code in src/commands.py
Geometry Marshalling
src.marshaller
Functions
marshal_selected_objects()
Marshals the selected objects.
Returns:
| Name | Type | Description |
|---|---|---|
str |
str
|
The OBJ formatted string represetation of the selected objects. |
Source code in src/marshaller.py
unmarshal_and_import(object_str)
Unmarshals the objects represented by object_str and import them into the viewport. Args: object_str (str): The OBJ formatted representation of the objects to import.
Returns:
| Name | Type | Description |
|---|---|---|
list |
list
|
The list of newly imported objects. |