pcodec
Good compression for numerical sequences
Decision gist · record as of 2026-08-14
Yes, with conditions. Install if you need specialized compression for numerical sequences and can verify the license terms in the repository. The package is actively maintained, has no known vulnerabilities, and offers a clean API. However, the undeclared license is a blocker for any project with legal compliance requirements; resolve that first. Also confirm that Python 3.10–3.12 wheels cover your deployment targets.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires numpy; compiled extension wheels are provided for Python 3.10–3.12 only.
- Medium install friction due to compiled wheels; prebuilt binaries available for Python 3.10–3.12 across macOS, Linux (x86_64, ARM, ARMv7, i686), and Windows.
- Active maintenance with a release 13 days old and recent commits.
License · maintenance · safety
(unclear) — License status is unclear—no SPDX identifier or raw license text is declared in package metadata. Verify the actual license terms in the repository before adopting in proprietary or copyleft-sensitive projects.
last release 2026-08-01 (13 days) · last repo commit 2026-08-08 · 495 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 120,385 downloads/mo, #12,027 on PyPI
Alternatives
Verify before relying
import numpy as np
from pcodec import standalone, ChunkConfig
nums = np.random.normal(size=1000000)
compressed = standalone.simple_compress(nums, ChunkConfig())
recovered = standalone.simple_decompress(compressed)- Actual license terms and conditions—metadata declares neither SPDX nor raw license text.
- Python version support beyond 3.10–3.12 (wheels not listed for 3.9 or 3.13+).
- Compression ratio and speed benchmarks relative to standard codecs (zlib, lz4, etc.).
- Whether lossless recovery is guaranteed for all numerical types or only specific dtypes.
What it is and what it does
Pcodec is a Python binding to a Rust-based codec designed specifically for compressing numerical sequences. It takes numpy arrays, applies a specialized compression algorithm tuned for numerical data patterns, and produces a byte string that can be decompressed back to the original array. The package exposes a minimal API: `simple_compress()` and `simple_decompress()` functions that handle the core workflow, plus configuration options via `ChunkConfig`.
The package depends only on numpy and is distributed as precompiled wheels for modern Python versions (3.10–3.12) across common platforms. Maintenance is active, with recent releases and repository commits. However, the license status is undeclared in the package metadata, which is a significant gap for adoption in commercial or legally sensitive contexts.
Use it for
- Compress large numpy arrays of floating-point or integer data for storage or transmission.
- Reduce memory footprint of time-series or sensor data in data pipelines.
- Archive numerical datasets with better compression than generic algorithms.
- Embed numerical compression in scientific computing workflows that already use numpy.
- Benchmark or compare specialized numerical codecs against standard compression libraries.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, with conditions.
Install if you need specialized compression for numerical sequences and can verify the license terms in the repository. The package is actively maintained, has no known vulnerabilities, and offers a clean API. However, the undeclared license is a blocker for any project with legal compliance requirements; resolve that first. Also confirm that Python 3.10–3.12 wheels cover your deployment targets.
Install
pcodec on PyPI
Before you install
Medium install friction due to compiled wheels; prebuilt binaries available for Python 3.10–3.12 across macOS, Linux (x86_64, ARM, ARMv7, i686), and Windows. Active maintenance with a release 13 days old and recent commits.
Requires numpy; compiled extension wheels are provided for Python 3.10–3.12 only.
License in practice
License status is unclear—no SPDX identifier or raw license text is declared in package metadata. Verify the actual license terms in the repository before adopting in proprietary or copyleft-sensitive projects.
Quickstart
import numpy as np
from pcodec import standalone, ChunkConfig
nums = np.random.normal(size=1000000)
compressed = standalone.simple_compress(nums, ChunkConfig())
recovered = standalone.simple_decompress(compressed)
Verify before relying
- Actual license terms and conditions—metadata declares neither SPDX nor raw license text.
- Python version support beyond 3.10–3.12 (wheels not listed for 3.9 or 3.13+).
- Compression ratio and speed benchmarks relative to standard codecs (zlib, lz4, etc.).
- Whether lossless recovery is guaranteed for all numerical types or only specific dtypes.
Package facts
| License | Not declared unclear |
| Python support | Not specified |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | 1 packagenumpy |
| Maintenance | Actively maintained 13 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 120,385 / month, #12,027 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
Evidence: pcodec-1.0.3-cp310-cp310-macosx_10_12_x86_64.whl; pcodec-1.0.3-cp310-cp310-macosx_11_0_arm64.whl; pcodec-1.0.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; pcodec-1.0.3-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl; pcodec-1.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; pcodec-1.0.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl; pcodec-1.0.3-cp310-cp310-win_amd64.whl; pcodec-1.0.3-cp311-cp311-macosx_10_12_x86_64.whl; pcodec-1.0.3-cp311-cp311-macosx_11_0_arm64.whl; pcodec-1.0.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; pcodec-1.0.3-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl; pcodec-1.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; pcodec-1.0.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl; pcodec-1.0.3-cp311-cp311-win_amd64.whl; pcodec-1.0.3-cp312-cp312-macosx_10_12_x86_64.whl; pcodec-1.0.3-cp312-cp312-macosx_11_0_arm64.whl; pcodec-1.0.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; pcodec-1.0.3-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl; pcodec-1.0.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; pcodec-1.0.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “numerical data compression”
- pcodecPcodec compresses and decompresses numerical sequences using a…
- bloscPython wrapper for the Blosc compression library, providing fast…
- numcodecsNumcodecs provides buffer compression and transformation codecs for…
Give your agent the search over MCP, or paste the wish link into any chat.
More Scientific/Engineering packages
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
pandas provides fast, flexible data structures (Series and DataFrame) for loading, cleaning, transforming, and analyzing labeled or relational data in Python.
scipy provides numerical algorithms for mathematics, science, and engineering—including optimization, integration, linear algebra, Fourier transforms, signal and image processing, and ODE solvers—built on numpy arrays.
scikit-learn provides a comprehensive Python library for supervised and unsupervised machine learning, including classification, regression, clustering, dimensionality reduction, and model evaluation tools built on NumPy and SciPy.
Install it if you need to train, evaluate, or deploy supervised or unsupervised learning models.
dill extends Python's pickle module to serialize and deserialize a much wider range of Python objects, including functions, lambdas, classes, and interpreter sessions, to byte streams for storage or network transmission.
Multiprocess is an enhanced fork of Python's standard multiprocessing library that uses dill for better serialization, allowing you to spawn processes with a threading-like API and share complex objects between them.
Install it if you use multiprocessing and encounter pickle serialization limits with lambdas or complex objects.
See also listcrunch · python-neo-lzf · ncompress · lilcom · descript-audio-codec · numcodecs · encodec · texture2ddecoder · astc-encoder-py · blosc