pretty_imports#
- class ImportTask(module: str, attrs: tuple[str, ...] = (), message: str | None = None, weight: float | None = None, as_name: str | None = None)[source]#
Bases:
objectA 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