pretty_imports#

class ImportTask(module: str, attrs: tuple[str, ...] = (), message: str | None = None, weight: float | None = None, as_name: str | None = None)[source]#

Bases: object

A single staged-import task.

  • module-only: ImportTask(“pyqtgraph”, as_name=”pg”)

  • from-imports: ImportTask(“pkg.mod”, symbols=(“Foo”,”Bar”))

classmethod from_imports(module: str, *attrs: str, message: str | None = None, weight: float | None = None) ImportTask[source]#
classmethod module_only(module: str, *, as_name: str | None = None, message: str | None = None, weight: float | None = None) ImportTask[source]#
as_name: str | None = None#
attrs: tuple[str, ...] = ()#
property display_message: str#
property export_name: str#

Name under which the module will be exported (ignored for from-imports).

property has_attrs: bool#
property key: str#

Key for profiling/weighting (group by module).

message: str | None = None#
module: str#
weight: float | None = None#
discover_import_tasks(entry_file: Path) List[ImportTask][source]#

Recursively discover unprotected ClearMap imports starting from entry_file.

Rules:
  • Only column-0 imports

  • Only ClearMap.*

  • Order preserved by discovery

  • Recursive expansion via source files

  • sys.modules short-circuit

run_staged_imports(tasks: List[ImportTask], *, on_message: Callable[[str], None] | None = None, on_progress: Callable[[int], None] | None = None, target_namespace: Dict[str, Any] | None = None) Dict[str, Any][source]#

Imports modules in stages, with progress callbacks and persistent weights.

See ImportTask for details on how to specify each import.

Returns a dict {export_name: object}, where export_name is either:
  • task.as_name (for whole-module alias), else last segment of module name

  • or the alias/name for each entry in task.names (from-imports)

Parameters:
  • tasks (List[ImportTask]) – List of import tasks to be performed.

  • on_message (Optional[Callable[[str], None]], optional) – Callback for status messages, by default None.

  • on_progress (Optional[Callable[[int], None]], optional) – Callback for progress updates (0-100), by default None.

  • target_namespace (Optional[Dict[str, Any]], optional) – If provided, injects imported names into this dict (e.g. globals()), by default