SMK
Generated by scripts/gen-format-pages.py from docs/data/format-metadata/, FILE_FORMATS.csv and docs/formats-master.csv. Do not edit by hand: change the source, then run the script.
Snakemake Preview.
At a glance
| Purpose | A Snakemake workflow file (Snakefile or .smk): rules, inputs and outputs of a Python-based pipeline. |
| Extensions | .smk |
| Poka parser | poka-snakemake |
| Viewer | poka-text-viewer |
| Depth tier | Parser with a shared viewer (see Depth tiers) |
| Breadth tier | B2 Broad (see Breadth tiers) |
How much Poka reads
B2 Broad. The common content of the current and the common older versions is decoded. Some named features or versions are not, and are listed.
Confidence: medium (the reviewer read the code). Basis: Reviewed 2026-10-26: read parsers/poka-snakemake/src/main.rs (150 lines), plugin.json and poka-viewers' poka-text-viewer (plain text; it ignores the language hint). No unit tests or tests/samples.rs, and the corpus has no .smk and .snakefile sample. Covers .smk and .snakefile. The whole source is shown as text, under a summary line counting rule, checkpoint, wildcard_constraints, configfile and include directives and naming up to 8 rules. Judgement: B2, because the full text is shown; the gaps are presentation, limits and the heuristic summary.
What Poka does not read
- Shown as plain text without syntax highlighting
- Rule bodies (input, output, shell, run) are not read, so the workflow graph is not shown
- Included files and the config file are not followed
- The text shown stops at 200,000 characters and files over 8 MiB are cut (both flagged)
- Text that is not UTF-8 is decoded with replacement characters
Libraries
Libraries Poka uses or has assessed for this format, with the status, licence and language the registry records.
- tree-sitter-snakemake (candidate; MIT; JavaScript/C (tree-sitter); https://github.com/osthomas/tree-sitter-snakemake) — Tree-sitter grammar extending tree-sitter-python for Snakemake; small project, no releases shown.
- snakemake (candidate; MIT; Python; https://github.com/snakemake/snakemake) — Reference implementation; per its architecture docs the Snakefile parser is internal, not a standalone library.
- smk (candidate; LGPL-2.1-or-later; Rust; https://github.com/roarc0/smk) — A pure Rust library for decoding Smacker Video (.smk) files; v0.1.0, updated 2026-04-05; matched on lib.rs, not tested
Sources
- parsers/poka-snakemake/src/main.rs
- parsers/poka-snakemake/plugin.json