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 Distributions

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

Built Distributions

clp_ffi_py-0.1.0b1-cp312-cp312-win_amd64.whl (171.1 kB view details)

Uploaded CPython 3.12 Windows x86-64

clp_ffi_py-0.1.0b1-cp312-cp312-musllinux_1_2_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.12 musllinux: musl 1.2+ x86-64

clp_ffi_py-0.1.0b1-cp312-cp312-musllinux_1_2_i686.whl (1.5 MB view details)

Uploaded CPython 3.12 musllinux: musl 1.2+ i686

clp_ffi_py-0.1.0b1-cp312-cp312-musllinux_1_2_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.12 musllinux: musl 1.2+ ARM64

clp_ffi_py-0.1.0b1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (340.8 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

clp_ffi_py-0.1.0b1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl (366.9 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ i686

clp_ffi_py-0.1.0b1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (326.6 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

clp_ffi_py-0.1.0b1-cp312-cp312-macosx_11_0_arm64.whl (201.9 kB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

clp_ffi_py-0.1.0b1-cp312-cp312-macosx_10_15_x86_64.whl (234.3 kB view details)

Uploaded CPython 3.12 macOS 10.15+ x86-64

clp_ffi_py-0.1.0b1-cp312-cp312-macosx_10_15_universal2.whl (416.9 kB view details)

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

clp_ffi_py-0.1.0b1-cp311-cp311-win_amd64.whl (170.9 kB view details)

Uploaded CPython 3.11 Windows x86-64

clp_ffi_py-0.1.0b1-cp311-cp311-musllinux_1_2_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.2+ x86-64

clp_ffi_py-0.1.0b1-cp311-cp311-musllinux_1_2_i686.whl (1.5 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.2+ i686

clp_ffi_py-0.1.0b1-cp311-cp311-musllinux_1_2_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.2+ ARM64

clp_ffi_py-0.1.0b1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (340.5 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

clp_ffi_py-0.1.0b1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (365.4 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ i686

clp_ffi_py-0.1.0b1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (326.5 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

clp_ffi_py-0.1.0b1-cp311-cp311-macosx_11_0_arm64.whl (201.7 kB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

clp_ffi_py-0.1.0b1-cp311-cp311-macosx_10_15_x86_64.whl (234.2 kB view details)

Uploaded CPython 3.11 macOS 10.15+ x86-64

clp_ffi_py-0.1.0b1-cp311-cp311-macosx_10_15_universal2.whl (416.6 kB view details)

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

clp_ffi_py-0.1.0b1-cp310-cp310-win_amd64.whl (171.0 kB view details)

Uploaded CPython 3.10 Windows x86-64

clp_ffi_py-0.1.0b1-cp310-cp310-musllinux_1_2_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.2+ x86-64

clp_ffi_py-0.1.0b1-cp310-cp310-musllinux_1_2_i686.whl (1.5 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.2+ i686

clp_ffi_py-0.1.0b1-cp310-cp310-musllinux_1_2_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.2+ ARM64

clp_ffi_py-0.1.0b1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (340.5 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

clp_ffi_py-0.1.0b1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (365.5 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ i686

clp_ffi_py-0.1.0b1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (326.5 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

clp_ffi_py-0.1.0b1-cp310-cp310-macosx_11_0_arm64.whl (201.7 kB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

clp_ffi_py-0.1.0b1-cp310-cp310-macosx_10_15_x86_64.whl (234.2 kB view details)

Uploaded CPython 3.10 macOS 10.15+ x86-64

clp_ffi_py-0.1.0b1-cp310-cp310-macosx_10_15_universal2.whl (416.7 kB view details)

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

clp_ffi_py-0.1.0b1-cp39-cp39-win_amd64.whl (171.0 kB view details)

Uploaded CPython 3.9 Windows x86-64

clp_ffi_py-0.1.0b1-cp39-cp39-musllinux_1_2_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.2+ x86-64

clp_ffi_py-0.1.0b1-cp39-cp39-musllinux_1_2_i686.whl (1.5 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.2+ i686

clp_ffi_py-0.1.0b1-cp39-cp39-musllinux_1_2_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.2+ ARM64

clp_ffi_py-0.1.0b1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (340.5 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

clp_ffi_py-0.1.0b1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (365.5 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ i686

clp_ffi_py-0.1.0b1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (326.6 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

clp_ffi_py-0.1.0b1-cp39-cp39-macosx_11_0_arm64.whl (201.8 kB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

clp_ffi_py-0.1.0b1-cp39-cp39-macosx_10_15_x86_64.whl (234.2 kB view details)

Uploaded CPython 3.9 macOS 10.15+ x86-64

clp_ffi_py-0.1.0b1-cp39-cp39-macosx_10_15_universal2.whl (416.7 kB view details)

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

clp_ffi_py-0.1.0b1-cp38-cp38-win_amd64.whl (171.0 kB view details)

Uploaded CPython 3.8 Windows x86-64

clp_ffi_py-0.1.0b1-cp38-cp38-musllinux_1_2_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.8 musllinux: musl 1.2+ x86-64

clp_ffi_py-0.1.0b1-cp38-cp38-musllinux_1_2_i686.whl (1.5 MB view details)

Uploaded CPython 3.8 musllinux: musl 1.2+ i686

clp_ffi_py-0.1.0b1-cp38-cp38-musllinux_1_2_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.8 musllinux: musl 1.2+ ARM64

clp_ffi_py-0.1.0b1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (340.6 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

clp_ffi_py-0.1.0b1-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (365.4 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ i686

clp_ffi_py-0.1.0b1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (326.5 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

clp_ffi_py-0.1.0b1-cp38-cp38-macosx_11_0_arm64.whl (201.8 kB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

clp_ffi_py-0.1.0b1-cp38-cp38-macosx_10_15_x86_64.whl (234.2 kB view details)

Uploaded CPython 3.8 macOS 10.15+ x86-64

clp_ffi_py-0.1.0b1-cp38-cp38-macosx_10_15_universal2.whl (416.8 kB view details)

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

clp_ffi_py-0.1.0b1-cp37-cp37m-win_amd64.whl (171.4 kB view details)

Uploaded CPython 3.7m Windows x86-64

clp_ffi_py-0.1.0b1-cp37-cp37m-musllinux_1_2_x86_64.whl (1.3 MB view details)

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

clp_ffi_py-0.1.0b1-cp37-cp37m-musllinux_1_2_i686.whl (1.5 MB view details)

Uploaded CPython 3.7m musllinux: musl 1.2+ i686

clp_ffi_py-0.1.0b1-cp37-cp37m-musllinux_1_2_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.7m musllinux: musl 1.2+ ARM64

clp_ffi_py-0.1.0b1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (340.8 kB view details)

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

clp_ffi_py-0.1.0b1-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl (365.5 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ i686

clp_ffi_py-0.1.0b1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (327.3 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ ARM64

clp_ffi_py-0.1.0b1-cp37-cp37m-macosx_10_15_x86_64.whl (234.3 kB view details)

Uploaded CPython 3.7m macOS 10.15+ x86-64

File details

Details for the file clp_ffi_py-0.1.0b1-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.1.0b1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 bd5c6ea1cdf9e2ec5e0b80acf917302add42f5a1a34905c0f77082276fb3d9db
MD5 c01082ecd5c6e230fd11870e9a60e9f2
BLAKE2b-256 a0daed22aa87f4c23fdeb80327efa8751f9e7da2ea94d9f234d8eb619ca8afca

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.1.0b1-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.1.0b1-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ea2e96a9a1c97a68c07b49c4d11de80239627973f25651ea009f8ad1d16dd79b
MD5 c60ea75d0aa1397b1b4262bd2b14befa
BLAKE2b-256 b2057487becc4c693bcdb2b1b10834a390e6c30bb6365f69018e5f82531f2888

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.1.0b1-cp312-cp312-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.1.0b1-cp312-cp312-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 60510858c44cb4e1fe95d9f9189f47a8c8854a5f6a64219191087828485c7b9a
MD5 91fb0fe404e37924288b05a53ddc96c8
BLAKE2b-256 c39e0147fab3d3fa0b6adb512c9f9d848cc5b7b801cc4997eabfcd3bf8588a82

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.1.0b1-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.1.0b1-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 33843a5607a6ff7589d608b5fde44562d75e93b715cdcbb13cd1dba52a450559
MD5 8dfc6a829f19cf9714d719f5cee83803
BLAKE2b-256 fa2e12b5d28a70ac0842cfb8bff6961c5c88f26c2305b34e46fcedb6f0d75a05

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.1.0b1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.1.0b1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c104011392d0bae1a18e9b2a91816b52e148f180051487a6ee9ddfb9b4dc5a05
MD5 dddc957b18d14417424afbd4431c20b1
BLAKE2b-256 b497648e81e3ed366cdffc3f64157c6ab6524515b2fd4b8f82e32b338ce6bd72

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.1.0b1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.1.0b1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 562025a350999684abeefaf5930561c75655e348c9cd7d03a12fbdea856c5f3f
MD5 dd87add371e515c22a31597b8bfbc7ba
BLAKE2b-256 6896a9e93afbd84d44ea0f8fd422f03d32be88afffe40acc33a420ff3e8855db

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.1.0b1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.1.0b1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3589c29045d5313f5fe0961da71cba9825a52d95b722ea9d7777bb855476d502
MD5 02309e85f48b153ee21f517319baf508
BLAKE2b-256 889166bf6e00c9cccef6a1704836ef69a05c5de94df8c27f2b68c92dc83c101f

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.1.0b1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.1.0b1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3a857bfbb10c2f3fede606f95ba08cc3b319ff3d9774f0a8dfb190b0aa6cec5d
MD5 7e61d1abf96b034276cf1957a5289f2c
BLAKE2b-256 e249f88c2275ea0c5972f8175c59c24369c2f6df2688840bd65ad8fc826acff5

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.1.0b1-cp312-cp312-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.1.0b1-cp312-cp312-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 a0cd20b537162054d5aaa7bf82bbe48166264e7576590389a7f6bead98cc0acb
MD5 8584e4b7cfea707a07c72f21f3fa3993
BLAKE2b-256 93bee05c1a14f7ca9586f98e1fea5d30c8c1b72e05a4ab0dd44b36811d92cfbb

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.1.0b1-cp312-cp312-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.1.0b1-cp312-cp312-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 4d2339f78d156f3a145fbb8ab52d56a6b7636f1326ecf97bc34dada6be6f99bd
MD5 471f86eb172e279ee0343f2792ee7384
BLAKE2b-256 95b68d26ed33332782bd20f361f6ad6e5cd2156c7b8ab6a920e4890eacb26aa9

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.1.0b1-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.1.0b1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e1296b694f3ce398daec6c98ddb5473d47411d12c78f52a0b60bbca533c99577
MD5 10f29ee3c83c611e9dc774926b92f17b
BLAKE2b-256 cae1c4ae683c138d3d15d90687d2105c87471ccc163c80820927929d8c8cbe2e

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.1.0b1-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.1.0b1-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 adcc967e150ab9bc3ff77f58e8e6934a0b0f85bbc3a57ced329a3fcaed97d1e8
MD5 940da6c2e419f8ad171c637acf456d60
BLAKE2b-256 0bd1b16df72bb07369251be7f7c5f2e2da6186b812db492f24e9955a1778d44c

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.1.0b1-cp311-cp311-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.1.0b1-cp311-cp311-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 5ddc06f70948259f935e73afd345f05bdf7549fc0fdd42644161f959649775d5
MD5 b169cbf69792bb6813301abc7bdf407b
BLAKE2b-256 a385cae6a2e588d9a3c0c31ce04ec2653162ee93cf1f0089472b008f11ed5bbd

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.1.0b1-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.1.0b1-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 5202c99fb45c70e537efd7f7de0716979effcb3a33335f48cd05e0d5cb05a70d
MD5 7623e28d2e593355c24fc53756a37bea
BLAKE2b-256 59f9a09faa03ed1924fc020f00dd7fabc78f76f532676f875a8dbb8a0e3e989d

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.1.0b1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.1.0b1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4fdb63bd0f84fc21e2e14ee44cf5b6f246d57d2b8b8618481ee15ffc57ae031c
MD5 55cd6030f1f00114003a00ef75268727
BLAKE2b-256 2fcf7e16aae39dc3c1261edfecd726ffa707c338ef43b390216b6fa42f0a9862

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.1.0b1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.1.0b1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 1f8faff0616f26d4eb1ae925ab43ba0425d1ef93390536acd8552fc2288085f9
MD5 49ace7924ef4d689c8fa454800d26da9
BLAKE2b-256 0878fa381cc78e6d35d66461fe648f8a53365dbbc89a09f6804f66a8660fe6ef

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.1.0b1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.1.0b1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 758d0930bf4f0b0a621412858ebcdfe8a53bb34155e59ed83c5462686dbae872
MD5 ec323ac544149b91979363973270dbf4
BLAKE2b-256 8bc9665d11fdd645e91dd8763581cfc4b30f36d30f66d3b02c699be4e304c194

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.1.0b1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.1.0b1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 44bfdc9b1eb6c3dabf41b4fcc72ab918588781f4cd28b4b7684ec905866e9d28
MD5 4fd920cf0ed55c80c1aa007794a8335a
BLAKE2b-256 30d6dd615df26842f81b4bf96937af3a82ad313b8318869e69126fa10436df78

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.1.0b1-cp311-cp311-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.1.0b1-cp311-cp311-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 33e2827a58a395380b67205470671ba4a50a70aef0d99a5346613d6c84501cbe
MD5 79a68bfd3f88ab7aad7fff7a01ad94ac
BLAKE2b-256 2f659b93c8862efc1ad8a3ad7237f7cada3079dbe690573178af5ab7e6802e8f

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.1.0b1-cp311-cp311-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.1.0b1-cp311-cp311-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 a56f56d5d2283ba6e735d9b28f70cb9f1980636a1f5064825e565e5efb1618bb
MD5 4b017de8c04113a335f64bfdf8b3c67c
BLAKE2b-256 c3398f215b7050aea1684fa02c802c9891737dd6f4bc41a1acdd502336ef643a

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.1.0b1-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.1.0b1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 3427e28fb8ed4c3952e12ca93579097c3a68529980e95a50e264d9b2bb1d6615
MD5 accbb76273a4141f7f4a0b11ca28d94a
BLAKE2b-256 43a52237905fa3c2884aa56f8a62c6987f0c45340f24226356089483ecbe2f6f

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.1.0b1-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.1.0b1-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 fb72d42bec3cf6c1062636f4e1730a19490c20b3212573f44575dd4aa601cc24
MD5 86e42cca151838f5c99b14bc5a7d239a
BLAKE2b-256 c6dbe63e6d5d89ca5318b27e942f9c4b7625fabf0f76c3baa203c51efdc0fb5f

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.1.0b1-cp310-cp310-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.1.0b1-cp310-cp310-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 bf283541114809d90554b3e0c462a890ee4b130bca624be19e0968da1e12b973
MD5 06b6bf30234694505c8c4240a5e3a153
BLAKE2b-256 ab1622dfddfc9084d565d46f43eaa0ad530f813273285b4ec417b5d1f7548921

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.1.0b1-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.1.0b1-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 609fa51d87908da739dd8cf02d397677ae752f674b46699bb2b41ef70691d374
MD5 5341a8d577db4fd5521847fd685ee42e
BLAKE2b-256 1cf9d49cab4a01ac21bda527687433165ac19bf85f96a1e0d6dc5915f5130f56

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.1.0b1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.1.0b1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 48f65df5f20b8cb0cc14519c6844110455b1c6a36f35579953f41422b14613c4
MD5 a69b5ce421332bb3f42055daa71f17db
BLAKE2b-256 a14b130cd3207c499353c90a3adbbe295e716fb13af148383fc1b1f16c77a07f

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.1.0b1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.1.0b1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 635994969dfa3ba5750992423f37dcaf53900cdd5e7293bd6d099e0d9826f197
MD5 9a68df180217827ef5895377e08c9dd3
BLAKE2b-256 32a91065ec01194a63254d749a411818718f75db5085be59f69c7277d202b6cf

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.1.0b1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.1.0b1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4953a3500998bc27acddc9cc7255b92d946edb71e9f4299b26b93b837b4ffde2
MD5 662fd32bf93fe1b222d3681a6f9a79b5
BLAKE2b-256 98ca50c7035e61c5f6a8f9492845ec50501405df37a2199681077035baedc0af

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.1.0b1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.1.0b1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8303fa65f2996fa9168b0b253a2340d3c50cb3d23f046f0094cf0c23084d1a56
MD5 466e78a361298daad409a5889df2cadf
BLAKE2b-256 1d22460caea8f52ba9ea6309edecc89d3858ce4682ff9ec57093b0bac64d0422

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.1.0b1-cp310-cp310-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.1.0b1-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 0f644db4c2ced4d1021c7693c0e5e7d4e745fdb13cdd91c9d22bd79814cf7e36
MD5 b808de0710ad5edd7ef66392d4249882
BLAKE2b-256 4f096cc9ad239a862313c6e2b2f01c9fb30342058576048c5ddd9fba8720cacb

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.1.0b1-cp310-cp310-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.1.0b1-cp310-cp310-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 e200b74cc911f8716a3b2677500151e78b053ade9b2e5d4a3937275915d341d4
MD5 292976254b7a2aa94b79ce1fc62eddc6
BLAKE2b-256 b30793ff2ed62e97bd89d28e989e9e2866514a7fb7f0101bc68bd02c77c6d123

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.1.0b1-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.1.0b1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 67a8536d5e5bd36ee333752819acbbcbcd593e601539102582e30dcb828d8eae
MD5 ed0ad5f732ded918f1fc76df6d591a6f
BLAKE2b-256 2b08c4c860ecbd5e263f97d2040e6adfcf2eb7b84a25f51b5a7fdc7914bba4d5

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.1.0b1-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.1.0b1-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0028fa800cdf706888bee49cccff8268c474d7b314ad1fb91c0339895eb7972a
MD5 acd4396e81636a581f867da0fd2aed2d
BLAKE2b-256 4407abeb2e9f81b044c43a046cb56d5ea8597490979d1832b31ccf424ef58305

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.1.0b1-cp39-cp39-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.1.0b1-cp39-cp39-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 6e66fc7a1405eacabd33a30817fa3075c5107fc4f6e51d9a15e2895f4c8ffbd2
MD5 8c3afb917a59687d07e2ac7f30a5b5d2
BLAKE2b-256 ea75a0560aebbea37059ff249009664802e69ae4083f0a47dfab3e234c3f2994

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.1.0b1-cp39-cp39-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.1.0b1-cp39-cp39-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 006d902f0ba45bc7ac1f1dfadb9f382ebf86d72f0bbbdd671bdfc186daa6a154
MD5 8c05ac64adfbf59b9f16346673ed9a4b
BLAKE2b-256 914a3120555a8e064ef01218aaf3431f389f9fe031942364ed48120bcb0d2dc0

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.1.0b1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.1.0b1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9307aa5ee343a12181f6df188ba4cc86f83e8975534a97749ac43e3eb9708189
MD5 fdbec13339af0f541b8dfc463af18ea8
BLAKE2b-256 bf6537e9d2f38130057c9e4bb7e34a23a44b3660b086c665eab92f77fa90db0b

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.1.0b1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.1.0b1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 7aaa607bda0b07ca6407a8500683ea89aa72c7aeb4ef0c42d6ad07ab546584d2
MD5 d726379e091bccabe3ea7538dd00ed98
BLAKE2b-256 9afb143077efaf518d86e43b59e4759761687ba465427de0c2dbdc0b99332c7c

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.1.0b1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.1.0b1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9fc617c17807e3171e77e53d6e4d6abc503fcdb3fdee6bf85088421c6e384a0a
MD5 4490d9b8ec162a0b7468542d24384f3f
BLAKE2b-256 f95829919c9f05ec994c3b3ded4d80800a27b8d216cd771fe10bc0260513a96a

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.1.0b1-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.1.0b1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c790fd0428ec6ea54c90936e65809d4c39115af5d23eaa6a3edd4d90a4d0b8b1
MD5 2cd4cde02124a324f82a5a7286fe4333
BLAKE2b-256 f9b4bee392f7365ba35de20da5e6e83ce2bd4b9919434cbcaed0698a1c0fa18a

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.1.0b1-cp39-cp39-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.1.0b1-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 5abcb18c2792cddae2160c364150597c5369d6738f79f742e39a90dee20f490c
MD5 3fa8baa4b619c15e34468fd3c9407e4b
BLAKE2b-256 76bd40382704b2646e9e0d20412daa4e18c40c18b9545184a0b3ec43263f56cd

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.1.0b1-cp39-cp39-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.1.0b1-cp39-cp39-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 b5d0a632ed2eae7d1a42ae0a57facd7afc5ca45925da86f730467511aadddabd
MD5 f90ee1d1f4dbbf56487e30bdbe47b932
BLAKE2b-256 a4147a6fad713d2b40b4bb6f379c678e0897af89b82e8fe1908e0b1d4d746f5f

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.1.0b1-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.1.0b1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 14ce28203ac68d4a43cf0f3d3d90ed1c00056856fd13650912269f5771f3ac37
MD5 64c785e5ed924a60f42a6068fccf420f
BLAKE2b-256 a83d56b5ddd10bac1220c663ff8f37e5a6ac12d91ace2d470790f25c3d54a2bf

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.1.0b1-cp38-cp38-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.1.0b1-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 1272135bc0ef07899e9e6d5d6c18d7e8021c3f0df2299c6f7b1e50f131aa68bd
MD5 f337e0841f14570b7d4efdd6cfc81b2f
BLAKE2b-256 e4954b55c2ec53112bf702595dd320197c692db686e70e63021930c4d245ceae

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.1.0b1-cp38-cp38-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.1.0b1-cp38-cp38-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 2316d337245d3421510005786802420190bf47dcb0969acf72ea320bd08397ea
MD5 2dfb10128c3ce9853cd38913e9b5a0a1
BLAKE2b-256 2a37984a5f0470ed9783f4d90fc2c71435311628166fd241c78ffe36d51ede6b

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.1.0b1-cp38-cp38-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.1.0b1-cp38-cp38-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 f4283d242efaad11275c853b4af8eb71ee0c90903d3e32ba11b4f5ba18720f16
MD5 5ee9a4667a379672b5f6489a178ba90d
BLAKE2b-256 0ff22366fecb7f1c07f2832396cc99392071e766abdba69fff8f6983b51ccbba

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.1.0b1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.1.0b1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a3496e65ce9a86fcd1976b1df29c36b6729ab7fb323e45f13ebcaa23c319e3bb
MD5 3f24d1f3b83696e47006723d0dc0f92f
BLAKE2b-256 db22ae5cf7e4bb0b7e1688266fe9eaa9637a284476c24a6a0a0b337d0c2e21bf

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.1.0b1-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.1.0b1-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 e73a8b8eccc9e1bad17a639cc67236483db9ac24a79a410daf8bfc1e5fa9d0fc
MD5 40ad8a7ab25472e21d6f2ee4021f073f
BLAKE2b-256 da0d10f85914a9111de356e91b8960c48b994f573a5fcce7a8e061708e0a01b5

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.1.0b1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.1.0b1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ae57d7c1104e8c9beb0497987993a8a5ca91f57711bfc04693987e75a72209dd
MD5 cd5714dbf0ef295c23b3e873016c3b18
BLAKE2b-256 e56054348ff298557da5be409010cfaf8e3a415ef9a12df42f47d60a0470a417

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.1.0b1-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.1.0b1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bd6a770a17d5701a7a7e2d6763e94dac423b4598760bff0c7bc8fedf55814079
MD5 783391bbfde4de548ca04e544128eea1
BLAKE2b-256 3c90839a504b5853343d6ae07c960a83dacd7642dc06e90693bdd8fe5fad2e31

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.1.0b1-cp38-cp38-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.1.0b1-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 247de4cfabb082c3f2b953216a3ee7c3d65dc087b6cc18e001fc02425db53d8d
MD5 6cc933a46228e61597b2f8eb09648d29
BLAKE2b-256 507f4198c27917c3e6ae126fa15af910277216821b6ffa747ba06178cfa8fa21

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.1.0b1-cp38-cp38-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.1.0b1-cp38-cp38-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 3a1967ae8ae89b9930a38360e5abcd0b57162a91f59244d4747779aa31257ef0
MD5 895f3af3d4d1b09af7017ba79e8ade82
BLAKE2b-256 f25e837c42da0e589d76b4636e41300cf7c14872f558e32920547d840c242fee

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.1.0b1-cp37-cp37m-win_amd64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.1.0b1-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 551cc6e145f52b15958c588ad8572e6fe9205549466457e5d84562f87ec08480
MD5 ae3eeda64e973eeb6b9f8e34b8268d60
BLAKE2b-256 2d2ffebd5761156f060267c365b4ab467c5018fe8e2d535bb2b82d2019f08803

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.1.0b1-cp37-cp37m-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.1.0b1-cp37-cp37m-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 49880eb273859ccf59485476197593937fc1d34b545dc92200316539ecd1b443
MD5 db99b30e76100f43b828dfdab38e4a2a
BLAKE2b-256 9e5852922beb9d3ec225efb63824a37fe408352b61b2e6254d28323edc4e1795

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.1.0b1-cp37-cp37m-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.1.0b1-cp37-cp37m-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 1d3007f7e46227960487938c43424740adef0b05f87629fa240f9a9b739b55f9
MD5 9db133840647c0e472d5ceae69042abd
BLAKE2b-256 09af32bed538d2554bbf2dc84ed1a1388587b24749cbb413cfbe25e050f2087d

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.1.0b1-cp37-cp37m-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.1.0b1-cp37-cp37m-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 9cff5ec2bb4b8f6275649bc889f32863d87a62d486e644ca2f9fc3fc588fca29
MD5 079ee51d9ada873d7eb77d653daa6fbb
BLAKE2b-256 6f6659286d208c222a200bf1d1661cab88475b6901e426759376f6e803785263

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.1.0b1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 611e3911d9c0c655fdb131f186a93f72c721c1f5ed344fc6bdad9e94bb0d71c4
MD5 e70956fbce12ccbfef7f7d4d0bc76248
BLAKE2b-256 d677d9979e9d185fd75c352fc520578338e1dd2d470fb1205cda91c1c4b1fb0e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.1.0b1-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 4ab973f8f7856277a0c3e24e8e405a4842fbe45dc1510dc4039d50dbd6cb1d6c
MD5 813da4d48988b04860a3fa34bf264c1e
BLAKE2b-256 f1b32ac0256def591cd60bb0f1f239fa448f5c7ae5bd94a79d5dbc6deb9974a7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.1.0b1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 86f4b04ca9b9829bd0c62589408bfb883f97cada96ebb06bb2031855847d9939
MD5 26f481a494b9f121a486612b028dac7d
BLAKE2b-256 6136d3a17fae77550b0e4b9f784c11d6c2c954e18f4c1efc446faebb38dfe0cd

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.1.0b1-cp37-cp37m-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.1.0b1-cp37-cp37m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 97ae3bc884d83d0805006e4045adf58c29ee29f58c550d4310d5480f20615791
MD5 8730be6baefa31eb1986521182017088
BLAKE2b-256 ee822213fc40bd75094696248babfa85b4bb12978aa7034c85ba04b3ba0df55e

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