Snakemake interface for report plugins
This package defines the interface between Snakemake and its report plugins.
Plugins should implement the following skeleton to comply with this interface.
It is recommended to use Snakemake's poetry plugin to set up this skeleton (and automated testing) within a python package, see https://github.com/snakemake/poetry-snakemake-plugin.
from dataclasses import dataclass, field
from snakemake_interface_common.exceptions import WorkflowError
from snakemake_interface_report_plugins.reporter import ReporterBase
from snakemake_interface_report_plugins.settings import ReportSettingsBase
@dataclass
class ReportSettings(ReportSettingsBase):
myparam: Optional[int] = field(
default=None,
metadata={
"help": "Some help text",
"env_var": False,
"parse_func": ...,
"unparse_func": ...,
"required": True,
},
)
class Reporter(ReporterBase):
def __post_init__(self):
def render(self):
...