Skip to main content

LempelZiv-76 complexity engine

Project description

lzcomplexity: an entropy measures library

MIT python C++

lzcomplexity

lzcomplexity is a high-performance C++ library developed for complexity analysis using entropic metrics such as entropy density, effective measure complexity, and informational distance. The algorithms used to estimate the metrics employing Lempel-Ziv factorization (LZ76) [1]. The library provides efficient implementations for analyzing time series data, with applications in information theory, signal processing, and neuroscience.

Overview

The Lempel-Ziv complexity is a non-parametric measure of algorithmic complexity that quantifies the rate at which new patterns appear in a sequence. Unlike Shannon entropy, which assumes statistical stationarity and independence, LZ complexity captures the sequential structure and can estimate the entropy rate of ergodic sources asymptotically [2].

Key Features

  • LZ76 Factorization: Efficient computation of Lempel-Ziv complexity using the CaPS (Cache-friendly Parallel Suffix array) algorithm [3]
  • Entropy Density: Normalized entropy rate estimation based on LZ factorization
  • Effective Complexity: Effective measure complexity measures quantifying statistical dependencies between sequence halves
  • Information Distance: Normalized compression-based distance metrics for sequence comparison
  • Parallel Processing: Multi-threaded computation with support for multiple backends (OpenMP, Intel TBB, Cilk, or sequential fallback)

Theoretical Background

The LZ76 complexity c(S) of a sequence S of length n is defined as the minimum number of factors in a factorization where each factor is either:

  1. A symbol not previously seen, or
  2. The longest substring that has appeared earlier in the sequence

For a random sequence over an alphabet of size k, the expected complexity grows as n / log_k(n). The normalized entropy density h is estimated as:

h ≈ c(S) · log_k(n) / n

which converges to the true entropy rate for ergodic sources as $n → \infty$ [2].

Prerequisites

  • CMake version >= 3.5
  • C++20 compatible compiler:
    • apple-clang >= 14
    • clang >= 17
    • GNU >= 9.4
  • At least one parallel backend (optional but recommended):
    • OpenMP (default, widely available)
    • Intel oneTBB (bundled or system installation)
    • OpenCilk or Intel Cilk Plus
    • Falls back to sequential execution if none available

Prepare the Local Workspace

The project uses external submodules:

  • oneTBB: Intel's Threading Building Blocks for parallel computation (optional)
  • nanobind: Small binding library for C++/Python interoperability for the Python bindings
  1. Initialize the submodules:
git submodule init
  1. Clone the submodules into your local directory:
git submodule update --recursive
  1. Apply the oneTBB patch:
patch external/tbb/CMakeLists.txt patches/tbb.patch 

Build and Install

  1. Create a build directory and navigate to it:
mkdir build && cd build
  1. Configure the build process using CMake:
cmake -DCMAKE_BUILD_TYPE=Release ..
  1. Build and install the library:
make install

Documentation

After installation, access the command-line documentation via man pages:

man lzcomplexity
man lzdistance

To disable man page installation, use -DLZ_INSTALL_MAN=OFF during CMake configuration.

CMake Options

Build Configuration

Option Default Description
LZ_SHARE ON Build as shared library (.so/.dylib)
LZ_ONLY_LIBS OFF Build only libraries (lzcore, lzapp, lzdist) without executables
LZ_ONLY_CORE OFF Build only the core library
LZ_APP ON Build the lzcomplexity standalone application
LZ_DISTANCE ON Build the lzdistance standalone application
LZ_INSTALL_MAN ON Install man pages for command-line tools
BUILD_PYTHON OFF Enable Python bindings via nanobind

Parallel Backend Configuration

The library supports multiple parallel computing backends. By default, it auto-detects the best available backend.

Option Default Description
LZ_PARALLEL_BACKEND AUTO Parallel backend selection: AUTO, OPENMP, TBB, CILK, THREADS
LZ_PARALLEL_FORCE OFF Force the selected backend (fail if not found)
BUILTIN_TBB OFF Use bundled oneTBB instead of system installation

Backend Priority (AUTO mode):

  1. OpenMP - Default choice, widely available on most systems
  2. TBB - Intel Threading Building Blocks, excellent for fine-grained parallelism
  3. Cilk - OpenCilk or Intel Cilk Plus, good for divide-and-conquer algorithms
  4. Threads - Sequential fallback using std::thread utilities only

Examples:

# Auto-detect best available backend (default)
cmake -B build

# Force OpenMP backend
cmake -B build -DLZ_PARALLEL_BACKEND=OPENMP

# Force TBB with bundled version
cmake -B build -DLZ_PARALLEL_BACKEND=TBB -DBUILTIN_TBB=ON

# Force Cilk backend (requires OpenCilk compiler)
cmake -B build -DLZ_PARALLEL_BACKEND=CILK

# Sequential only (no parallelism)
cmake -B build -DLZ_PARALLEL_BACKEND=THREADS

macOS Note: For OpenMP on macOS, install libomp via Homebrew:

brew install libomp

Debug and Sanitizer Options

Option Default Description
ASAN OFF Enable sanitizers for debugging (Clang only)
ENABLE_ADDRESS_SANITIZER OFF Detect memory errors (buffer overflows, use-after-free)
ENABLE_MEMORY_SANITIZER OFF Detect uninitialized memory reads
ENABLE_UNDEFINED_SANITIZER OFF Detect undefined behavior

Example Usage

C++ Example

#include <lz/lempelziv.h>
#include <iostream>

int main() {
    // Create a symbolic sequence
    lz::sequence seq = "ABRACADABRA";
    
    // Compute LZ76 complexity (number of factors)
    auto complexity = lz::lz76Factorization(seq);
    
    // Compute normalized entropy density
    auto entropy = lz::lz76EntropyDensity(seq);
    
    // Compute effective complexity (excess entropy)
    auto effective = lz::lz76EffectiveComplexity(seq);
    
    std::cout << "LZ76 Complexity: " << complexity << std::endl;
    std::cout << "Entropy density: " << entropy << std::endl;
    std::cout << "Effective complexity: " << effective << std::endl;
    
    return 0;
}

Python Example

import lzcomplexity as lz

# Analyze a symbolic sequence
seq = "ABRACADABRA"
result = lz.lz76(seq)

print(f"LZ76 Complexity: {result.complexity}")
print(f"Entropy density: {result.entropy}")
print(f"Effective complexity: {result.effective_complexity}")

References

  1. Lempel, A., & Ziv, J. (1976). On the complexity of finite sequences. IEEE Transactions on Information Theory, 22(1), 75-81.

  2. Kontoyiannis, I., Algoet, P. H., Suhov, Y. M., & Wyner, A. J. (1998). Nonparametric entropy estimation for stationary processes and random fields, with applications to English text. IEEE Transactions on Information Theory, 44(3), 1319-1327.

  3. Khan, J., Rubel, T., Dhulipala, L., Molloy, E., & Patro, R. (2023). Fast, Parallel, and Cache-Friendly Suffix Array Construction. arXiv preprint arXiv:2305.07024.

Citation

If you use this library in your research, please cite:

@software{lzcomplexity_2025, 
  title={lzcomplexity: an entropy measurement library},
  author={Efren Aragon-Perez},
  url={https://github.com/pleros-ai/lzcomplexity}, 
  year={2025} 
}

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contributing

Contributions are welcome! Please feel free to submit issues, feature requests, or pull requests.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

lzcomplexity-0.9.15-cp314-cp314-musllinux_1_2_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

lzcomplexity-0.9.15-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

lzcomplexity-0.9.15-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

lzcomplexity-0.9.15-cp314-cp314-macosx_12_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.14macOS 12.0+ ARM64

lzcomplexity-0.9.15-cp313-cp313-musllinux_1_2_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

lzcomplexity-0.9.15-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

lzcomplexity-0.9.15-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

lzcomplexity-0.9.15-cp313-cp313-macosx_12_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.13macOS 12.0+ ARM64

lzcomplexity-0.9.15-cp312-cp312-musllinux_1_2_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

lzcomplexity-0.9.15-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

lzcomplexity-0.9.15-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

lzcomplexity-0.9.15-cp312-cp312-macosx_12_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.12macOS 12.0+ ARM64

lzcomplexity-0.9.15-cp311-cp311-musllinux_1_2_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

lzcomplexity-0.9.15-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

lzcomplexity-0.9.15-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

lzcomplexity-0.9.15-cp311-cp311-macosx_12_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.11macOS 12.0+ ARM64

lzcomplexity-0.9.15-cp310-cp310-musllinux_1_2_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

lzcomplexity-0.9.15-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

lzcomplexity-0.9.15-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

lzcomplexity-0.9.15-cp310-cp310-macosx_12_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.10macOS 12.0+ ARM64

lzcomplexity-0.9.15-cp39-cp39-musllinux_1_2_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

lzcomplexity-0.9.15-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

lzcomplexity-0.9.15-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

lzcomplexity-0.9.15-cp39-cp39-macosx_12_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.9macOS 12.0+ ARM64

File details

Details for the file lzcomplexity-0.9.15-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for lzcomplexity-0.9.15-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9bee8355d9dadefa7d8fab3492c6ed85874cec6f4986bbdf6a71d64d4eb99b21
MD5 80972a8fab64969af4712c1ce4101b8f
BLAKE2b-256 f5dc6316cb422b535ff5fe3227e3bfd2f5ca20c6798c9fd269d62ed0e4805a9d

See more details on using hashes here.

File details

Details for the file lzcomplexity-0.9.15-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for lzcomplexity-0.9.15-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e4b05c5e77bb2252bd85dc55fa6eaa738a9a91efeab0294c40a60e2e014f38ef
MD5 ab4db66327512806d61918c863e233ee
BLAKE2b-256 b55c7e74408552aadec598734d06bee2cc38835ae38f421fe3cccbd731e94b5d

See more details on using hashes here.

File details

Details for the file lzcomplexity-0.9.15-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for lzcomplexity-0.9.15-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 744aa5ce3e24baed48d6ded4ffc2e6be177ffe51ee05dfed839dfd8a07db4c2f
MD5 d43625077b7df0fa5448a3e9f899ea64
BLAKE2b-256 3c97225e325c0753e3de0d2ba52158d1bed11c84d5cec3a4703a5a0578a71521

See more details on using hashes here.

File details

Details for the file lzcomplexity-0.9.15-cp314-cp314-macosx_12_0_arm64.whl.

File metadata

File hashes

Hashes for lzcomplexity-0.9.15-cp314-cp314-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 b6de6ecd317bff3348ee8d86992bef92afa040957992bf68b3cbf8dd442e61df
MD5 d98a69ea1b63729133144545f06b32e1
BLAKE2b-256 6461121ffb705abea8c25880a82655210176cfd7408ae7978749ee2dbed26f11

See more details on using hashes here.

File details

Details for the file lzcomplexity-0.9.15-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for lzcomplexity-0.9.15-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 1c7f24a1c07ec1a504cc83922a74ab5dd7a4828613e9f329fa09516f1939f169
MD5 ae72d5cbe77e40fabb7a10c200728732
BLAKE2b-256 2503d866039dda94277cc33dd4aa9db9d4b9b411a24732d835022490bb30d64c

See more details on using hashes here.

File details

Details for the file lzcomplexity-0.9.15-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for lzcomplexity-0.9.15-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 53c5b6165fce373d31e6a8d4a8ac5b144b646ff1ef043a6714338f28c92049b2
MD5 891c91591185a7e4499375b53622e86d
BLAKE2b-256 d375ff8d6b91a307e2f4344949b175db90de9d385c7030d6c84bba4a994511c9

See more details on using hashes here.

File details

Details for the file lzcomplexity-0.9.15-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for lzcomplexity-0.9.15-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 199289c2693aaacc1a934d2b16315b77d878dfdb5f228f5dfcb18f060c20cbc1
MD5 dc4e67c0105273e9f8e00f9d8d0c0d4a
BLAKE2b-256 e462599e5c48982580326cf3f41512c0fe84668677251ee787e8ef6e8e2c2ea9

See more details on using hashes here.

File details

Details for the file lzcomplexity-0.9.15-cp313-cp313-macosx_12_0_arm64.whl.

File metadata

File hashes

Hashes for lzcomplexity-0.9.15-cp313-cp313-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 7a82923f5edeb29a510336e1bc7b622ead2f9e091441c9ed56a61627c8411f28
MD5 3c55eb07ff62a76ad88f0132749f4aaf
BLAKE2b-256 021973d01df75c436269aeabe8961c447bd8faea4c6081fb52c446cdc91d89bb

See more details on using hashes here.

File details

Details for the file lzcomplexity-0.9.15-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for lzcomplexity-0.9.15-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0fea64b9d325f275528f43aea86bfbc0cedb8d43151c9dcf59f9ad5fb132ee97
MD5 1835c408fc0d12161e24e1dc8b7f6ecf
BLAKE2b-256 a47a50a11d58a4b27a10226a888f840c7ef2dac3084024be7c83c4db30cd0942

See more details on using hashes here.

File details

Details for the file lzcomplexity-0.9.15-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for lzcomplexity-0.9.15-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d7608b7b6776f8801d14ca1029d87f1ad0eac4912f61e1d276ee761b6c882372
MD5 a9177b6a57ff4eb87cfe047a8dfae72f
BLAKE2b-256 fbdedb0b13906fc1cf47923533aa19641d94c2d2076e6cdd8262f4c82c3318fe

See more details on using hashes here.

File details

Details for the file lzcomplexity-0.9.15-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for lzcomplexity-0.9.15-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 95a41e01a4c6b68441ebfbc629661a481a4d736268ce114926018ec4b0c1bbdb
MD5 761d5d59d7a38af9063666c6c0458f17
BLAKE2b-256 3f5f1b74e4a0f8937d2ceffb83c137d25c5f7561b32bbab7dc618380465151fc

See more details on using hashes here.

File details

Details for the file lzcomplexity-0.9.15-cp312-cp312-macosx_12_0_arm64.whl.

File metadata

File hashes

Hashes for lzcomplexity-0.9.15-cp312-cp312-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 95a27cd7af954909be45a76a4a5af475df95735112b3b72ad28d017ffca7d9d8
MD5 3c0aeec5f6acf66bd95ca68e0b73df48
BLAKE2b-256 b7781ea94dce194648304e9baf11f6db266439d0e7ae46ae0e024ee2fa1c0ce5

See more details on using hashes here.

File details

Details for the file lzcomplexity-0.9.15-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for lzcomplexity-0.9.15-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 837426372b662806cb01d7c71d7ef4946f9a3d1fbe1e34d4db0ce1b0867d139b
MD5 7b8503d768a47fc15829e69b003e1468
BLAKE2b-256 e9daf3d2c9ca40a186421f8a7b3edce21ab7773ea46a271e4c1de37fe8e2b3fc

See more details on using hashes here.

File details

Details for the file lzcomplexity-0.9.15-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for lzcomplexity-0.9.15-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d13b26ff7341607980948b73831e43a95a43b0a1134a98cb50e1e4c7fdcb1508
MD5 46a008c3e43b17799188093c6ddd64ac
BLAKE2b-256 a942ada58f2842b6cae7359b123c9884ae939b58b3e4f284cdaba0bbd4d192f2

See more details on using hashes here.

File details

Details for the file lzcomplexity-0.9.15-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for lzcomplexity-0.9.15-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 87905b66065db30eeca27056ba8bffdc2ef8710cf3da13ea1300b87a2c0142fe
MD5 f43bd00bd9a8cfcc91a887b5f4b3a59e
BLAKE2b-256 e9a500ee7b51906907143233ea29710fd06b9df205216487c99c403c3d8c756e

See more details on using hashes here.

File details

Details for the file lzcomplexity-0.9.15-cp311-cp311-macosx_12_0_arm64.whl.

File metadata

File hashes

Hashes for lzcomplexity-0.9.15-cp311-cp311-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 cc198f0b64fadb37359bf0ad4263c4db9e42a99a736582fa6b6ad6a388468bf0
MD5 ce7f42b1773d2e1ac6e526394b734bcd
BLAKE2b-256 0223d07b23d81162ba6846ca51bd4dfecd5f80e9db153f595321660f34ddac08

See more details on using hashes here.

File details

Details for the file lzcomplexity-0.9.15-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for lzcomplexity-0.9.15-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 60e7805ffac9cbcaa8ba5c03d38fd301300ecaa90b3bd315acfabfd2b3a98f35
MD5 f1d9c71c44d833a82a1401cb8298cb3f
BLAKE2b-256 f9a6ec25435a1c656ee48853054313cd0f8bb241e3fcb2b9fadc6542a62725e5

See more details on using hashes here.

File details

Details for the file lzcomplexity-0.9.15-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for lzcomplexity-0.9.15-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 451192ec8b4e317455469aa0312bb10e6dfce890609ab4e9999e27f66403bca8
MD5 4934019df8ef32dacb9c154dd8f4b8e9
BLAKE2b-256 045868531c8f7a699d5618f511810511dfeb0c9df10806fe6c2647b0c054d42d

See more details on using hashes here.

File details

Details for the file lzcomplexity-0.9.15-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for lzcomplexity-0.9.15-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 940a8806e561294a94ae91640fb72faa10469389f7f50629f2ffa0e1dd4c1c6f
MD5 8a5b88d47031e3e8a973e7c9cf4578be
BLAKE2b-256 9991fb764a5e00afa7c3a52e08ab2c68c94d36e596e1173e609a8957d39eadfc

See more details on using hashes here.

File details

Details for the file lzcomplexity-0.9.15-cp310-cp310-macosx_12_0_arm64.whl.

File metadata

File hashes

Hashes for lzcomplexity-0.9.15-cp310-cp310-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 18d5dbb96073267089b105ece2b84b683b0d7914435fabce79f87c6b0f5891c8
MD5 ebb897b23b0cc09d5423849668e4c341
BLAKE2b-256 8fd6dbfc79ca78dc40cb7396d4d3773de05111caa9e96e82e0f7c65261e9e351

See more details on using hashes here.

File details

Details for the file lzcomplexity-0.9.15-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for lzcomplexity-0.9.15-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0394214ba1e793b518898fc0cba43772676df311061ab8307ffe2df1b5c8f66a
MD5 2445b5d6d3434d20cbb93eeb28094636
BLAKE2b-256 7460b288b2cd06df4d98f24521ee2ec4a96fbddddf15336d68d9050f58e5e828

See more details on using hashes here.

File details

Details for the file lzcomplexity-0.9.15-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for lzcomplexity-0.9.15-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 bff834da10aea58e6f42888317dc5e15d698d2b9bfddf475254d03ff65ff8521
MD5 b4e5c923fd653ab3c93c043bd26118e1
BLAKE2b-256 8fb3183c26186d2885a87af7d5d8810af5dc3e4754f2776daddb84122c09e67e

See more details on using hashes here.

File details

Details for the file lzcomplexity-0.9.15-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for lzcomplexity-0.9.15-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d0131ce733b4f616d5f0c32156eafd81c736c7e267d0dad8b1102ac5d934b1e1
MD5 b93999803a851af4fa02cd1a51399077
BLAKE2b-256 012e7171ac161ca6c091922b2eff2dffc74ef6b0bdb5d7930d669d4bb9a22102

See more details on using hashes here.

File details

Details for the file lzcomplexity-0.9.15-cp39-cp39-macosx_12_0_arm64.whl.

File metadata

File hashes

Hashes for lzcomplexity-0.9.15-cp39-cp39-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 8d60652bbd77fd234e145fdcab7cc0323fba7b6f2a5415f4e02eba176225d511
MD5 6628bca045c27756d08b37a8be83be36
BLAKE2b-256 c131e6a3a9bf85f894f397319b7496edd1ac48c4ecb569d7c6a12de9919baed1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page