Hide navigation sidebar
Hide table of contents sidebar
Skip to content
Back to top
View this page
Toggle table of contents sidebar

# betty.cli.commands package

## Submodules

- betty.cli.commands.clear_caches module
- betty.cli.commands.config module
- betty.cli.commands.demo module
- betty.cli.commands.dev_new_translation module
- betty.cli.commands.dev_update_translations module
- betty.cli.commands.docs module
- betty.cli.commands.generate module
- betty.cli.commands.new module
- betty.cli.commands.new_translation module
- betty.cli.commands.serve module
- betty.cli.commands.update_translations module

## Module contents

Provide the Command Line Interface.

class betty.cli.commands.BettyCommand

  Bases: `Command`

  A Click command for Betty.

  See `betty.cli.commands.command()`.

  invoke(ctx: Context) → Any

    Given a context, this invokes the attached callback (if it exists) in the right way.

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

  The Command Line Interface command repository.

  Read more about CLI command plugins.

class betty.cli.commands.Command

  Bases: `Plugin`

  Define a CLI command plugin.

  Read more about CLI command plugins.

  classmethod click_command() → Command

    Get the plugin’s Click command.

  classmethod plugin_description() → Localizable | None

    Get the human-readable long plugin description.

  classmethod plugin_id() → MachineName

    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

    Get the human-readable short plugin label.

betty.cli.commands.command(name: Callable[..., Coroutine[Any, Any, Any]]) → BettyCommand
betty.cli.commands.command(name: str | None, cls: type[_BettyCommandT], **attrs: Any) → Callable[[Callable[..., Coroutine[Any, Any, Any]]], _BettyCommandT]
betty.cli.commands.command(name: None = None, *, cls: type[_BettyCommandT], **attrs: Any) → Callable[[Callable[..., Coroutine[Any, Any, Any]]], _BettyCommandT]
betty.cli.commands.command(name: str | None = None, cls: None = None, **attrs: Any) → Callable[[Callable[..., Coroutine[Any, Any, Any]]], BettyCommand]

  Mark something a Betty command.

  This is almost identical to `click.command()`, except that `cls` must extend `betty.cli.commands.BettyCommand`.

  Functions decorated with `@command` may choose to raise `betty.error.UserFacingError`, which will automatically be localized and reraised as `click.ClickException`.

  Read more about CLI command plugins.

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

  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], _ReturnT]) → Callable[_P, _ReturnT]

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