niamoto.cli.utils package

Submodules

niamoto.cli.utils.console module

Console output utilities for the Niamoto CLI. Provides consistent formatting for different types of messages with unified icons.

niamoto.cli.utils.console.print_success(message, icon=True)

Print a success message in green.

Parameters:
  • message (str)

  • icon (bool)

Return type:

None

niamoto.cli.utils.console.print_error(message, icon=True)

Print an error message in red.

Parameters:
  • message (str)

  • icon (bool)

Return type:

None

niamoto.cli.utils.console.print_warning(message, icon=True)

Print a warning message in yellow.

Parameters:
  • message (str)

  • icon (bool)

Return type:

None

niamoto.cli.utils.console.print_info(message, icon=True)

Print an info message in blue.

Parameters:
  • message (str)

  • icon (bool)

Return type:

None

niamoto.cli.utils.console.print_start(message)

Print a start message with icon.

Parameters:

message (str)

Return type:

None

niamoto.cli.utils.console.print_processing(message)

Print a processing message with icon.

Parameters:

message (str)

Return type:

None

niamoto.cli.utils.console.print_section(title)

Print a section header.

Parameters:

title (str)

Return type:

None

niamoto.cli.utils.console.print_summary_header(title)

Print a summary section header.

Parameters:

title (str)

Return type:

None

niamoto.cli.utils.console.print_operation_start(operation)

Print operation start message.

Parameters:

operation (str)

Return type:

None

niamoto.cli.utils.console.print_operation_complete(operation, details=None)

Print operation completion message.

Parameters:
  • operation (str)

  • details (str | None)

Return type:

None

niamoto.cli.utils.console.print_files_processed(count, file_type='files')

Print files processed message.

Parameters:
  • count (int)

  • file_type (str)

Return type:

None

niamoto.cli.utils.console.print_duration(seconds)

Print duration message.

Parameters:

seconds (float)

Return type:

None

niamoto.cli.utils.console.print_stats(stats)

Print statistics in a formatted way.

Parameters:

stats (Dict[str, Any])

Return type:

None

niamoto.cli.utils.console.print_metrics_summary(operation_name, metrics_lines)

Print a formatted metrics summary.

Parameters:
  • operation_name (str)

  • metrics_lines (List[str])

Return type:

None

niamoto.cli.utils.console.print_operation_metrics(metrics, operation_type)

Print operation-specific metrics using the MetricsFormatter.

Parameters:
  • metrics (Any)

  • operation_type (str)

Return type:

None

niamoto.cli.utils.console.print_step_header(step_name)

Print a step header for sub-operations.

Parameters:

step_name (str)

Return type:

None

niamoto.cli.utils.console.print_step_complete(step_name, count=None, duration=None)

Print step completion message.

Parameters:
  • step_name (str)

  • count (int | None)

  • duration (float | None)

Return type:

None

niamoto.cli.utils.console.print_step_progress(step_name, current, total)

Print step progress without progress bar.

Parameters:
  • step_name (str)

  • current (int)

  • total (int)

Return type:

None

niamoto.cli.utils.console.print_linking_status(total, linked, failed, link_type='items')

Print linking status with statistics.

Parameters:
  • total (int)

  • linked (int)

  • failed (int)

  • link_type (str)

Return type:

None

niamoto.cli.utils.console.print_unlinked_samples(samples, sample_type='items')

Print samples of unlinked items.

Parameters:
  • samples (List[str])

  • sample_type (str)

Return type:

None

niamoto.cli.utils.console.print_import_result(file_path, count, data_type, details=None)

Print import result with file path and count.

Parameters:
  • file_path (str)

  • count (int)

  • data_type (str)

  • details (str | None)

Return type:

None

niamoto.cli.utils.console.print_file_processed(file_path, count, action='processed')

Print file processing result.

Parameters:
  • file_path (str)

  • count (int)

  • action (str)

Return type:

None

niamoto.cli.utils.console.format_file_size(size_bytes)

Format file size in human-readable units.

Parameters:

size_bytes (int)

Return type:

str

niamoto.cli.utils.console.format_number(number)

Format large numbers with thousand separators.

Parameters:

number (int)

Return type:

str

niamoto.cli.utils.console.print_table(data, title)

Print data in a formatted table.

Parameters:
  • data (list[dict[str, Any]])

  • title (str)

Return type:

None

niamoto.cli.utils.metrics module

Metrics collection and display system for Niamoto CLI operations. Provides standardized metrics collection and formatted display for import, transform, and export operations.

class niamoto.cli.utils.metrics.OperationMetrics(operation_type, start_time=<factory>, end_time=None, metrics=<factory>, errors=<factory>, warnings=<factory>)

Bases: object

Container for operation-specific metrics.

Parameters:
  • operation_type (str)

  • start_time (datetime)

  • end_time (datetime | None)

  • metrics (Dict[str, Any])

  • errors (List[str])

  • warnings (List[str])

operation_type: str
start_time: datetime
end_time: datetime | None = None
metrics: Dict[str, Any]
errors: List[str]
warnings: List[str]
add_metric(key, value)

Add a metric value.

Parameters:
  • key (str)

  • value (Any)

Return type:

None

add_count(key, count)

Add or increment a count metric.

Parameters:
  • key (str)

  • count (int)

Return type:

None

add_error(error)

Add an error message.

Parameters:

error (str)

Return type:

None

add_warning(warning)

Add a warning message.

Parameters:

warning (str)

Return type:

None

finish()

Mark the operation as finished.

Return type:

None

property duration: timedelta

Get the operation duration.

get_summary()

Get a summary of all metrics.

Return type:

Dict[str, Any]

class niamoto.cli.utils.metrics.MetricsCollector

Bases: object

Collects and processes metrics from Niamoto operations.

static parse_import_result(result, operation_type='import')

Parse import result strings to extract metrics.

Parameters:
  • result (str)

  • operation_type (str)

Return type:

OperationMetrics

static create_transform_metrics(groups_processed)

Create transform metrics from processing results.

Parameters:

groups_processed (Dict[str, Any])

Return type:

OperationMetrics

static create_export_metrics(export_results)

Create export metrics from export results.

Parameters:

export_results (Dict[str, Any])

Return type:

OperationMetrics

class niamoto.cli.utils.metrics.MetricsFormatter

Bases: object

Formats metrics for console display.

static format_duration(duration)

Format duration in a human-readable way.

Parameters:

duration (timedelta)

Return type:

str

static format_file_size(size_bytes)

Format file size in human-readable units.

Parameters:

size_bytes (int)

Return type:

str

static format_number(number)

Format large numbers with thousand separators.

Parameters:

number (int)

Return type:

str

static format_import_metrics(metrics)

Format import metrics for display.

Parameters:

metrics (OperationMetrics)

Return type:

List[str]

static format_transform_metrics(metrics)

Format transform metrics for display.

Parameters:

metrics (OperationMetrics)

Return type:

List[str]

static format_export_metrics(metrics)

Format export metrics for display.

Parameters:

metrics (OperationMetrics)

Return type:

List[str]

niamoto.cli.utils.progress module

Unified progress management for Niamoto CLI commands. Provides consistent progress bars and status reporting across all operations.

class niamoto.cli.utils.progress.ProgressManager(console=None)

Bases: object

Unified progress manager for Niamoto CLI operations.

Parameters:

console (Console | None)

property standard_columns: List[ProgressColumn]

Standard progress bar columns for consistency.

progress_context(total_operations=None)

Context manager for progress tracking.

Parameters:

total_operations (int | None)

Return type:

Iterator[ProgressManager]

add_task(name, description, total=None)

Add a new progress task.

Parameters:
  • name (str)

  • description (str)

  • total (int | None)

Return type:

TaskID

update_task(name, advance=1, description=None, **kwargs)

Update a progress task.

Parameters:
  • name (str)

  • advance (int)

  • description (str | None)

  • kwargs (Any)

Return type:

None

complete_task(name, success_message=None)

Mark a task as completed.

Parameters:
  • name (str)

  • success_message (str | None)

Return type:

None

add_error(message)

Record an error.

Parameters:

message (str)

Return type:

None

add_warning(message)

Record a warning.

Parameters:

message (str)

Return type:

None

show_summary(operation_name='Operation', additional_stats=None)

Show a summary of the operation.

Parameters:
  • operation_name (str)

  • additional_stats (Dict[str, Any] | None)

Return type:

None

niamoto.cli.utils.progress.create_simple_progress(description, total=None)

Create a simple progress bar for one-off operations.

Parameters:
  • description (str)

  • total (int | None)

Return type:

Progress

class niamoto.cli.utils.progress.OperationTracker(console=None)

Bases: object

Simple tracker for operations without progress bars.

Parameters:

console (Console | None)

start_operation(message)

Start an operation.

Parameters:

message (str)

Return type:

None

complete_operation(message)

Complete an operation successfully.

Parameters:

message (str)

Return type:

None

error(message)

Record an error.

Parameters:

message (str)

Return type:

None

warning(message)

Record a warning.

Parameters:

message (str)

Return type:

None

info(message)

Show info message.

Parameters:

message (str)

Return type:

None

show_summary(operation_name='Operation')

Show operation summary.

Parameters:

operation_name (str)

Return type:

None

Module contents

Utility modules for the Niamoto CLI.

niamoto.cli.utils.print_success(message, icon=True)

Print a success message in green.

Parameters:
  • message (str)

  • icon (bool)

Return type:

None

niamoto.cli.utils.print_error(message, icon=True)

Print an error message in red.

Parameters:
  • message (str)

  • icon (bool)

Return type:

None

niamoto.cli.utils.print_warning(message, icon=True)

Print a warning message in yellow.

Parameters:
  • message (str)

  • icon (bool)

Return type:

None

niamoto.cli.utils.print_info(message, icon=True)

Print an info message in blue.

Parameters:
  • message (str)

  • icon (bool)

Return type:

None