corvix.cli

Command line interface for Corvix.

Functions

main(→ None)

Corvix local GitHub notifications dashboard.

init_config_command(→ None)

Write a starter YAML config.

poll_command(→ None)

Run one poll cycle and persist processed notifications to cache.

watch_command(→ None)

Run periodic poll cycles, suitable for cron-like local daemon behavior.

dashboard_command(→ None)

Render dashboards from the persisted cache file without polling GitHub.

serve_command(→ None)

Run Litestar dashboard website.

migrate_cache_command(→ None)

Import JSON cache records into PostgreSQL for a given user.

_load_app_config(→ corvix.config.AppConfig)

_resolve_token(→ str)

_build_clients(...)

_config_path_from_context(→ pathlib.Path)

Module Contents

corvix.cli.main(ctx: click.Context, config_path: pathlib.Path) None[source][source]

Corvix local GitHub notifications dashboard.

corvix.cli.init_config_command(path: pathlib.Path, force: bool) None[source][source]

Write a starter YAML config.

corvix.cli.poll_command(ctx: click.Context, apply_actions: bool) None[source][source]

Run one poll cycle and persist processed notifications to cache.

corvix.cli.watch_command(ctx: click.Context, apply_actions: bool, iterations: int | None) None[source][source]

Run periodic poll cycles, suitable for cron-like local daemon behavior.

corvix.cli.dashboard_command(ctx: click.Context, dashboard_name: str | None) None[source][source]

Render dashboards from the persisted cache file without polling GitHub.

corvix.cli.serve_command(ctx: click.Context, host: str, port: int, reload: bool) None[source][source]

Run Litestar dashboard website.

corvix.cli.migrate_cache_command(ctx: click.Context, user_id: str) None[source][source]

Import JSON cache records into PostgreSQL for a given user.

Reads the cache file from the config, then upserts all records into the PostgreSQL database using the DATABASE_URL (or the env var named in config.database.url_env).

corvix.cli._load_app_config(config_path: pathlib.Path) corvix.config.AppConfig[source][source]
corvix.cli._resolve_token(token_env: str) str[source][source]
corvix.cli._build_clients(accounts: list[corvix.config.GitHubAccountConfig]) tuple[corvix.services.NotificationsClient, Ellipsis][source][source]
corvix.cli._config_path_from_context(ctx: click.Context) pathlib.Path[source][source]