Absorb smk_logging into pipeio as standardized Snakemake script logging
Problem¶
pixecog has code/utils/smk/smk_logging.py which provides structured logging for Snakemake pipeline scripts. It is imported by 43 pipeline scripts across preprocess/ieeg, preprocess/ecephys, and sharpwaveripple flows. Every project with Snakemake pipelines needs standardized script-level logging (not Snakemake's own workflow logging, but the logging inside each rule's script).
Currently this is a project-local utility that would need to be copied into every new pipeline project.
Proposal¶
Add a pipeio.logging or pipeio.smk_logging module that provides:
- Standardized logger setup for Snakemake rule scripts
- Consistent format with pipeline/flow/mod/rule context
- Integration with pipeio's log parsing (pipeio_log_parse)
Expose as an importable module (from pipeio.logging import get_logger or similar) rather than an MCP tool — this is a runtime dependency for scripts, not an agent tool.
Reference implementation¶
pixecog:code/utils/smk/smk_logging.py — imported as from utils.smk.smk_logging import ... by 43 scripts
Migration path¶
- Add module to pipeio package
- Update pixecog pipeline scripts to import from pipeio instead of utils.smk
- Remove pixecog:code/utils/smk/
Context¶
From pixecog cleanup — one of three legacy utilities identified as general enough for projio ecosystem.
Source context: pixecog¶
PixEcog (pixecog): Neuropixels and ECoG dataset and analysis
Recent commits:
2601c54 Cleanup: remove legacy tooling superseded by projio ecosystem (pixecog_mcp modules, RAG system, foam templates, workflow makefiles, context builder, dead CLI scripts)
1cdc964 Pre-cleanup checkpoint: update bib and docs subdatasets, indexio config v3
6429574 untrack
README:
type: readme
Quick Start for Collaborators¶
Follow this checklist to get started with Pixecog documentation and workflows.
🐀 Pixecog Project — Compact Overview¶
Core principles
- One immutable BIDS raw dataset (
raw/) as the canonical baseline - Each analysis pipeline ha