Draft:Pcodec
{{AFC submission|d|nn|u=Scenichill|ns=118|decliner=AllCatsAreGrey|declinets=20250416220310|ts=20250407033049}}
{{AFC submission|d|v|u=Scenichill|ns=118|decliner=Sophisticatedevening|declinets=20250406202110|small=yes|ts=20250406201015}}
{{AFC comment|1=
There is currently a redirect from the title of this draft. If this draft is accepted, the redirect should be deleted by an administrator when the draft is accepted, because the hatnote at the top of this page will take its place. AFC Reviewers: If you are accepting this draft, please tag the redirect as {{tl|db-afc-move}} or with Twinkle as G6. AFC move. Please leave the redirect alone unless you are accepting the draft.
You may ask about redirects and hatnotes at the Teahouse.
Robert McClenon (talk) 14:53, 8 April 2025 (UTC)}}
----
{{Short description|Codec for numerical sequences}}
{{Draft topics|media|computing|technology}}
{{AfC topic|other}}
{{For|the unrelated 2005-era malware|Emcodec}}
Pcodec or Pco is a lossless compression format and algorithm for numerical data. Its is open sourced under Apache 2.0 License. Its stated goal is to compress with high compression ratio and moderately fast speed.
|url=https://github.com/pcodec/pcodec
|title=pcodec/pcodec: Lossless codec for numerical data
|access-date=2025-04-06
|website=github.com
}}
Pco differs from LZ77 and LZ78 compression in that it applies "binning" to numerical values instead of matching exact sequences of bytes. These bins are then entropy coded.
Pco is the remake of an earlier codec named Quantile Compression or q_compress. Work on q_compress began in mid 2021, and Pco's first stable version was released in November 2023.
|url=https://github.com/mwlon/pcodec/commit/245c0f350c4dc4744ee6c530508cd459496ea41b
|title=basic algorithm - mwlon/pcodec
|date=2021-05-31
|access-date=2025-04-06
|website=github.com
}}
|url=https://crates.io/crates/pco/versions
|title=crates.io: Rust Package Registry
|date=2023-11-28
|access-date=2025-04-06
|website=crates.io
}}
Pco is used in other wrapping data formats such as Zarr.
|url=https://numcodecs.readthedocs.io/en/v0.15.1/api.html
|title=API reference - numcodecs 0.15.1 documentation
|access-date=2025-04-06
|website=readthedocs.io
}}
References
{{reflist}}