Skip to content

CLI Plugins Resource

CLIPluginsResource(cli)

Bases: BaseCLIResource

CLI resource for plugin management.

Attributes:

Name Type Description
_cli

Reference to the parent ObsidianCLI instance.

Source code in src/aiobsidian/cli/_base.py
def __init__(self, cli: ObsidianCLI) -> None:
    self._cli = cli

info(plugin_id) async

Get details about a plugin.

Parameters:

Name Type Description Default
plugin_id str

Plugin identifier.

required

Returns:

Type Description
dict[str, Any]

Plugin details.

Source code in src/aiobsidian/cli/plugins.py
async def info(self, plugin_id: str) -> dict[str, Any]:
    """Get details about a plugin.

    Args:
        plugin_id: Plugin identifier.

    Returns:
        Plugin details.
    """
    output = await self._cli._execute("plugin", params={"id": plugin_id})
    result: dict[str, Any] = json.loads(output)
    return result

restrict(*, on) async

Toggle restricted mode for plugins.

Parameters:

Name Type Description Default
on bool

If True, enable restricted mode; if False, disable it.

required
Source code in src/aiobsidian/cli/plugins.py
async def restrict(self, *, on: bool) -> None:
    """Toggle restricted mode for plugins.

    Args:
        on: If ``True``, enable restricted mode;
            if ``False``, disable it.
    """
    flags = ["--on"] if on else ["--off"]
    await self._cli._execute("plugins:restrict", flags=flags)

enabled() async

List enabled plugins.

Returns:

Type Description
list[dict[str, Any]]

List of enabled plugin objects.

Source code in src/aiobsidian/cli/plugins.py
async def enabled(self) -> list[dict[str, Any]]:
    """List enabled plugins.

    Returns:
        List of enabled plugin objects.
    """
    output = await self._cli._execute("plugins:enabled")
    result: list[dict[str, Any]] = json.loads(output)
    return result

enable(plugin_id) async

Enable a plugin.

Parameters:

Name Type Description Default
plugin_id str

Plugin identifier.

required
Source code in src/aiobsidian/cli/plugins.py
async def enable(self, plugin_id: str) -> None:
    """Enable a plugin.

    Args:
        plugin_id: Plugin identifier.
    """
    await self._cli._execute("plugin:enable", params={"id": plugin_id})

disable(plugin_id) async

Disable a plugin.

Parameters:

Name Type Description Default
plugin_id str

Plugin identifier.

required
Source code in src/aiobsidian/cli/plugins.py
async def disable(self, plugin_id: str) -> None:
    """Disable a plugin.

    Args:
        plugin_id: Plugin identifier.
    """
    await self._cli._execute("plugin:disable", params={"id": plugin_id})

install(plugin_id) async

Install a community plugin.

Parameters:

Name Type Description Default
plugin_id str

Plugin identifier from the community registry.

required
Source code in src/aiobsidian/cli/plugins.py
async def install(self, plugin_id: str) -> None:
    """Install a community plugin.

    Args:
        plugin_id: Plugin identifier from the community registry.
    """
    await self._cli._execute("plugin:install", params={"id": plugin_id})

uninstall(plugin_id) async

Uninstall a plugin.

Parameters:

Name Type Description Default
plugin_id str

Plugin identifier.

required
Source code in src/aiobsidian/cli/plugins.py
async def uninstall(self, plugin_id: str) -> None:
    """Uninstall a plugin.

    Args:
        plugin_id: Plugin identifier.
    """
    await self._cli._execute("plugin:uninstall", params={"id": plugin_id})

reload(plugin_id) async

Reload a plugin (useful during development).

Parameters:

Name Type Description Default
plugin_id str

Plugin identifier.

required
Source code in src/aiobsidian/cli/plugins.py
async def reload(self, plugin_id: str) -> None:
    """Reload a plugin (useful during development).

    Args:
        plugin_id: Plugin identifier.
    """
    await self._cli._execute("plugin:reload", params={"id": plugin_id})

list(*, versions=False) async

List all installed plugins.

Parameters:

Name Type Description Default
versions bool

If True, include version information.

False

Returns:

Type Description
list[dict[str, Any]]

List of plugin objects.

Source code in src/aiobsidian/cli/plugins.py
async def list(self, *, versions: bool = False) -> list[dict[str, Any]]:
    """List all installed plugins.

    Args:
        versions: If ``True``, include version information.

    Returns:
        List of plugin objects.
    """
    flags = ["--versions"] if versions else None
    output = await self._cli._execute("plugins", flags=flags)
    result: list[dict[str, Any]] = json.loads(output)
    return result