Coverage for src / sentry_tool / cli.py: 86.36%
22 statements
« prev ^ index » next coverage.py v7.13.2, created at 2026-02-07 20:19 -0500
« prev ^ index » next coverage.py v7.13.2, created at 2026-02-07 20:19 -0500
1from typing import Annotated
3import typer
5from sentry_tool.commands import config, events, issues, projects
6from sentry_tool.monitoring import setup_logging, setup_sentry
7from sentry_tool.utils import set_active_profile, set_active_project
9app = typer.Typer(
10 help="Sentry Tool - Query and manage Sentry issues.",
11 no_args_is_help=True,
12)
14app.add_typer(config.config_app, name="config")
16app.command("list")(issues.list_issues)
17app.command("show")(issues.show_issue)
18app.command("event")(events.show_event)
19app.command("events")(events.list_events)
20app.command("tags")(events.show_tags)
21app.command("list-projects")(projects.list_projects)
22app.command("open")(projects.open_sentry)
25@app.callback()
26def callback(
27 profile: Annotated[
28 str | None,
29 typer.Option("--profile", "-P", help="Use named profile from config"),
30 ] = None,
31 project: Annotated[
32 str | None,
33 typer.Option("--project", "-p", help="Override project slug from profile"),
34 ] = None,
35) -> None:
36 set_active_profile(profile)
37 set_active_project(project)
40def cli() -> None:
41 setup_logging()
42 setup_sentry(environment="local")
43 app()