skillfed

listcrunch

A simple human-readable way to compress redundant sequential data

listcrunch v1.0.1 257.8K downloads/30d#8,435 on PyPI0
Permissive license Abandoned released

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 listcrunch

uv

uv add listcrunch

poetry

poetry add listcrunch

Installing 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

License :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 2Programming Language :: Python :: 3

Tags

compress repeated datarun-length encodingsequence compressiondata deduplicationcompact sequential valueshuman-readable compression
compressiondata-encodingunmaintained

More Utilities packages