Skip to main content

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

Project description

clp-ffi-py

PyPI platforms Build status Downloads Downloads

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 serializing/deserializing log messages using CLP.

[!IMPORTANT] This project is no longer built for Python3.6.

Quick Start

Install with pip:

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

Note:

  • Python 3.7 or higher is required.
  • Tested on Linux, macOS and Windows.

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

Compatibility

Tested on Python 3.7, 3.8, 3.11 and 3.12, and it should work on any Python version >= 3.7.

API Reference

The API reference for this library can be found on our docs hub.

Building/Packaging

To manually build a package for distribution, follow the steps below.

Requirements

  • A C++ compiler that supports C++20 and std::span, e.g:
    • clang++ >= 7
    • g++ >= 10
    • MSVC >= 1930 (included in Visual Studio 2022)
  • python3
  • python3-dev
  • python3-venv
  • Task >= 3.35.1

Build commands

  • Build a Python wheel incrementally:

    task
    

    The command above will generate both a .tar.gz and .whl package under ./build/dist/.

  • Clean up the build:

    task clean
    

CLP IR Readers

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

ClpIrStreamReader

  • Read+deserialize 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
from clp_ffi_py.wildcard_query import FullStringWildcardQuery, SubstringWildcardQuery

# 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(SubstringWildcardQuery("uid=*,status=failed"))
query_builder.add_wildcard_query(
    FullStringWildcardQuery("*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 a 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 FullStringWildcardQuery, SubstringWildcardQuery, WildcardQuery
help(Query)
help(QueryBuilder)
help(WildcardQuery)
help(FullStringWildcardQuery)
help(SubstringWildcardQuery)

Streaming Deserialize/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 CLP IR byte sequence:
with smart_open.open(
    url, mode="rb", compression="disable", 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:

  • Setting compression="disable" is necessary so that smart_open doesn't undo the IR file's Zstandard compression (based on the file's extension) before streaming it to ClpIrStreamReader; ClpIrStreamReader expects the input stream to be Zstandard-compressed.
  • 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, deserializing and searching 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.
  • gersemi: gersemi -i -l 100 --list-expansion favour-expansion CMakeLists.txt
    • This formats CMakeLists.txt. 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.

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.13.tar.gz (36.4 MB view details)

Uploaded Source

Built Distributions

clp_ffi_py-0.0.13-cp312-cp312-win_amd64.whl (116.5 kB view details)

Uploaded CPython 3.12 Windows x86-64

clp_ffi_py-0.0.13-cp312-cp312-musllinux_1_2_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.12 musllinux: musl 1.2+ x86-64

clp_ffi_py-0.0.13-cp312-cp312-musllinux_1_2_i686.whl (1.3 MB view details)

Uploaded CPython 3.12 musllinux: musl 1.2+ i686

clp_ffi_py-0.0.13-cp312-cp312-musllinux_1_2_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.12 musllinux: musl 1.2+ ARM64

clp_ffi_py-0.0.13-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (213.1 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

clp_ffi_py-0.0.13-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl (230.5 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ i686

clp_ffi_py-0.0.13-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (207.2 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

clp_ffi_py-0.0.13-cp312-cp312-macosx_11_0_arm64.whl (126.0 kB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

clp_ffi_py-0.0.13-cp312-cp312-macosx_10_15_x86_64.whl (138.3 kB view details)

Uploaded CPython 3.12 macOS 10.15+ x86-64

clp_ffi_py-0.0.13-cp312-cp312-macosx_10_15_universal2.whl (245.7 kB view details)

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

clp_ffi_py-0.0.13-cp311-cp311-win_amd64.whl (116.5 kB view details)

Uploaded CPython 3.11 Windows x86-64

clp_ffi_py-0.0.13-cp311-cp311-musllinux_1_2_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.2+ x86-64

clp_ffi_py-0.0.13-cp311-cp311-musllinux_1_2_i686.whl (1.3 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.2+ i686

clp_ffi_py-0.0.13-cp311-cp311-musllinux_1_2_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.2+ ARM64

clp_ffi_py-0.0.13-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (213.0 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

clp_ffi_py-0.0.13-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (230.3 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ i686

clp_ffi_py-0.0.13-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (207.0 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

clp_ffi_py-0.0.13-cp311-cp311-macosx_11_0_arm64.whl (125.9 kB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

clp_ffi_py-0.0.13-cp311-cp311-macosx_10_15_x86_64.whl (138.2 kB view details)

Uploaded CPython 3.11 macOS 10.15+ x86-64

clp_ffi_py-0.0.13-cp311-cp311-macosx_10_15_universal2.whl (245.5 kB view details)

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

clp_ffi_py-0.0.13-cp310-cp310-win_amd64.whl (116.5 kB view details)

Uploaded CPython 3.10 Windows x86-64

clp_ffi_py-0.0.13-cp310-cp310-musllinux_1_2_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.2+ x86-64

clp_ffi_py-0.0.13-cp310-cp310-musllinux_1_2_i686.whl (1.3 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.2+ i686

clp_ffi_py-0.0.13-cp310-cp310-musllinux_1_2_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.2+ ARM64

clp_ffi_py-0.0.13-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (213.0 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

clp_ffi_py-0.0.13-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (230.3 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ i686

clp_ffi_py-0.0.13-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (207.0 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

clp_ffi_py-0.0.13-cp310-cp310-macosx_11_0_arm64.whl (125.9 kB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

clp_ffi_py-0.0.13-cp310-cp310-macosx_10_15_x86_64.whl (138.2 kB view details)

Uploaded CPython 3.10 macOS 10.15+ x86-64

clp_ffi_py-0.0.13-cp310-cp310-macosx_10_15_universal2.whl (245.5 kB view details)

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

clp_ffi_py-0.0.13-cp39-cp39-win_amd64.whl (116.6 kB view details)

Uploaded CPython 3.9 Windows x86-64

clp_ffi_py-0.0.13-cp39-cp39-musllinux_1_2_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.2+ x86-64

clp_ffi_py-0.0.13-cp39-cp39-musllinux_1_2_i686.whl (1.3 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.2+ i686

clp_ffi_py-0.0.13-cp39-cp39-musllinux_1_2_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.2+ ARM64

clp_ffi_py-0.0.13-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (213.0 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

clp_ffi_py-0.0.13-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (230.3 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ i686

clp_ffi_py-0.0.13-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (207.1 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

clp_ffi_py-0.0.13-cp39-cp39-macosx_11_0_arm64.whl (126.0 kB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

clp_ffi_py-0.0.13-cp39-cp39-macosx_10_15_x86_64.whl (138.2 kB view details)

Uploaded CPython 3.9 macOS 10.15+ x86-64

clp_ffi_py-0.0.13-cp39-cp39-macosx_10_15_universal2.whl (245.7 kB view details)

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

clp_ffi_py-0.0.13-cp38-cp38-win_amd64.whl (116.7 kB view details)

Uploaded CPython 3.8 Windows x86-64

clp_ffi_py-0.0.13-cp38-cp38-musllinux_1_2_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.8 musllinux: musl 1.2+ x86-64

clp_ffi_py-0.0.13-cp38-cp38-musllinux_1_2_i686.whl (1.3 MB view details)

Uploaded CPython 3.8 musllinux: musl 1.2+ i686

clp_ffi_py-0.0.13-cp38-cp38-musllinux_1_2_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.8 musllinux: musl 1.2+ ARM64

clp_ffi_py-0.0.13-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (213.0 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

clp_ffi_py-0.0.13-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (230.3 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ i686

clp_ffi_py-0.0.13-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (207.1 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

clp_ffi_py-0.0.13-cp38-cp38-macosx_11_0_arm64.whl (126.0 kB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

clp_ffi_py-0.0.13-cp38-cp38-macosx_10_15_x86_64.whl (138.2 kB view details)

Uploaded CPython 3.8 macOS 10.15+ x86-64

clp_ffi_py-0.0.13-cp38-cp38-macosx_10_15_universal2.whl (245.7 kB view details)

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

clp_ffi_py-0.0.13-cp37-cp37m-win_amd64.whl (116.8 kB view details)

Uploaded CPython 3.7m Windows x86-64

clp_ffi_py-0.0.13-cp37-cp37m-musllinux_1_2_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.7m musllinux: musl 1.2+ x86-64

clp_ffi_py-0.0.13-cp37-cp37m-musllinux_1_2_i686.whl (1.3 MB view details)

Uploaded CPython 3.7m musllinux: musl 1.2+ i686

clp_ffi_py-0.0.13-cp37-cp37m-musllinux_1_2_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.7m musllinux: musl 1.2+ ARM64

clp_ffi_py-0.0.13-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (213.2 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

clp_ffi_py-0.0.13-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl (230.6 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ i686

clp_ffi_py-0.0.13-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (207.4 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ ARM64

clp_ffi_py-0.0.13-cp37-cp37m-macosx_10_15_x86_64.whl (138.2 kB view details)

Uploaded CPython 3.7m macOS 10.15+ x86-64

File details

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

File metadata

  • Download URL: clp_ffi_py-0.0.13.tar.gz
  • Upload date:
  • Size: 36.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.12

File hashes

Hashes for clp_ffi_py-0.0.13.tar.gz
Algorithm Hash digest
SHA256 ded24737f7d89c9e3b80342c2996200a87f4ec6b73ccc46eefd5e88fb51b6bb0
MD5 649bb2bace9e707bc47cdb26868c8008
BLAKE2b-256 f140a3b6eced2aa74a8d19a5c7b26c9e288a24919e56903b1b505efac6e57d48

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.13-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.13-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 d7c37b63887e38447157fef9b52eded10412751f506f0d653787ab791ae8769f
MD5 166f5b0eb022bbee7ffe96fb94f0d141
BLAKE2b-256 0f09cb71d26a2a23a943ca0d259e5be19f8b9be6b6355ae743d8949baba54fe1

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.13-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.13-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 177b0f3e06c5fc4121bf157afb9d8650d932a7691a26b779b85f470e1972c2f0
MD5 16c0c11db7bd71354cc06df07cdbd7f7
BLAKE2b-256 576d27f71645e224b4efc1cd316d0eb93f48ebe1973ede4356cf8cff43c6dcc6

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.13-cp312-cp312-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.13-cp312-cp312-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 cc660eace28b3edbd8e0599aefe59310253ca7795cae1a806502c018740a00b1
MD5 e1360bb209e3e933c4b9df2ef7f94ca9
BLAKE2b-256 a4a037165534aabffbb2a46fdb2b3e87975fca8ff2c0a6f2ba7e688fcd32cd93

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.13-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.13-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 a5f7af33c723dda86162175cdf964fce3b0213c46198584cd2fb7f0a5769a65b
MD5 9e7fbff6b9bc348e52dd0b05bcd37253
BLAKE2b-256 a13ef7f9460d402bec9155e49f5871ec168d38cc4381b5e3c60b97d23b15138f

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.13-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.13-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3ef7b0e58b64215ca2af76b2c7fadbce77d9ec6d389783be509823ed7719d9a3
MD5 a3f3482e3da19404181e9429e3f0a805
BLAKE2b-256 48fe1bb2af0816dd63449bd44e1d9a1adadd9a7e5921279ab30e5ea6c1b0f991

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.13-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.13-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 859d7eac6db4568076353accbc60bb71ee75904e9fbe2ffc3ebd8a2ebd713d1b
MD5 c23030cdc6caa8f6655d8bd9f3073dfe
BLAKE2b-256 e240f5a0e1693a2ac646924339d9df3f91180dbc8c59233e3b36de4070f9536c

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.13-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.13-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 bab6c6c0306fdd57346a4e6ddcd9224e85df201404fa7fc681a879db76c3eb6e
MD5 598458cd7c43215c59262648b7e02865
BLAKE2b-256 eb2288dbc2f79444679f1fef006e9d10adfacaacbb8f6c3b798dcecbc435a62b

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.13-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.13-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e9c6dd4816d52dd0904ff34b673a9ed4e7a6c22b4224e1df5aef2eb45692695d
MD5 ddfd62d4774ea6f5b63458bbb251fe01
BLAKE2b-256 688ef06fe4b53aa72b472da87cee61222cb16474e4251c5b312467c0b42eaee5

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.13-cp312-cp312-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.13-cp312-cp312-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 ae3310cd22c179950e185a627ce4f92d9167d7028ed5dcc0913a62681e634855
MD5 cdce70d681c98279c81309384abe0a3d
BLAKE2b-256 a0c51886109a8e89da470c5201b54f2df11274dab0030417e746fe62639775c1

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.13-cp312-cp312-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.13-cp312-cp312-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 6840abdbfb02b22f4353965f0b5c93df4a24a4e7e6e1c643008c784800b59b51
MD5 705b1e95843e8bd7d187eade392206b6
BLAKE2b-256 df13e7a6a6d22a398fff92f30741448369823ee00b9506d5a6c77fe6d34535eb

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.13-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.13-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 cf64f5ce5a86569ebdd787753a586b9e1ff8c8617e5c0ebbc2e9fb194bf167c1
MD5 a8f6004194f11b7624d16bc9eaf4e94d
BLAKE2b-256 4da555397aa0b4c86444176a8edf602798038c34987afd8c4515e1c55a2f4d7f

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.13-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.13-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 10772bc8c17146257cf23c5c0c49cb0331ccd3a1a457550d45e79313478e9eaa
MD5 4af6cc41d7eeb903da15dcd5e6549959
BLAKE2b-256 6b39b8aae85d2a60a92187fdadcd1686a83b6d7c38e5c6e15c77f0fb67464d77

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.13-cp311-cp311-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.13-cp311-cp311-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 1972378af5d998bdc15eab51415518ac7d13c973a7cc5d0422f923b4e6c19660
MD5 ebe010a0e40849013a129a09c8fee9d5
BLAKE2b-256 775c65e9d5e140e1d2b3aeaa42aa65eace85afe67dd8d9d7176fb8fee3076364

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.13-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.13-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 dd8ef3284e79ac517825e8949d6fb096a9e2a6c6fb453eefa57f37ae2a7d525d
MD5 defe4572069e6e20c1d8576e9b0bf800
BLAKE2b-256 967faf0675f7f779a2a91f75899fcef294fa3fcfcc1a2c28c5442878c0a6ca06

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.13-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 124f2872f7aaba2aa35271a94f350fab05919490469a26b36e382866611751e0
MD5 ec1f2653e8d4104612f4fcbfe724efc2
BLAKE2b-256 62e8c1b9ee781b94df5adebe159be1ff2076df44e022acc559a21e12584fdfb0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.13-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 6e862f5bf4c1bed8f6e1f6cb4988ba2ccfabae111c24868a471d844af8266b78
MD5 10b857775548839a39206e62598a12db
BLAKE2b-256 f569d9c8cdf01ff52dc9fcf8c19425904de297a2d6077f13eb8f93a6882592dc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.13-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c5b4653f7499b623e366944140de75ddfc412c5e6e740be405c69996d61549c0
MD5 62b570a68da3f4f2aacf24c8d0f0de04
BLAKE2b-256 9efa103e56b96467bf7fef2bf643a51b5db4b749d694b2d7c24d7fd07dbbeb1f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.13-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bf9a27df526890d4415870b2e493e6324dc30beb24535f89330df28c7ee9bff5
MD5 db1cf20cab63178285ecfae5a9a089a8
BLAKE2b-256 d3aa83befc1e145180d36b3fef290d02ad113ef3ad68bc33d2f2d21fc0a0846d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.13-cp311-cp311-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 5269b133a7838b8b8cce62a313e3ab2873c5bf09802fb81db5ee298ad2915e68
MD5 ea6d7878305cb80848e89a8ad092ec27
BLAKE2b-256 57c9127a506415514d209c45acd5aeeb447219b24fa7e19c6d4ed470b54b6fc4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.13-cp311-cp311-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 ff6c59d1fd2e01612779ff24b9f05a5b49da2175f9d9d9cefaf199622c369a3b
MD5 63560477b205858aab9da3f4f75f8d24
BLAKE2b-256 8cdda10b10576f15f923b4049c887164391e8e55ba4ea9f955b1a98e3bcafdf9

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.13-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.13-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 5394e84d4c04c1101f1876fec413492c5e1c31b863ddc5ac9baac78f8b977ec4
MD5 487a6c7950991ce46c65ce8fc86779a9
BLAKE2b-256 8764a8d3857a7438af005efc1e4a10272492fedab928ae6e19a5d10c7add6ad4

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.13-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.13-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9bf4fe8f28a9a7254379bbf3c5d80e31293dd55c19f2b54c442470b58ac674b8
MD5 0631991424f67ee25d5975f48a70d88e
BLAKE2b-256 ddcea6ab139a799f6cfc9e779cbb316c12d42402ad59e5ab4b5a5559bb3e9290

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.13-cp310-cp310-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.13-cp310-cp310-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 1ba7b4c7de1385a25520dfd456c4629299551b0ad09be59e54f1aeafe08bf36a
MD5 34cf2de5da8110cfdfecf990288545f4
BLAKE2b-256 332e5fc2b80bbc64f1e3f7730d440dfb09d9ea772ca9a21551f0da0562b94c31

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.13-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.13-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 76ca0f962f8f19190977dcda791847c19c1981a4dd69eb69d9b6dd07c8f6401b
MD5 65c8f90ab42157201e09fbc713c21be0
BLAKE2b-256 ff437699c22e332e5f0b1ce34c0b833c1a5f1fe59794c864169c17cb77d2aa6e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.13-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 24f880e1ca1e047e0a1ace7a7086bcbfdaa4565fd0d3795af47f181525927e6e
MD5 81c49f7a603ca7731330b4c2e271b8c0
BLAKE2b-256 25fae4d0a3e7013b00d3b4d3bf5923c3e81ec33049fc8ea5b6f6680a073ba804

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.13-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 dce334113a63d615e53b12bf3dbb6577b64b6d496a1c9a97c82ce7587d48467f
MD5 767b5268ef5d9f753f6daf352a10c8f9
BLAKE2b-256 287a4cbe81ecaa5f357555d7a0922926e0a3e067f6c64d8e76a33bf4b4aeddf0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.13-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e2c739ba2b965fef7095b4f05d6d84e20714062be965b602ee11f7b36f2ce778
MD5 78f4357b1dc77bd3821f2d02962e86c8
BLAKE2b-256 0cd1646a90bf688d03141a97e18bc5458287a1d9d3232f9b0f570f9d0b4f2c46

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.13-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ce25c116c447d1a5bce392635ba81745ecd262781a278185d60c4eef974f3fb7
MD5 39e1121d33e6fd5fe6ccd3c672dc4767
BLAKE2b-256 86ec84d4f968d5805ad95f4dfa3bfde60d1e90e08d9e87891d02ddeff7c6555c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.13-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 f12a44ace4dc665693f96b5d24392ef845f50490e4524b8d5677d1ce111a97cf
MD5 bf63c8e18910b3d149afdb2a8246018d
BLAKE2b-256 eaea841aec9441b7c486c2a5ae2dc41a2b4939a2697233aca0b22f2b9e1a340a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.13-cp310-cp310-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 6d91604e6cbda2519921de8d28abca57a26f9fa90f14c7b952b15fd898f95d0e
MD5 fc5e6492e1163bbc2202df629e3e2ff6
BLAKE2b-256 e99f14df99fd1e153717a1bb7113efa858f54d65933c66f2426bc99c1ad5d9f0

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.13-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.13-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 1d66f8f6e15a111a9690731b0581db7b998f17394e027deb1828539f418833b3
MD5 e2fd3ada66d3a8ee76b7c39b648185b1
BLAKE2b-256 0eb63c52a3e7d5b9b22992a36960fa0660a3e8c1a0dee804d5f929005a023e6d

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.13-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.13-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f20bc11792caeee45fcc97a813ad70c1453285315251be2a6f38bf76f3ff1bd7
MD5 80e1c586af3049d52888437c76441150
BLAKE2b-256 29363e94aca124aa535fcdf1a7bd7b51109aef74299c935c56517a74eac1d110

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.13-cp39-cp39-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.13-cp39-cp39-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 175e7796716a0ebff17254cab2ce5c09cac20fc17e8165944e1143e7618be4aa
MD5 82950331efc9826e60b82c65f9989597
BLAKE2b-256 f30010dff0c254c2aee7754fb5fa3f82cf166f8e89d0f6480eabb1646f9131e2

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.13-cp39-cp39-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.13-cp39-cp39-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 6986c9eecce7bdac9d9d3ab8882bfc4fd1ed396907f92966263a5d973515b6e2
MD5 2d6a7cc66b2a5fbe7b3cd3e770099d39
BLAKE2b-256 837f0f21cab56c8b7ed3be893326bcd5cd5bb6e2cd72cb86118c2bfdeae215b5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.13-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0274863a386a419ae33e447e00c178f691f3a91073caa19f32839ac01421d32a
MD5 4558df3dfd29f4f06471ad5affa467b0
BLAKE2b-256 e29076302d7bcd8eba7152dec02ac888573f511610beb26e81c7ad400ddac848

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.13-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 37bee6f16a82b1b61d97274087d8d9e96ab5addbb0847ecb827facc7901c3775
MD5 8791c252cad53775f6535f3e2a3263a9
BLAKE2b-256 22fa3ea8ec6430ddb9c2eca9436ef129d28b9642c5b34d495049c8c97f83c32f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.13-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 bdb2a86e7ffa78f0dff005ba280c92dea4310b767c57b1f8deb9e11fbac844f2
MD5 cab14c1b097db20d21998b7b4f9a2c5f
BLAKE2b-256 cbf4dcbf51495dd8b4718b76a2b62ad82ce0cef3a45e05722c91e87df00469c4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.13-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 103a3a7742f301809250a0494253308d8c57207ec4ccb256a7508755a061d42a
MD5 16bde5faaa7de4ea795b99136680bf9e
BLAKE2b-256 37ba4d276b0b3715d8606432ad756552f97fe64e78b5df3864a773bb676527cd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.13-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 98c17e238e119054b8ec635c169689517281f1262ec297e7343741e4050ad083
MD5 02645a8b0e27752b0af9d1e295122984
BLAKE2b-256 b085eb30e269d96450bf2c1867b6147780c109ecbc7d2d037ace6370e62d9263

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.13-cp39-cp39-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 5a39f94da2e68501d38607067b0815272c36fd31ea9ff881ff0b9c63b0c581fb
MD5 fe82b42d1a9d0c038b11b7b0d36239ec
BLAKE2b-256 1997812a2e301e457640dd23a3f96096dc524d5dfecfd32eda04f0525830967c

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.13-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.13-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 c0756d7bcddbe8143db6acf7d811725ed5d40ddb5c40f337f627c9dd260451b1
MD5 2ccf3b0ed2cd46bf4ec0c6496b65faef
BLAKE2b-256 27bef750f04d26e19f7218621b507fa1bb03577e89bdb428993d85275f786e40

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.13-cp38-cp38-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.13-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e4d6304c2b502bbc93ff51e28f4e45f2d8993a445df98e16a5b96497184f9771
MD5 1472ed4c782b9be82ea8eac19f26f59b
BLAKE2b-256 3321ba40b127dc92ef2209554a018054270aafb54b6ee1c5205b0cb1035dfecb

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.13-cp38-cp38-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.13-cp38-cp38-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 29cb47140bf6b6299954484c94bce639ca9231cb672943aded00bce86ee81db6
MD5 f11369e3922f8136189d2209da7e28af
BLAKE2b-256 cfa3cadb6efdb3ae504f33d3bcd2d962c6e79fab26edad77d19113aaa99148aa

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.13-cp38-cp38-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.13-cp38-cp38-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 76ed458aff406ea148d9cde1be46f36203186b47288093dfeeba2d5a152578df
MD5 b76cead1194959b647cc2e7d2461fdaa
BLAKE2b-256 ccfab98581822610433548df5750544af458351a1f86b6dd21c45c4135f0ace8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.13-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 65e2a6e05ed846320177e0257e897498941770896f1220727f383c9645772479
MD5 26e493a86e3eb95b877a1aafe790ccf6
BLAKE2b-256 9901f03d7210d94afe875a9759cc51f04a1dc141c76c26a4114af84a6af04096

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.13-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 f3abf29acb6db2a0bdfe1c40c7a51bf3c65b0482a97fccbb921d33bcc6aece76
MD5 bebd3037d0926873cf65dab9449ba19c
BLAKE2b-256 e228f9d6813494e5181347ebcec482a08a1a011b4f11c0ee73b946201f5e179a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.13-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0ccdbb80e871bcf51a0548ebdf41d2842cf7ebb92c68ff0039fe85a9d1188b43
MD5 1d70f76cf0ac06fbc29bf65a15eff1ed
BLAKE2b-256 61428e81e2f9cb447b40a8c0d6ae89756aa8fc708a91233b25ff57903a38d8bc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.13-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fe4df79b84a9bfdfe8f46834502e436374975c51b9fa121a372086924e74c1bd
MD5 c67ca43a3b9f636bd6ad22ae45f68a35
BLAKE2b-256 270a1d824e554a6e3e71946d9f3c2449e89d32ba881cfc65297536650b1c8eff

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.13-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 88a90b074bb9358d2a3a423d4266592a28c9fedf9c4c51d1461dfc99ab7bea5e
MD5 3ec848892ce846acdbc5abe6b33b386f
BLAKE2b-256 b2ad38b825fe7b479ac5cc3b108ec77a4abd40d865fdb42e933c385625b2882d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.13-cp38-cp38-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 9b21de482b6991a3e3488668221f7704aff4e99d4f30a5003ab3c16b5b19c3a0
MD5 3123cda72d0fd533007a9397dd2e20b6
BLAKE2b-256 3b50f6e944984f7b51e2c43c38173b942cc4c86cb9e2c4844fa2f1908e42e998

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.13-cp37-cp37m-win_amd64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.13-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 9844c53b085109960a045946c5bb92bbea4772bf07ccc7cfa79019db96f4e69d
MD5 8a57fbb79e598ec4112c7592cbda0753
BLAKE2b-256 35cc047440e071419110578b1b4406513c1c53dd08d6a7eee08d1df5808f5893

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.13-cp37-cp37m-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.13-cp37-cp37m-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 77bea97b92e666f9bb83b99b7098054d1128c98598ba7318eac5215f3abfe186
MD5 f8e097a99c184349dc71c6a659cc4b06
BLAKE2b-256 641dc01a5bcf13bc6b18a169696d8080823d8bc996e15688e0f66fa63ba47ca1

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.13-cp37-cp37m-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.13-cp37-cp37m-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 8387af472feb1dbe615e88c4cacba87d9769088d4ddbcb49b88e6453b84a831b
MD5 6dbc70c2bb93d283cb05d8bd0ccd0fb1
BLAKE2b-256 2ace59332a13a880fc253b7375ada81dc84483a3bc0b9e8a6e75b7ae437e93a7

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.13-cp37-cp37m-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.13-cp37-cp37m-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 3b694676c79e86c225a5ad41128ddef44e7e1ba74797b30e731b0e277345346d
MD5 a629f095e875828d3828b7eee466e9e3
BLAKE2b-256 b62dadd77181901830f6147c42145f2ec2601bc3691c032176e77843f62f3d55

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.13-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6933676ebf5403e0822708f5a8c2e04fc6752b3cd4377abc26ef709f7204755a
MD5 be7f2ec95dee3ff32ca1434106a16653
BLAKE2b-256 5c73a3eae3964f6d07f13d328933534a1aeb3130375082a14b379a4b05805d5f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.13-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 0137ddfe9082887941eec59b2d4775a5bc8924d4014a810babb4af58044e1f24
MD5 7dbb10c286ee06221852618ed25f1d5a
BLAKE2b-256 d2679ca7809374565baaab8ae5c284b8ec5ee4de1379d59ade20a4c60c4fbcd7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.13-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ea2eca3258f99ab7bc80e329e01fd057082d65de5ae1ec0b3a2ef9a5a254029f
MD5 202e00ead6681b20db59295d9fb6ff92
BLAKE2b-256 df4d99881faf2143634e8336ebe4a06a0083a245d88997dd3a86e90e9debf6c6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.13-cp37-cp37m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 4e49eec7e8afaa2e20515572f79ba9343dce007173033e1ad7869d7321d95b17
MD5 e7db2203e9b3885d30424dc629d74053
BLAKE2b-256 88e2c730da7b13f0b3d970e2221a6af78fd24b8279fa8dcd00bd446d6cbf4efd

See more details on using hashes here.

Supported by

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