Skip to main content

Python interface to the CLP Core Features through CLP's FFI

Project description

clp-ffi-py

This module provides Python packages to interface with CLP Core Features through CLP's FFI (foreign function interface). At present, this library supplies built-in functions for encoding/decoding log messages using CLP.

Quick Start

Install with pip:

# Install the latest version
python3 -m pip install --upgrade clp-ffi-py

Note:

  • Python 3.6 or higher is required.
  • Only Linux and macOS are supported at present.

To install an older version or download the prebuilt whl package, check the project homepage on PyPI here.

Compatibility

Tested on Python 3.8, 3.9 and 3.10, and it should work on any Python version >= 3.6.

Building/Packaging

To manually build a package for distribution, run the following steps. This process will generate both .tar.gz package and .whl package under ./dist/ directory.

# 1. Create and enter a virtual environment
python -m venv venv && . ./venv/bin/activate

# 2. Install development dependencies
pip install -r requirements-dev.txt

# 3. Pull all submodules in preparation for building
git submodule update --init --recursive

# 4. Build
python -m build --outdir build/dist

CLP IR Readers

CLP IR Readers provide a convenient interface for CLP IR decoding and search methods.

ClpIrStreamReader

  • Read/decode any arbitrary CLP IR stream (as an instance of IO[bytes]).
  • Can be used as an iterator that returns each log event as a LogEvent object.
  • Can search target log events by giving a search query:
    • Searching log events within a certain time range.
    • Searching log messages that match certain wildcard queries.

ClpIrFileReader

  • Simple wrapper around CLPIRStreamHandler that calls open with a given local path.

Example Code: Using ClpIrFileReader to iterate and print log events

from pathlib import Path
from clp_ffi_py.ir import ClpIrFileReader

with ClpIrFileReader(Path("example.clp.zst")) as clp_reader:
    for log_event in clp_reader:
        # Print the log message with its timestamp properly formatted.
        print(log_event.get_formatted_message())

Each log event is represented by a LogEvent object, which offers methods to retrieve its underlying details, such as the timestamp and the log message. For more information, use the following code to see all the available methods and the associated docstring.

from clp_ffi_py.ir import LogEvent
help(LogEvent)

Example Code: Using Query to search log events by specifying a certain time range

from typing import List

from clp_ffi_py.ir import ClpIrStreamReader, LogEvent, Query, QueryBuilder

# Create a QueryBuilder object to build the search query.
query_builder: QueryBuilder = QueryBuilder()

# Create a search query that specifies a time range by UNIX epoch timestamp in
# milliseconds. It will search from 2016.Nov.28 21:00 to 2016.Nov.29 3:00.
time_range_query: Query = (
    query_builder
    .set_search_time_lower_bound(1480366800000) # 2016.11.28 21:00
    .set_search_time_upper_bound(1480388400000) # 2016.11.29 03:00
    .build()
)

# A list to store all the log events within the search time range
log_events: List[LogEvent] = []

# Open IRstream compressed log file as a binary file stream, then pass it to
# CLpIrStreamReader.
with open("example.clp.zst", "rb") as compressed_log_file:
    with ClpIrStreamReader(compressed_log_file) as clp_reader:
        for log_event in clp_reader.search(time_range_query):
            log_events.append(log_event)

Example Code: Using Query to search log messages of certain pattern(s) specified by wildcard queries.

from pathlib import Path
from typing import List, Tuple

from clp_ffi_py.ir import ClpIrFileReader, Query, QueryBuilder

# Create a QueryBuilder object to build the search query.
query_builder: QueryBuilder = QueryBuilder()

# Add wildcard patterns to filter log messages:
query_builder.add_wildcard_query("*uid=*,status=failed*")
query_builder.add_wildcard_query("*UID=*,Status=KILLED*", case_sensitive=True)

# Initialize a Query object using the builder:
wildcard_search_query: Query = query_builder.build()
# Store the log events that match the criteria in the format:
# [timestamp, message]
matched_log_messages: List[Tuple[int, str]] = []

# A convenience file reader class is also available to interact with a file that
# represents an encoded CLP IR stream directly.
with ClpIrFileReader(Path("example.clp.zst")) as clp_reader:
    for log_event in clp_reader.search(wildcard_search_query):
        matched_log_messages.append((log_event.get_timestamp(), log_event.get_log_message()))

A Query object may have both the search time range and the wildcard queries (WildcardQuery) specified to support more complex search scenarios. QueryBuilder can be used to conveniently construct Query objects. For more details, use the following code to access the related docstring.

from clp_ffi_py.ir import Query, QueryBuilder
from clp_ffi_py import WildcardQuery
help(Query)
help(QueryBuilder)
help(WildcardQuery)

Streaming Decode/Search Directly from S3 Remote Storage

When working with CLP IR files stored on S3-compatible storage systems, smart_open can be used to open and read the IR stream for the following benefits:

  • It only performs stream operation and does not download the file to the disk.
  • It only invokes a single GET request so that the API access cost is minimized.

Here is an example:

from pathlib import Path
from clp_ffi_py.ir import ClpIrStreamReader

import boto3
import os
import smart_open

# Create a boto3 session by reading AWS credentials from environment variables.
session = boto3.Session(
    aws_access_key_id=os.environ['AWS_ACCESS_KEY_ID'],
    aws_secret_access_key=os.environ['AWS_SECRET_ACCESS_KEY'],
)

url = 's3://clp-example-s3-bucket/example.clp.zst'
# Using `smart_open.open` to stream the encoded CLP IR:
with smart_open.open(url, "rb", transport_params={'client': session.client('s3')}) as istream:
    with ClpIrStreamReader(istream, allow_incomplete_stream=True) as clp_reader:
        for log_event in clp_reader:
            # Print the log message with its timestamp properly formatted.
            print(log_event.get_formatted_message())

Note: When allow_incomplete_stream is set to False (default), the reader will raise clp_ffi_py.ir.IncompleteStreamError if the stream is incomplete (it doesn't end with the byte sequence indicating the stream's end). In practice, this can occur if you're reading a stream that is still being written or wasn't properly closed.

Parallel Processing

The Query and LogEvent classes can be serialized by pickle. Therefore, decoding and search can be parallelized across streams/files using libraries such as multiprocessing and tqlm.

Testing

# 1. Create and enter a virtual environment
python -m venv venv && . ./venv/bin/activate

# 2. Install development dependencies
pip install -r requirements-dev.txt

# 3. Pull all submodules in preparation for building
git submodule update --init --recursive

# 4. Install
pip install -e .

# 5. Run unit tests
python -m unittest -bv

Note: If the package is installed from a whl file into the site packages, rather than installed locally (pip install -e .), the tester cannot be launched from the project's root directory. If unittest is ran from the root directory, the local clp_ffi_py directory will shadow the clp_ffi_py module installed. To run the tester with the installed package, try the following:

cd tests
python -m unittest -bv

Build and Test with cibuildwheel

This project utilizes cibuildwheel configuration. Whenever modifications are made and committed to GitHub, the cibuildwheel Action will automatically initiate, building this library for several Python environments across diverse OS and architectures. You can access the build outcomes (wheel files) via the GitHub Action page. For instructions on customizing the build targets or running cibuildwheel locally, please refer to the official documentation of cibuildwheel.

Contributing

Before submitting a pull request, run the following error-checking and formatting tools (found in [pyproject.toml]):

  • mypy: mypy clp_ffi_py
    • mypy checks for typing errors. You should resolve all typing errors or if an error cannot be resolved (e.g., it's due to a third-party library), you should add a comment # type: ignore to silence the error.
  • docformatter: docformatter -i clp_ffi_py tests
    • This formats docstrings. You should review and add any changes to your PR.
  • Black: black clp_ffi_py
    • This formats the Python code according to Black's code-style rules. You should review and add any changes to your PR.
  • clang-format: clang-format -i src/clp_ffi_py/**
    • This formats the C++ code according to the code-style rules specified in .clang-format. You should review and add any changes to your PR.
  • ruff: ruff check --fix clp_ffi_py tests
    • This performs linting according to PEPs. You should review and add any changes to your PR.

Note that docformatter should be run before black to give Black the last.

Additionally, the following tools can be useful during development. However, they cannot be installed using pip. Developers need to install them using other package management tools such as apt-get:

  • clang-tidy: clang-tidy --extra-arg=-std=c++17 PATH_TO_THE_FILE
    • This static analysis tool catches improper coding behaviors based on the rules specified in .clang-tidy, and sends suggestions corresponding to each warning. Developers should manually review all the warnings and try with their best effort to fix the reasonable ones.
  • bear: bear python setup.py build
    • This tool generates a JSON compilation database on the project's root directory named compile_commands.json. This file will be used by clang-tidy to execute the static analysis. It also helps IDEs to configure code completion (such as VSCode).

Project details


Download files

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

Source Distribution

clp_ffi_py-0.0.6.tar.gz (409.8 kB view details)

Uploaded Source

Built Distributions

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

clp_ffi_py-0.0.6-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (216.3 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

clp_ffi_py-0.0.6-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (233.8 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ i686

clp_ffi_py-0.0.6-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (212.1 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

clp_ffi_py-0.0.6-pp39-pypy39_pp73-macosx_10_15_x86_64.whl (137.5 kB view details)

Uploaded PyPymacOS 10.15+ x86-64

clp_ffi_py-0.0.6-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (216.2 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

clp_ffi_py-0.0.6-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (233.8 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ i686

clp_ffi_py-0.0.6-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (212.1 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

clp_ffi_py-0.0.6-pp38-pypy38_pp73-macosx_10_15_x86_64.whl (137.5 kB view details)

Uploaded PyPymacOS 10.15+ x86-64

clp_ffi_py-0.0.6-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (219.3 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

clp_ffi_py-0.0.6-pp37-pypy37_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (236.8 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ i686

clp_ffi_py-0.0.6-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (213.6 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

clp_ffi_py-0.0.6-pp37-pypy37_pp73-macosx_10_15_x86_64.whl (137.5 kB view details)

Uploaded PyPymacOS 10.15+ x86-64

clp_ffi_py-0.0.6-cp311-cp311-musllinux_1_1_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.11musllinux: musl 1.1+ x86-64

clp_ffi_py-0.0.6-cp311-cp311-musllinux_1_1_i686.whl (3.6 MB view details)

Uploaded CPython 3.11musllinux: musl 1.1+ i686

clp_ffi_py-0.0.6-cp311-cp311-musllinux_1_1_aarch64.whl (3.6 MB view details)

Uploaded CPython 3.11musllinux: musl 1.1+ ARM64

clp_ffi_py-0.0.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

clp_ffi_py-0.0.6-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (2.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ i686

clp_ffi_py-0.0.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

clp_ffi_py-0.0.6-cp311-cp311-macosx_11_0_arm64.whl (147.3 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

clp_ffi_py-0.0.6-cp311-cp311-macosx_10_15_x86_64.whl (154.8 kB view details)

Uploaded CPython 3.11macOS 10.15+ x86-64

clp_ffi_py-0.0.6-cp311-cp311-macosx_10_15_universal2.whl (287.9 kB view details)

Uploaded CPython 3.11macOS 10.15+ universal2 (ARM64, x86-64)

clp_ffi_py-0.0.6-cp310-cp310-musllinux_1_1_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ x86-64

clp_ffi_py-0.0.6-cp310-cp310-musllinux_1_1_i686.whl (3.6 MB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ i686

clp_ffi_py-0.0.6-cp310-cp310-musllinux_1_1_aarch64.whl (3.6 MB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ ARM64

clp_ffi_py-0.0.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

clp_ffi_py-0.0.6-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (2.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ i686

clp_ffi_py-0.0.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

clp_ffi_py-0.0.6-cp310-cp310-macosx_11_0_arm64.whl (147.4 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

clp_ffi_py-0.0.6-cp310-cp310-macosx_10_15_x86_64.whl (154.8 kB view details)

Uploaded CPython 3.10macOS 10.15+ x86-64

clp_ffi_py-0.0.6-cp310-cp310-macosx_10_15_universal2.whl (287.9 kB view details)

Uploaded CPython 3.10macOS 10.15+ universal2 (ARM64, x86-64)

clp_ffi_py-0.0.6-cp39-cp39-musllinux_1_1_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ x86-64

clp_ffi_py-0.0.6-cp39-cp39-musllinux_1_1_i686.whl (3.6 MB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ i686

clp_ffi_py-0.0.6-cp39-cp39-musllinux_1_1_aarch64.whl (3.6 MB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ ARM64

clp_ffi_py-0.0.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

clp_ffi_py-0.0.6-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (2.5 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ i686

clp_ffi_py-0.0.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.5 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

clp_ffi_py-0.0.6-cp39-cp39-macosx_11_0_arm64.whl (147.4 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

clp_ffi_py-0.0.6-cp39-cp39-macosx_10_15_x86_64.whl (154.8 kB view details)

Uploaded CPython 3.9macOS 10.15+ x86-64

clp_ffi_py-0.0.6-cp39-cp39-macosx_10_15_universal2.whl (288.0 kB view details)

Uploaded CPython 3.9macOS 10.15+ universal2 (ARM64, x86-64)

clp_ffi_py-0.0.6-cp38-cp38-musllinux_1_1_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ x86-64

clp_ffi_py-0.0.6-cp38-cp38-musllinux_1_1_i686.whl (3.6 MB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ i686

clp_ffi_py-0.0.6-cp38-cp38-musllinux_1_1_aarch64.whl (3.6 MB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ ARM64

clp_ffi_py-0.0.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

clp_ffi_py-0.0.6-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (2.5 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ i686

clp_ffi_py-0.0.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.5 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64

clp_ffi_py-0.0.6-cp38-cp38-macosx_11_0_arm64.whl (147.4 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

clp_ffi_py-0.0.6-cp38-cp38-macosx_10_15_x86_64.whl (154.9 kB view details)

Uploaded CPython 3.8macOS 10.15+ x86-64

clp_ffi_py-0.0.6-cp38-cp38-macosx_10_15_universal2.whl (288.0 kB view details)

Uploaded CPython 3.8macOS 10.15+ universal2 (ARM64, x86-64)

clp_ffi_py-0.0.6-cp37-cp37m-musllinux_1_1_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ x86-64

clp_ffi_py-0.0.6-cp37-cp37m-musllinux_1_1_i686.whl (3.6 MB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ i686

clp_ffi_py-0.0.6-cp37-cp37m-musllinux_1_1_aarch64.whl (3.6 MB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ ARM64

clp_ffi_py-0.0.6-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

clp_ffi_py-0.0.6-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl (2.5 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ i686

clp_ffi_py-0.0.6-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.5 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ ARM64

clp_ffi_py-0.0.6-cp37-cp37m-macosx_10_15_x86_64.whl (155.0 kB view details)

Uploaded CPython 3.7mmacOS 10.15+ x86-64

clp_ffi_py-0.0.6-cp36-cp36m-musllinux_1_1_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.6mmusllinux: musl 1.1+ x86-64

clp_ffi_py-0.0.6-cp36-cp36m-musllinux_1_1_i686.whl (3.6 MB view details)

Uploaded CPython 3.6mmusllinux: musl 1.1+ i686

clp_ffi_py-0.0.6-cp36-cp36m-musllinux_1_1_aarch64.whl (3.6 MB view details)

Uploaded CPython 3.6mmusllinux: musl 1.1+ ARM64

clp_ffi_py-0.0.6-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.17+ x86-64

clp_ffi_py-0.0.6-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl (2.5 MB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.17+ i686

clp_ffi_py-0.0.6-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.5 MB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.17+ ARM64

clp_ffi_py-0.0.6-cp36-cp36m-macosx_10_15_x86_64.whl (145.5 kB view details)

Uploaded CPython 3.6mmacOS 10.15+ x86-64

File details

Details for the file clp_ffi_py-0.0.6.tar.gz.

File metadata

  • Download URL: clp_ffi_py-0.0.6.tar.gz
  • Upload date:
  • Size: 409.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for clp_ffi_py-0.0.6.tar.gz
Algorithm Hash digest
SHA256 5c9d9d14ce7c912bf5f14b4f9e731a74db0a2f086965b40b5a03655c86eb4cc8
MD5 ac8359d0b2e11d22085d4dcbdb35ec13
BLAKE2b-256 07f822b044551ec57cbb48b916f76380e951fc0260be7f9584bfdebf6aba9814

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.6-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.6-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 578368ad87117c0d902772de7dd0c491909e37c9cc21ed5a11bb97878766887a
MD5 86406b43f8e4013ae9053450bf54658e
BLAKE2b-256 09498ffea6f9396d8ca70612f09f63c0bc4532c05f58605779537e413b66e1b6

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.6-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.6-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 463402ee866557ab9a79b6cddb4ccf8f614a584e38a50f0c10715dcf1adf440c
MD5 aa70c75ea12edc7593306689f38f777e
BLAKE2b-256 fefb34ad3d839b2b3f726f15f386a6f6dee39253bc6c6e28da6244075921abe5

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.6-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.6-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6fd8fff6f46c3a2c45f34332e06f8f3564d1d2a52ad33ce100112561b57e5e32
MD5 5f834746f574ff9ef7faf4a8e61a9f02
BLAKE2b-256 160b9034bb556d749535baee4f1cfcac8cb27fbfb28e8a9a751d82354881ce00

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.6-pp39-pypy39_pp73-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.6-pp39-pypy39_pp73-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 f2f0682d5a480a69a778d998bc45a0c272c32538b50dd92afcc0353e86b8c1c5
MD5 27fe6aaee4d81d1de9fd2516f21d7aeb
BLAKE2b-256 f9263918fbc3b71201e494bccfcf36f466e48f0d3b7f285f816572167af028fb

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.6-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.6-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 02d1689bdc0bac9490bc5e5701137828621ddf4ac38c739da91ac33fc75fd08f
MD5 e79bb9784e0b9aa95bce061602cee30c
BLAKE2b-256 11955786d6db7206f42d0e646bc7ca544bb50be7056e5efe49b8f3d2f209178b

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.6-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.6-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 cdef50201951a8ce90acae291a42d54395e281ec85c7e44fbb768da9de105daf
MD5 166d9b7dd0ef737c9c5e88933e032a9b
BLAKE2b-256 8d64d6f72a2e8e46c77bb9fdbffea39aea1a72ea238750e5a4dce7a15421ba48

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.6-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.6-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 39d9dbc49a70dc1fdaddb62ba218d4f6a7e132abfeba3195043d387806d79ca1
MD5 90fcb3e43905154cdfcee63ff2f4fc3c
BLAKE2b-256 bd62982c52f8c7c336e937bb75d5e561b95064cc919282563907c0c4eb637767

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.6-pp38-pypy38_pp73-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.6-pp38-pypy38_pp73-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 4c85bf89bb484d0dc8a5de446ef5f79181e2bc238ae0855c7016f613005b9c22
MD5 93d8704826b5511085910b8942ec60a1
BLAKE2b-256 02c110e1dec5611c19ecd4001e494792df8eed0d8b4fce2c64b8fba0a84a3355

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.6-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.6-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3bb530f0382868d3d0366f5685832d0492b60ddf7f3f83b2c383bd2c13d066ba
MD5 d345e332819bd4c629815765a07ca9a5
BLAKE2b-256 93dfc520e489664242b3bc7c83aeaa12f23509d96aee66ef4d74613f2e375fa8

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.6-pp37-pypy37_pp73-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.6-pp37-pypy37_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 693f2f4722cb5a4cdf34a74fb03831634dd94ba27a816d5fd6f0ca8d3691a057
MD5 71074b7a6ae46486d36b2852a97dbfe8
BLAKE2b-256 c2c4d1b4cbf2dd36a29dfcac69aa657a48331535ec69348709fe82bc7eb5659f

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.6-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.6-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4d4bb075ff4b82fa0be7a9d222afb38d8217b6de45b6d8e9232ca153c3644224
MD5 79d1f54df20c957ff762fefc67217933
BLAKE2b-256 b841beba3aa1a6fcc1ee4fb7bdfbec2b7563e86b7c01b12983ae3ec5fed2050d

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.6-pp37-pypy37_pp73-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.6-pp37-pypy37_pp73-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 aabf5307bececec9b1dc2b0eca6ef6dab5cf7e2a6e115079164a1f4fe3e104fe
MD5 5378c608a72a08e4e53cf68139f08b7d
BLAKE2b-256 aecd829c5021d5878c59e2f770d15dfb54378158035a387bdbf1c34f4913f604

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.6-cp311-cp311-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.6-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 bc3b0ea90e890757c0a98eec4d12caafbe51d602fad071ee1d35e969995b5397
MD5 470a3d4824edc2fe5b1f9d5a074250b1
BLAKE2b-256 a0bd854d312141eb7f8ce87526e05a767b7dbbcaa770b2e46a6dade770acc888

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.6-cp311-cp311-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.6-cp311-cp311-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 22213200b0fa6f3b107f1d088ee82df60f2b52250a8b90d05e571907186dabe0
MD5 5e554fabc40492c5909a674e900f7696
BLAKE2b-256 64ace247c9f31d1e93456f4777701cb11f8b7db5e8892f209f9912e2fdf7f993

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.6-cp311-cp311-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.6-cp311-cp311-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 cd9bffe7d18bc943dc46f621eea3bafe51f4419cdd11d5f8c9d60bfde60c7bb2
MD5 0fe7e8324e5f717546d16015f65ddcd7
BLAKE2b-256 f58709a3efc764c2b85c71424dc9d8be4e8f2ce58b3d445cfccadda0dd3118ad

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 791f228e90a2adbb00c0ccd159843f6b9c49c80a3266d9e940b210c6346564ec
MD5 335ebd1ab8b382cbd430bd0f40b9347b
BLAKE2b-256 a512cc897dc8bc5931d3892dcfe663982950c8218ccf4f217c70638ea7ad64a0

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.6-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.6-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 e0dc2e66e7c1a50a0f32f80ba654b97a3d639c4f99651653bcc9f9a1255d6bb9
MD5 9884dfcc07543048c974fb40181a1d84
BLAKE2b-256 1fbbdd77257284b1f3e5e2beb907e0e4517f28ca832534ddfd455e904765441e

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 45e79c7d6ed787494383f01fd3f195d9cea73002a4b7b421f7d86c8e624fe186
MD5 70f2f8908319247f3d50f76e469b2b82
BLAKE2b-256 466bf87df922d10844213412139de02e450de86f256d076e0e41d0c9aa73ae8e

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.6-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.6-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 452830a88f70f6d78c926c4c782187a0c62e2e8165fb965dc7674a689eac22cd
MD5 f1ee4fae6d3425f78c1c65c32ba4cd7b
BLAKE2b-256 e86ac235e90c414f7eb30c9c56ffc1adc80139c850ec420121fe43dc99a0e7e9

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.6-cp311-cp311-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.6-cp311-cp311-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 675c33907b1832025eebe91cc6929dd191f7ba03a5f30c31ddcb98c25aa1fc69
MD5 75d3de613fd1887a8cfd833141e4b5e1
BLAKE2b-256 e106c53d3fb809cc26054be4c8ba0616b7a23289774e5f281d732c2600fa0276

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.6-cp311-cp311-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.6-cp311-cp311-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 f81f3960a708722b198dfe6ee798b471bc4ebd3632bfada820aeb2e743e19b1d
MD5 d6de8de2787e073bf91c5f17006c8cd4
BLAKE2b-256 35a356cff6aa0f1581ffea8875a559914f1553026a80650ea40a1d7b62f7a7b4

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.6-cp310-cp310-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.6-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 57d48caf9702d563f20e367335b7fadbf7397048785ebabf3412031b895cc9b5
MD5 95955439298396d43142e185be766676
BLAKE2b-256 c6977a2fe30be0c498952959d5b854767dbe706354d1c73339bf6305f4e7c5a2

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.6-cp310-cp310-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.6-cp310-cp310-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 a58d8aa82f7d939c985a4b2cbe88f6e3706d1ce94d6bfb09b8a1c159f459bc49
MD5 aca0c4971f1f4a6d400583e7cb7c6b9e
BLAKE2b-256 0e80ca5cbc15c2654d074f5c722b77f5222799b63191b42d74dd16fba2e338b5

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.6-cp310-cp310-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.6-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 d11ef9592668e48777b26c14564d0e314dd4b7ab49a62f3ec5893cd4a1e9c091
MD5 a88095d1f40e941030929dc7155e2451
BLAKE2b-256 e6bcadadfbe38bd201262be80764486dfee08292fe4e3bb1058c56c2df3416ca

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 db6335923a5d7b6fbfd188bb2a23c16ce4168b6b325363400ff4324559537e2f
MD5 3b38e363600e2f942a03bab593750f9f
BLAKE2b-256 e0775e887f56360b34dafa0ad919d9619f4d8731dde31a56bf340b55026bc5ca

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.6-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.6-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 d857854fae3262c54406dd0a12e25668c442f9710d94c99ec45238ffd04ff134
MD5 02162b46f0440c739e5fda2e1528bbbf
BLAKE2b-256 dab41832bdaaec90e6cc7b38f9daf1897cda8053ff3c227614d19dde161f49b0

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1970fcefdf7cf35a48de1ffac35c6eb4eb992d46164fd7c654a08dc844c672ee
MD5 a21b7bf8882ea48a67d52a53ceb1309b
BLAKE2b-256 92fde5dac459a8c9fbda716fec2051a0ff445bae7e996af0b36f3e14e8917dbe

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.6-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.6-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ce7192f1f702e593b73a3daa470cddc23ae27c936687c949692b3ba31b5426a4
MD5 141b2605e5d03ad90f0877a18ce45008
BLAKE2b-256 508597f3e87fca36993d9d9ffc852c94c0ab8d19c3d8b9b7c38a7768c5e2ee2d

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.6-cp310-cp310-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.6-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 075fe539bd28025ab7c623ca1d907fda3e00e28a1b3a63cd08541097b98cfe84
MD5 57a5bf20bd0841872a31f07d0162212b
BLAKE2b-256 7adb1b451cc28ba95fba0f64ba6b5ea218551cbf521bd0e88e8e135d54165a5e

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.6-cp310-cp310-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.6-cp310-cp310-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 3a015ecb1f2fe86971c5cd4f26081b2ff0b9b56f8519caa23655dc755292b3b1
MD5 ae4ac2cc3543765d1a51ad2c82a3ad4e
BLAKE2b-256 f564325464d9b64732fb17dc06fd6e536081bb9369591a467ad4180dff3eb5fa

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.6-cp39-cp39-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.6-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 838180dfdd8f3640e45ac7fed6ea89f738d0617ae194669ac50f443bbe69abb6
MD5 9db218616ea402b60d3cccbebf95b6f1
BLAKE2b-256 deaf94595c7dc8e6903ddca46a147516a1ebe44a6298c9b87bfd664fbeecea17

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.6-cp39-cp39-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.6-cp39-cp39-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 f7c4716d65cb9e9356fdb37344e7d232ce92921ceca79755eb3c5fe0d801ac64
MD5 03720ef2953313a092fe8439de9ba6e3
BLAKE2b-256 0b2c0c22c807bc198c6f11d1df2132a60aa2bef0605911ee7eb26f647d435a19

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.6-cp39-cp39-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.6-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 d4cf0066c83afa9a60287d80045033067c10a80a9e90a96950a699f767571534
MD5 8bce2803092e866f6c18bdb41d1d8ea2
BLAKE2b-256 c3a000dbe2738310e6e5aa40b4d820adb30ea8f9030af6134a2c12713a240cfd

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8461e618bb8ec9ea336b441a3c716053de658755b702d3ff73d65a939238ecef
MD5 a5ab5c583dd252b7b57098b17e6ae1ce
BLAKE2b-256 2c5b731a1d75e85ce9625bf004b59f190332ba29a55a87637d4648d62304613b

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.6-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.6-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 779c679cc5c941282c99c9a66f943666bbc7cb1ce47a93f6749e857523be9094
MD5 570f6e2d21fa171f234ee1a046502f8d
BLAKE2b-256 b85baf11b938b97b94cad467c8c73b63c2e974841c54378c0f1cf884b8764685

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9386f39da30a42ffcebb37ede1c0825d05d17fe0e5de4ced68f1523da87d782c
MD5 cf06ee70d67bb87ba615115feecee029
BLAKE2b-256 91366d98c69f2413de344436e693cb3a9dceb0cdfacf87184357eae7d2a55fe4

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.6-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.6-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f1933ab53eaa45e681c2f651a2f2da91be8eaaa36049c7b2ff645b3b46152d13
MD5 f4cf45ad3f4ce0c07edd0d8e1d76dd49
BLAKE2b-256 f52fa4ab2a95ba331c0426c49d51875990afab34f4901119a912b25c24e34552

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.6-cp39-cp39-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.6-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 b723dffd8b06f1952521392447935c1b9ef17d7a801c8c0c73441a9f92fc7698
MD5 4dea3ab526e0f728ab6d10f8aa873628
BLAKE2b-256 8eeed77fc27c2f2d903ef9eea8806f1b6a969d9097620beb7e1aaed5a0db0dec

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.6-cp39-cp39-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.6-cp39-cp39-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 3737956ae6880fba7d8a5a6c793f868a21b0bdd38f0daeea59e71ff54909a5d4
MD5 66a6ca1a8f243cce380f2ab2c74dfa07
BLAKE2b-256 b9295b2d9343673f5d7d97a50f7f734a11805f54c02aaf2994db28487da608a8

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.6-cp38-cp38-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.6-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 b51f3f3fc4a7a8d40df756c7c952353a894b2b10c5ae47a53a1b1b3b709cfb73
MD5 0acb3b4bde10083faec35cc0d703ef26
BLAKE2b-256 473f61ff6096702b24f6596174487830b7bb465336459721d3f9d588a56a9729

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.6-cp38-cp38-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.6-cp38-cp38-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 51ec7d2e6d771366a01af6589d737ddd5292d7e89fa04405bbe98ba016c18727
MD5 89c40d0c3783b93829dc2e7ea8b3f5a8
BLAKE2b-256 45c3e3f4e29bf11a4fc4590de44efee571bce17fe537db6534a9e8146de1db92

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.6-cp38-cp38-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.6-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 4cc9e99d866e4af3629617bc846533368dc83e278e4f78737433cf82d3e9cc11
MD5 37494cfd94942b79df665b493f957c48
BLAKE2b-256 f9d418029995d4f4d4735be5a3b177046584fa4bb60b4d8477968680de777697

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 392afd07b1dcff5e98bc3afa86d195c1359404475bd5842ec67521e71c513efe
MD5 610e6f0fbe8eb3db59f94c5113e03fa0
BLAKE2b-256 f75e7d6e88c66596b9f5ee0384703562044173c7fe79d4c23af6b9280351684f

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.6-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.6-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 0b3f6e9b8ea3e3bb9b03a9b1db4260cb1b00029b28e425d758439008555b74bc
MD5 5edd989d026b3f342505470c88505648
BLAKE2b-256 77d7586d6a2f0306add0490b5dabb1cb8e581c7dd1d9a1da2bbfdc3951a6482e

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f2a2e39305452d56f19aad30d2db8f2fa1092ff84275076b0087ceaef743a5a9
MD5 5c9f2fd79cf0b5302f092561d437c10f
BLAKE2b-256 a060ba364b9f293a37824dea22a52297bdd985f6464c933ddd7f62cdf9e414d7

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.6-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.6-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 643e80d2dee033730a0930cf32144da242a26fac745fddaefc24735c2e830757
MD5 d9b96150c86cd15abe9d2b5fbd0f6108
BLAKE2b-256 a73abc492237ecc3e54b5e68272fbfb12006d34b75bd40db7ca93b38f798081c

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.6-cp38-cp38-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.6-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 6f16efe45cc80f46726b59e0939205070a074c570cec75e60a0b30a04ebafd8e
MD5 fe9bb015d15932f9c138c2ed08ebc1ad
BLAKE2b-256 08c2d99bdf7f5b6362f535e5495b784ab15a6e6f012466f02a5279d1bd4b0f33

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.6-cp38-cp38-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.6-cp38-cp38-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 7e9a3872eb5145aa8183b66e07bf11be6df3e48845c2e765f091f1afd4e13378
MD5 b7fea283b9bff674591c56051ade78df
BLAKE2b-256 3d0f48cdb6b4d836becc177ce6a36044bf536ed3d5852eb1a757080c1614d20e

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.6-cp37-cp37m-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.6-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 270b0f463b397dd2d4a9ca1cf54d74f279a1467730d2852662af5847d892a0a3
MD5 7eae8e9829fdcdaf6e4a28c6cd80cdf6
BLAKE2b-256 937a3308e1fc8d5284e382216f44e069a374ba7280a25c0c6e56c4d432fef98c

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.6-cp37-cp37m-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.6-cp37-cp37m-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 87de7e13f1f9b4b485498bcbe6900152df22fd894f6ec1971adc2828d2210aba
MD5 fb2839981762fb7f5b67ffe2c9703878
BLAKE2b-256 123cf4591fc5e4528442b134117174289436a3b7b1de9ec639a0cd8e1d9423b1

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.6-cp37-cp37m-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.6-cp37-cp37m-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 86eb404b3a027bf0cc1b408efe3ace8339a3b389bcd90546804cdf97982866b3
MD5 878004bc679468c960a8561ec4bd19c0
BLAKE2b-256 319257dbfa0a09cf812acfe279f87930ea62aa2ee99bec31c0c6716b21efe202

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.6-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.6-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ef990e939391c1e197ce2821502d0361e5c897b9ea0bed037c12b52be5599025
MD5 ae1047ad61d2a4c293b6ec1c450a7d2d
BLAKE2b-256 b956e2215f81db8ba34aa3f3409a0511981588f22516aa5a86bee4735a8797b1

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.6-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.6-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 9bee2f469b7ddb9b8161ebbc02860b0ca73b880bc4c5e24e0a0428bc1526dca6
MD5 8f3727cf5c9a1da73f8f045cd98e52dd
BLAKE2b-256 5349a90065e3df1b3700767eafbe4e847d5a9f43b16f6850fa89c553f08dcbb1

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.6-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.6-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4e1134b93bf2429eb12dad7c55e44eebcf9d67a0952acfb6e4bc6bb385d5cd50
MD5 348aef5123f1278e99c9bd2f05765261
BLAKE2b-256 715b1fec534844490fcc1debc3182528e16fe01be5ec17c18a4d11eb129f3344

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.6-cp37-cp37m-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.6-cp37-cp37m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 ad349b08f30cdd8790c2903b683a3623c8cd3d0b2580c6b5c08b121c8122e822
MD5 67bcb886e18c013602818ea787997653
BLAKE2b-256 28fe663dd895953ed84dd0a035af4867758e125aedcc754305a44a4d3fac0580

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.6-cp36-cp36m-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.6-cp36-cp36m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 f7613e1a61b285141f92d385d7c91cbf23d611224ba3fcc11e4534cda4b9e7a7
MD5 27c126295cf9c1ca25a3afc83da07936
BLAKE2b-256 c2ba101b55331dd9c0d3595dd653387c4eec75782aba794c42c7bb0b64a9d907

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.6-cp36-cp36m-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.6-cp36-cp36m-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 544a31cb21d936ce286ce4f04ee20e135f17962d37c420077808ee4664903609
MD5 31d966f191d03c53834d4ca9aa6c5e93
BLAKE2b-256 fed52310b9b8c390ff36961f1297fa53ced7102a7773b16c687d0206a2d45849

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.6-cp36-cp36m-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.6-cp36-cp36m-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 eaebfb2d666d94778c723f2cd25422033288d475772628c562065846d4afc3d3
MD5 79a789fca0eb19172bf6c67914b9784c
BLAKE2b-256 0c1b0d70862b9113afa85bb06a94df86305e4b1722fbde96a81cb22533bca4d0

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.6-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.6-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 67490e90f02d00f371059233b9a5e3d50be741fecac9c0585943cba9fafc011b
MD5 4417d4271e358e7b27b0dad83de2fb1a
BLAKE2b-256 9463c8dd8bddd1fb627087841c901e5eb66d0bc5a68e59df60062a3190a124f6

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.6-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.6-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 45a03348f8b5bd8e94f9428a23c5cbf31ebce10a8698b83dc47159dfdca51b56
MD5 aa0f784918350b8cd5b9dc9c2bd724e8
BLAKE2b-256 c2acb9eb4e86fabc02e2beec9f2381a81ebe5d2a840521f683649cd35b7a278b

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.6-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.6-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6a8d95feea77ddff3c4d39c1549707a126390745f911662e74f6b9b1bc10720f
MD5 03368a8532602849d50924c8a6c5f3c0
BLAKE2b-256 2364cb669784bb18eaa1ab1753c88b6fcac16b1fe154ca45dd7a768825921c9c

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.6-cp36-cp36m-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.6-cp36-cp36m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 f131e1dfeb5edfcaffd59da7c5c3b15d8ae333cd874fa193c575d372302484e1
MD5 90a49cd944366ffe6918b8c4384ef39d
BLAKE2b-256 d9e9cee2b5a7eefd70a52d19e3c04ce77f927920e1441ddca626fe3a29925100

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