Classes
PhaseStatus
Status of a build phase.
PhaseStatus
Status of a build phase.
Enum
PhaseProgress
dataclass
Track progress for a single build phase.
PhaseProgress
dataclass Track progress for a single build phase.
Attributes
| Name | Type | Description |
|---|---|---|
name |
str |
|
status |
PhaseStatus |
|
current |
int |
|
total |
int | None |
|
current_item |
str |
|
elapsed_ms |
float |
|
start_time |
float | None |
|
metadata |
dict[str, Any] |
|
recent_items |
list[str] |
Methods 2
get_percentage
Get completion percentage.
get_percentage
def get_percentage(self) -> float | None
Get completion percentage.
Returns
float | None
get_elapsed_str
Get formatted elapsed time string.
get_elapsed_str
def get_elapsed_str(self) -> str
Get formatted elapsed time string.
Returns
str
LiveProgressManager
Manager for live progress updates across build phases.
Features:
- Profile-aware display (Writer/T…
LiveProgressManager
Manager for live progress updates across build phases.
Features:
- Profile-aware display (Writer/Theme-Dev/Developer)
- In-place updates (no scrolling)
- Graceful fallback for CI/non-TTY
- Context manager for clean setup/teardown
Methods 5
add_phase
Register a new phase.
add_phase
def add_phase(self, phase_id: str, name: str, total: int | None = None) -> None
Register a new phase.
Parameters 3
phase_id |
str |
Unique identifier for the phase |
name |
str |
Display name for the phase |
total |
int | None |
Total number of items to process (if known) |
start_phase
Mark phase as running.
start_phase
def start_phase(self, phase_id: str) -> None
Mark phase as running.
Parameters 1
phase_id |
str |
Phase identifier |
update_phase
Update phase progress.
update_phase
def update_phase(self, phase_id: str, current: int | None = None, current_item: str | None = None, **metadata: Any) -> None
Update phase progress.
Parameters 3
phase_id |
str |
Phase identifier |
current |
int | None |
Current progress count |
current_item |
str | None |
Current item being processed **metadata: Additional metadata to track |
complete_phase
Mark phase as complete.
complete_phase
def complete_phase(self, phase_id: str, elapsed_ms: float | None = None) -> None
Mark phase as complete.
Parameters 2
phase_id |
str |
Phase identifier |
elapsed_ms |
float | None |
Total elapsed time in milliseconds (optional) |
fail_phase
Mark phase as failed.
fail_phase
def fail_phase(self, phase_id: str, error: str) -> None
Mark phase as failed.
Parameters 2
phase_id |
str |
Phase identifier |
error |
str |
Error message |
Internal Methods 10
__init__
Initialize live progress manager.
__init__
def __init__(self, profile: BuildProfile, console: Console | None = None, enabled: bool = True)
Initialize live progress manager.
Parameters 3
profile |
BuildProfile |
Build profile (Writer/Theme-Dev/Developer) |
console |
Console | None |
Rich console instance (creates one if not provided) |
enabled |
bool |
Whether live progress is enabled |
__enter__
Enter context manager.
__enter__
def __enter__(self) -> LiveProgressManager
Enter context manager.
Returns
LiveProgressManager
__exit__
Exit context manager.
__exit__
def __exit__(self, exc_type: type[BaseException] | None, exc_val: BaseException | None, exc_tb: TracebackType | None) -> None
Exit context manager.
Parameters 3
exc_type |
type[BaseException] | None |
|
exc_val |
BaseException | None |
|
exc_tb |
TracebackType | None |
_update_display
Update the live display or print fallback.
_update_display
def _update_display(self, force: bool = False) -> None
Update the live display or print fallback.
Parameters 1
force |
bool |
_render
Render the progress display based on profile.
_render
def _render(self) -> RenderableType
Render the progress display based on profile.
Returns
RenderableType
_render_writer
Compact display for writers.
Shows: phase name, progress bar, current count, c…
_render_writer
def _render_writer(self) -> RenderableType
Compact display for writers.
Shows: phase name, progress bar, current count, current item
Returns
RenderableType
_render_theme_dev
Detailed display with recent items for theme developers.
Shows: progress bar, …
_render_theme_dev
def _render_theme_dev(self) -> RenderableType
Detailed display with recent items for theme developers.
Shows: progress bar, recent items, elapsed time
Returns
RenderableType
_render_developer
Full observability display for developers.
Shows: all phases, metrics, perform…
_render_developer
def _render_developer(self) -> RenderableType
Full observability display for developers.
Shows: all phases, metrics, performance stats
Returns
RenderableType
_get_status_icon
Get icon for phase status.
_get_status_icon
def _get_status_icon(self, status: PhaseStatus) -> str
Get icon for phase status.
Parameters 1
status |
PhaseStatus |
Returns
str
_print_fallback
Fallback for non-TTY environments (CI, redirected output).
Prints traditional …
_print_fallback
def _print_fallback(self) -> None
Fallback for non-TTY environments (CI, redirected output).
Prints traditional sequential output with minimal updates.