betty.cli.commands package

Submodules

Module contents

Provide the Command Line Interface.

betty.cli.commands.COMMAND_REPOSITORY: PluginRepository[Command] = <betty.cli.commands._CommandRepository object>

The Command Line Interface command repository.

class betty.cli.commands.Command[source]

Bases: Plugin

Define a CLI command plugin.

classmethod click_command() Command[source]

Get the plugin’s Click command.

classmethod plugin_description() Localizable | None[source]

Get the human-readable long plugin description.

classmethod plugin_id() str[source]

Get the plugin ID.

IDs are unique per plugin type: - A plugin repository MUST at most have a single plugin for any ID. - Different plugin repositories MAY each have a plugin with the same ID.

classmethod plugin_label() Localizable[source]

Get the human-readable short plugin label.

betty.cli.commands.command(f: Callable[_P, Coroutine[Any, Any, None]]) Callable[Concatenate[_P], None][source]

Mark something a Betty command.

betty.cli.commands.pass_app(f: Callable[Concatenate[App, _P], None]) Callable[_P, None][source]

Decorate a command to receive the currently running betty.app.App as its first argument.

betty.cli.commands.pass_project(f: Callable[Concatenate[Project, _P], None]) Callable[_P, None][source]

Decorate a command to receive the currently running betty.project.Project as its first argument.