listcrunch
A simple human-readable way to compress redundant sequential data
What it is and what it does
ListCrunch is a lightweight data compression utility that encodes sequences of repeated values into a compact, human-readable string format. Instead of storing `[1, 1, 1, 1, 1, 1, 1, 1, 1, 2]`, it produces `'1:0-8;2:9'`, indicating that value 1 occupies indices 0 through 8 and value 2 is at index 9. The package provides two main functions: `crunch()` to compress and `uncrunch()` to decompress.
With zero runtime dependencies and a pure-Python implementation, it installs with no friction. However, the project has not been maintained since 2020-06-15, meaning no bug fixes, security patches, or feature updates have been released in over 2251 days. The codebase is still available and the MIT license is permissive, but users should treat it as a stable snapshot rather than an actively supported tool.
Use it for:
- Compress log files or sensor data where consecutive readings are identical to reduce storage footprint.
- Encode sparse arrays or sequences with long runs of the same value for efficient transmission.
- Store game state or animation frame data where many frames repeat the same values.
- Deduplicate time-series data before archival or analysis.
- Create human-inspectable representations of repetitive sequences for debugging or documentation.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Compresses sequences of repeated values into a human-readable format and decompresses them back to their original form.
Yes, if you need simple run-length encoding with no external dependencies and can accept an unmaintained codebase. The permissive MIT license, low install friction, and zero security vulnerabilities make it safe to use in isolation. However, do not rely on it for mission-critical systems or expect updates—treat it as a stable utility for specific compression tasks where the format suits your data.
Install
listcrunch on PyPI
pip
pip install listcrunchuv
uv add listcrunchpoetry
poetry add listcrunchInstalling listcrunch
Before you install
No runtime dependencies and a pure-Python wheel make installation straightforward, but the package has been abandoned since 2020-06-15 with no maintenance activity for over 2251 days.
License in practice
MIT license permits commercial and private use with minimal restrictions, requiring only that you retain the license notice.
Quickstart
from listcrunch import crunch, uncrunch
compressed = crunch([1, 1, 1, 1, 1, 1, 1, 1, 1, 2])
# Returns '1:0-8;2:9'
original = uncrunch('50:0-1,3-4;3:2,5;60:6;70:7-8')
# Returns ['50', '50', '3', '50', '50', '3', '60', '70', '70']
Verify before relying
- Whether the compression format remains stable and suitable for long-term data storage
- Performance characteristics on large datasets or deeply nested sequences
- Compatibility with Python versions beyond 2 and 3 (classifiers list both but requires_python is unspecified)
Package facts
| License | not declared (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | abandoned — 2,251 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 257,757/month — #8,435 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: listcrunch-1.0.1-py3-none-any.whl
Tags
More Utilities packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
charset-normalizerDetects and normalizes text encoding from…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
PygmentsPygments is a syntax highlighter that colorizes…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
pcodecPcodec compresses and decompresses numerical…
unclear · top 15,000 on PyPI
stream-inflateDecompresses DEFLATE and DEFLATE64 streams in…
permissive · top 5,000 on PyPI
gzip-streamWraps streams to compress data on-the-fly using…
permissive · top 15,000 on PyPI
lzstringCompresses and decompresses text using the…
permissive · top 15,000 on PyPI
compressed-rtfCompresses and decompresses Rich Text Format…
permissive · top 5,000 on PyPI
ncompressProvides LZW compression and decompression…
permissive · top 15,000 on PyPI
python-neo-lzfProvides fast compression and decompression of…
permissive · top 15,000 on PyPI
texture2ddecoderDecodes compressed texture formats (BC, PVRTC,…
permissive · top 15,000 on PyPI
starlette-cramjamMiddleware for Starlette that compresses HTTP…
permissive · top 15,000 on PyPI
Flask-CompressFlask-Compress automatically compresses Flask…
permissive · top 5,000 on PyPI