all2md.dependencies

Dependency management utilities for all2md.

This module provides utilities for checking and reporting on optional dependencies for various converter modules.

all2md.dependencies.get_all_dependencies() Dict[str, Dict[str, Any]]

Get all dependencies for all parsers and renderers from the registry.

Returns:

Mapping of format names to dependency info:

{
    "parser_packages": [(install_name, import_name, version_spec), ...],
    "renderer_packages": [(install_name, import_name, version_spec), ...],
    "has_parser": bool,
    "has_renderer": bool
}

Return type:

dict

all2md.dependencies.check_all_dependencies() Dict[str, Dict[str, Any]]

Check installation status of all dependencies for parsers and renderers.

Returns:

Nested dict with structure:

{
    format_name: {
        "parser_status": bool (True if all parser deps available or no parser),
        "renderer_status": bool (True if all renderer deps available or no renderer),
        "parser_packages": {package_name: is_installed},
        "renderer_packages": {package_name: is_installed},
        "has_parser": bool,
        "has_renderer": bool
    }
}

Return type:

dict

all2md.dependencies.is_valid_format(format_name: str) bool

Check if a format name is valid.

Parameters:

format_name (str) – Format name to validate

Returns:

True if format is valid, False otherwise

Return type:

bool

all2md.dependencies.get_missing_dependencies(format_name: str) List[Tuple[str, str]]

Get list of missing dependencies for a specific format.

Parameters:

format_name (str) – Format to check dependencies for

Returns:

List of (package_name, version_spec) tuples for missing packages

Return type:

list

all2md.dependencies.get_missing_dependencies_for_file(format_name: str, input_file: str | None = None) List[Tuple[str, str]]

Get list of missing dependencies for a specific format and file.

This function uses context-aware dependency checking to accurately determine which packages are needed for a specific file. This is especially useful for formats like spreadsheets where different file types (XLSX vs ODS) require different dependencies.

Parameters:
  • format_name (str) – Format to check dependencies for

  • input_file (str, optional) – Path to the input file for context-aware checking

Returns:

List of (package_name, version_spec) tuples for missing packages

Return type:

list

all2md.dependencies.generate_install_command(packages: List[Tuple[str, str]]) str

Generate pip install command for packages.

Parameters:

packages (list) – List of (package_name, version_spec) tuples

Returns:

Pip install command

Return type:

str

all2md.dependencies.print_dependency_report() str

Generate a human-readable dependency report with parser/renderer status.

Returns:

Formatted dependency report

Return type:

str

all2md.dependencies.suggest_minimal_install() str

Suggest minimal pip install for common formats.

Returns:

Pip install command for common formats

Return type:

str

all2md.dependencies.suggest_full_install() str

Suggest pip install for all supported formats.

Returns:

Pip install command for all formats

Return type:

str

all2md.dependencies.format_json_all_formats() Dict[str, Any]

Generate JSON output for all format dependencies with parser/renderer info.

Returns:

JSON-serializable dict with dependency information for all formats

Return type:

dict

all2md.dependencies.format_json_specific_format(format_name: str) Dict[str, Any]

Generate JSON output for a specific format’s dependencies.

Parameters:

format_name (str) – Format to check dependencies for

Returns:

JSON-serializable dict with dependency information for the format

Return type:

dict

all2md.dependencies.print_dependency_report_rich() None

Generate a rich formatted dependency report using tables with separate parser/renderer columns.

Notes

This function displays dependencies in a formatted table with color coding, showing parser and renderer availability in separate columns.

all2md.dependencies.print_dependency_report_rich_specific(format_name: str) None

Generate a rich formatted dependency report for a specific format.

Parameters:

format_name (str) – Format to check dependencies for

all2md.dependencies.main(argv: List[str] | None = None) int

Execute dependency management CLI.

Parameters:

argv (List[str], optional) – Command line arguments

Returns:

Exit code (0 for success, 1 for failure)

Return type:

int