poka.sh

Docs

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