Utility toolkit for omnibenchmark modules and snakemake workflows. Available for Python and R. Zero or near-zero dependencies.
| module | purpose |
|---|---|
logger |
Structured JSONL lifecycle event logging — drop phase-boundary anchors into a log file so downstream tooling can attribute profiler samples to named phases of a rule. Wire format spec. |
prof |
Parse and align profiler output (denet, Snakemake bench files) with logger events for per-phase resource attribution. (in progress) |
logger and prof are submodules of the obkit package:
from obkit.logger import init_logger, emit
from obkit.prof import ... # coming soonZero dependencies — pure stdlib.
pip install obkitobkit is a single package. Modules map to function-prefix groups:
logger_init() / logger_emit() for logger, prof_*() for prof.
This is idiomatic R — there are no submodule namespaces, but the
prefix makes the grouping explicit.
library(obkit)
logger_init("/path/to/logs")
logger_emit("align", "start")One dependency: jsonlite.
devtools::install("r/obkit")python/obkit/
logger/ # submodule: init_logger, emit
prof/ # submodule: (in progress)
r/obkit/
R/
logger.R # logger_init, logger_emit
prof.R # prof_* (in progress)
docs/
spec-logger.md
usage-logger.md
usage-prof.md
v0.1, pre-release. Wire format is stable; API may still shift.