Store every column the smallest way that's still exact.
Whole-file compressors treat a table as one byte stream. at1 portfolio compresses each column with whichever of a portfolio of byte-exact transforms is smallest after the entropy coder, keeps every column independently addressable, and reconstructs the original file byte-for-byte with a SHA-256 trailer.
- column-by-column
- each column stored as its own smallest byte-exact form
- byte-exact
- SHA-256-verified; the file comes back identical, or it refuses
- random access
- read one column without decoding the rest
- money-friendly
- biggest wins on decimal and numeric data
Decimal / money columns
Prices, amounts, rates. Fixed-decimal numbers are turned into whole numbers under the hood, then packed — the single biggest source of the win, and still reformatted back exactly.
Numeric & ID columns
Order IDs, timestamps, counters. Stored as differences, runs, or downcast integers — whichever is smallest for that specific column.
Text / category columns
Repeated labels become a small dictionary; everything else is kept as-is. Never worse than storing it plainly.
Three commands
# compress a CSV -> addressable, SHA-verified, byte-exact container at1 portfolio encode data.csv -o data.at1pf # read ONE column back without decoding the rest at1 portfolio col data.at1pf amount # reconstruct the original file, byte-for-byte (verify it matches) at1 portfolio decode data.at1pf -o restored.csv at1 portfolio verify data.at1pf --against data.csv
Honest scope
The win scales with the numeric/decimal fraction of the table — finance and metered data compress hardest; free-text-heavy tables see less. If a column can't be reproduced exactly by a transform, it falls back to raw storage (never-worse), and the encoder re-checks byte-exactness before writing. Input is simple comma-delimited CSV.