Skip to content

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

  1. Add module to pipeio package
  2. Update pixecog pipeline scripts to import from pipeio instead of utils.smk
  3. 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