---
source: lib/src/sdk/python/mod.rs
expression: "get_file(&output, \"types.py\")"
---
# @generated by usage-cli from test.usage.kdl. Do not edit manually.
from __future__ import annotations
from dataclasses import dataclass
from typing import Literal, Optional

VERSION = "1.2.3"
ABOUT = "A powerful CLI tool"
AUTHOR = "Jane Doe"

TargetChoice = Literal["debug", "release"]
EnvChoice = Literal["staging", "production"]


@dataclass
class GlobalFlags:
    # Verbosity level. Short: -v
    verbose: Optional[int] = None
    # Config file path. Env: MYTOOL_CONFIG. Short: -C
    config: Optional[str] = None


@dataclass
class MytoolArgs:
    # Input file
    _input: str
    # Extra files
    extra: list[str]


@dataclass
class MytoolFlags:
    # Verbosity level. Short: -v
    verbose: Optional[int] = None
    # Config file path. Env: MYTOOL_CONFIG. Short: -C
    config: Optional[str] = None
    # Show what would be done
    dry_run: Optional[bool] = None


@dataclass
class BuildArgs:
    # Build target
    target: TargetChoice
    # Output directory
    output: str


@dataclass
class BuildFlags:
    # Verbosity level. Short: -v
    verbose: Optional[int] = None
    # Config file path. Env: MYTOOL_CONFIG. Short: -C
    config: Optional[str] = None
    # Parallel jobs. Short: -j
    jobs: Optional[list[str]] = None
    # Build in release mode
    release: Optional[bool] = None


@dataclass
class DeployArgs:
    # Target environment
    env: EnvChoice
    # Deployment tags
    tags: list[str]


@dataclass
class DeployFlags:
    # Verbosity level. Short: -v
    verbose: Optional[int] = None
    # Config file path. Env: MYTOOL_CONFIG. Short: -C
    config: Optional[str] = None
    # Force deploy. Deprecated: Use --confirm instead. Short: -f
    force: Optional[bool] = None
    # Confirm deployment
    confirm: Optional[bool] = None
