registry
Plugin registry and lookup functions.
This module provides functions for finding and using plugins to parse tool-specific progress from log files.
Classes¶
Functions¶
find_plugin_for_log ¶
find_plugin_for_log(rule_name: str, log_content: str, plugins: list[ToolProgressPlugin]) -> ToolProgressPlugin | None
Find a plugin that can parse the given log content.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
rule_name
|
str
|
Name of the Snakemake rule. |
required |
log_content
|
str
|
Content of the rule's log file. |
required |
plugins
|
list[ToolProgressPlugin]
|
List of plugins to search. |
required |
Returns:
| Type | Description |
|---|---|
ToolProgressPlugin | None
|
A plugin that can parse this log, or None if no plugin matches. |
Source code in snakesee/plugins/registry.py
get_all_plugins ¶
get_all_plugins(builtin_plugins: list[ToolProgressPlugin], include_user: bool = True) -> list[ToolProgressPlugin]
Get all available plugins (built-in, user file-based, and entry points).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
builtin_plugins
|
list[ToolProgressPlugin]
|
List of built-in plugin instances. |
required |
include_user
|
bool
|
Whether to include user plugins (file-based and entry points). |
True
|
Returns:
| Type | Description |
|---|---|
list[ToolProgressPlugin]
|
Combined list of all plugins. |
Source code in snakesee/plugins/registry.py
parse_tool_progress ¶
parse_tool_progress(rule_name: str, log_path: Path, plugins: list[ToolProgressPlugin]) -> ToolProgress | None
Parse progress from a rule's log file using available plugins.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
rule_name
|
str
|
Name of the Snakemake rule. |
required |
log_path
|
Path
|
Path to the rule's log file. |
required |
plugins
|
list[ToolProgressPlugin]
|
List of plugins to use. |
required |
Returns:
| Type | Description |
|---|---|
ToolProgress | None
|
ToolProgress if progress could be extracted, None otherwise. |