SAV
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.
Battery Save Preview.
At a glance
| Purpose | An SPSS or PSPP system file (.sav): a statistical dataset with a dictionary of variables and the case data. |
| Extensions | .sav |
| Poka parser | poka-sav |
| Viewer | poka-tree-viewer |
| Depth tier | Parser with a shared viewer (see Depth tiers) |
| Breadth tier | B4 Summary (see Breadth tiers) |
How much Poka reads
B4 Summary. The container and metadata are read and summarised (counts, properties, structure), but the main content is not rendered.
Confidence: medium (the reviewer read the code). Basis: Reviewed 2026-10-26: read parsers/poka-sav/src/main.rs (405 lines) and plugin.json. No unit tests or tests/samples.rs; the corpus has sample.sav but no test reads it. Covers .sav, .srm, .sa0, .sa1, .sa2, .sa3 and .sa4. Code wins: FILE_FORMATS.csv describes SAV as a battery save, but the crate reads only SPSS system files ($FL2 or $FL3); the corpus sample.sav is an SPSS file. The tree shows product, file label, cases, variables, slots, compression, value-label, document and extension record counts, creation date and byte order, and lists every variable with type and label. Judgement: B4: the dictionary is listed but the data is not.
What Poka does not read
- Case data (the values) is not read
- Value labels are counted, not shown
- Missing-value definitions and print and write formats are not shown
- Extension records are counted, not decoded: long variable names, very long strings, the character encoding and variable display settings
- Text is decoded as UTF-8 whatever the file's encoding
- Battery saves (.srm, .sa0–.sa4 and game .sav files) are routed here but refused as not SPSS
- Files over 64 MiB are cut without a flag; an unknown record type ends the dictionary walk
Sources
- parsers/poka-sav/src/main.rs
- parsers/poka-sav/plugin.json