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.

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, 3.12, and 3.13, 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.38.0

Set up

  • Initialize and update yscope-dev-utils submodules:
    git submodule update --init --recursive tools/yscope-dev-utils
    

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
    

Using Key-Value Pair IR Streams

The CLP key-value pair IR stream, introduced in version 0.0.14, is a new IR stream format that enables efficient serialization of key-value pair (kv-pair) log events.

We categorize the kv-pairs of a log event into two categories:

  • Auto-generated kv-pairs: KV-pairs (e.g., timestamps, log levels, other metadata) that are automatically generated by the logging library.
  • User-generated kv-pairs: Custom kv-pairs (e.g., log messages).

Requirements

The serialization interface requires that kv-pairs are passed as MessagePack-encoded Map objects, where keys and values are restricted to the following MessagePack types described below.

Supported key types

Keys must be UTF-8-encoded strings.

Supported value types

Values must be one of the following MessagePack-types:

  • Primitives:
    • Integer
    • Float
    • String
    • Boolean
    • Null
  • Maps with keys and values that have the same supported types described here.
  • Arrays containing a sequence of supported primitives, arrays, or maps.

Unsupported value types

MessagePack's Binary and Extension types are not supported.

Example Code: Using Serializer to serialize key-value pair log events into an IR stream

from clp_ffi_py.ir import Serializer
from clp_ffi_py.utils import serialize_dict_to_msgpack

with open("example.clp", "wb") as ir_stream, Serializer(ir_stream) as serializer:
    serializer.serialize_log_event_from_msgpack_map(
        auto_gen_msgpack_map=serialize_dict_to_msgpack({"level": "INFO"}),
        user_gen_msgpack_map=serialize_dict_to_msgpack({"message": "Service started."}),
    )
    serializer.serialize_log_event_from_msgpack_map(
        auto_gen_msgpack_map=serialize_dict_to_msgpack({"level": "WARN"}),
        user_gen_msgpack_map=serialize_dict_to_msgpack({"uid": 12345, "ip": "127.0.0.1"}),
    )

clp_ffi_py.utils.serialize_dict_to_msgpack can be used to serialize a Python dictionary object into a MessagePack object.

Example Code: Using Deserializer to read KeyValuePairLogEvents from an IR stream

from clp_ffi_py.ir import Deserializer, KeyValuePairLogEvent
from typing import Optional

with open("example.clp", "rb") as ir_stream:
    deserializer = Deserializer(ir_stream)
    while True:
        log_event: Optional[KeyValuePairLogEvent] = deserializer.deserialize_log_event()
        if log_event is None:
            # The entire stream has been consumed
            break
        auto_gen_kv_pairs, user_gen_kv_pairs = log_event.to_dict()
        print(auto_gen_kv_pairs)
        print(user_gen_kv_pairs)
  • Deserializer.deserialize_log_event can be used to read from the IR stream and output KeyValuePairLogEvent objects.
  • KeyValuePairLogEvent.to_dict can be used to convert the underlying deserialized results into Python dictionaries.

[!IMPORTANT] The current Deserializer does not support reading the previous IR stream format. Backward compatibility will be added in future releases.

CLP IR Readers

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

[!IMPORTANT] The readers below do not support reading or searching CLP key-value pair IR streams.

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.

Adding files

Certain file types need to be added to our linting rules manually:

  • CMake. If adding a CMake file, add it (or its parent directory) as an argument to the gersemi command in lint-tasks.yaml.
    • If adding a directory, the file must be named CMakeLists.txt or use the .cmake extension.
  • YAML. If adding a YAML file (regardless of its extension), add it as an argument to the yamllint command in lint-tasks.yaml.

Linting

Before submitting a pull request, ensure you’ve run the linting commands below and either fixed any violations or suppressed the warning.

To run all linting checks:

task lint:check

To run all linting checks AND automatically fix any fixable issues:

task lint:fix

Running specific linters

The commands above run all linting checks, but for performance you may want to run a subset (e.g., if you only changed C++ files, you don't need to run the YAML linting checks) using one of the tasks in the table below.

Task Description
lint:cmake-check Runs the CMake linters.
lint:cmake-fix Runs the CMake linters and fixes any violations.
lint:cpp-check Runs the C++ linters (formatters and static analyzers).
lint:cpp-fix Runs the C++ linters and fixes some violations.
lint:cpp-format-check Runs the C++ formatters.
lint:cpp-format-fix Runs the C++ formatters and fixes some violations.
lint:cpp-static-check Runs the C++ static analyzers.
lint:py-check Runs the Python linters.
lint:py-fix Runs the Python linters and fixes some violations.
lint:yml-check Runs the YAML linters.
lint:yml-fix Runs the YAML linters and fixes some violations.

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.14.tar.gz (32.3 MB 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.14-cp313-cp313-win_amd64.whl (192.5 kB view details)

Uploaded CPython 3.13Windows x86-64

clp_ffi_py-0.0.14-cp313-cp313-musllinux_1_2_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

clp_ffi_py-0.0.14-cp313-cp313-musllinux_1_2_i686.whl (1.5 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ i686

clp_ffi_py-0.0.14-cp313-cp313-musllinux_1_2_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

clp_ffi_py-0.0.14-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (375.1 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

clp_ffi_py-0.0.14-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl (401.9 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ i686

clp_ffi_py-0.0.14-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (357.3 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

clp_ffi_py-0.0.14-cp313-cp313-macosx_11_0_arm64.whl (228.4 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

clp_ffi_py-0.0.14-cp313-cp313-macosx_10_15_x86_64.whl (259.3 kB view details)

Uploaded CPython 3.13macOS 10.15+ x86-64

clp_ffi_py-0.0.14-cp313-cp313-macosx_10_15_universal2.whl (467.5 kB view details)

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

clp_ffi_py-0.0.14-cp312-cp312-win_amd64.whl (192.5 kB view details)

Uploaded CPython 3.12Windows x86-64

clp_ffi_py-0.0.14-cp312-cp312-musllinux_1_2_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

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

Uploaded CPython 3.12musllinux: musl 1.2+ i686

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

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

clp_ffi_py-0.0.14-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (375.1 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

clp_ffi_py-0.0.14-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl (401.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ i686

clp_ffi_py-0.0.14-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (357.2 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

clp_ffi_py-0.0.14-cp312-cp312-macosx_11_0_arm64.whl (228.4 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

clp_ffi_py-0.0.14-cp312-cp312-macosx_10_15_x86_64.whl (259.3 kB view details)

Uploaded CPython 3.12macOS 10.15+ x86-64

clp_ffi_py-0.0.14-cp312-cp312-macosx_10_15_universal2.whl (467.5 kB view details)

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

clp_ffi_py-0.0.14-cp311-cp311-win_amd64.whl (192.4 kB view details)

Uploaded CPython 3.11Windows x86-64

clp_ffi_py-0.0.14-cp311-cp311-musllinux_1_2_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

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

Uploaded CPython 3.11musllinux: musl 1.2+ i686

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

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

clp_ffi_py-0.0.14-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (375.5 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

clp_ffi_py-0.0.14-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (402.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ i686

clp_ffi_py-0.0.14-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (357.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

clp_ffi_py-0.0.14-cp311-cp311-macosx_11_0_arm64.whl (228.3 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

clp_ffi_py-0.0.14-cp311-cp311-macosx_10_15_x86_64.whl (259.2 kB view details)

Uploaded CPython 3.11macOS 10.15+ x86-64

clp_ffi_py-0.0.14-cp311-cp311-macosx_10_15_universal2.whl (467.3 kB view details)

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

clp_ffi_py-0.0.14-cp310-cp310-win_amd64.whl (192.4 kB view details)

Uploaded CPython 3.10Windows x86-64

clp_ffi_py-0.0.14-cp310-cp310-musllinux_1_2_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

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

Uploaded CPython 3.10musllinux: musl 1.2+ i686

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

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

clp_ffi_py-0.0.14-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (375.5 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

clp_ffi_py-0.0.14-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (402.2 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ i686

clp_ffi_py-0.0.14-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (357.1 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

clp_ffi_py-0.0.14-cp310-cp310-macosx_11_0_arm64.whl (228.3 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

clp_ffi_py-0.0.14-cp310-cp310-macosx_10_15_x86_64.whl (259.2 kB view details)

Uploaded CPython 3.10macOS 10.15+ x86-64

clp_ffi_py-0.0.14-cp310-cp310-macosx_10_15_universal2.whl (467.3 kB view details)

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

clp_ffi_py-0.0.14-cp39-cp39-win_amd64.whl (192.5 kB view details)

Uploaded CPython 3.9Windows x86-64

clp_ffi_py-0.0.14-cp39-cp39-musllinux_1_2_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

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

Uploaded CPython 3.9musllinux: musl 1.2+ i686

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

Uploaded CPython 3.9musllinux: musl 1.2+ ARM64

clp_ffi_py-0.0.14-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (375.6 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

clp_ffi_py-0.0.14-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (402.5 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ i686

clp_ffi_py-0.0.14-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (357.2 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

clp_ffi_py-0.0.14-cp39-cp39-macosx_11_0_arm64.whl (228.3 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

clp_ffi_py-0.0.14-cp39-cp39-macosx_10_15_x86_64.whl (259.3 kB view details)

Uploaded CPython 3.9macOS 10.15+ x86-64

clp_ffi_py-0.0.14-cp39-cp39-macosx_10_15_universal2.whl (467.5 kB view details)

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

clp_ffi_py-0.0.14-cp38-cp38-win_amd64.whl (192.5 kB view details)

Uploaded CPython 3.8Windows x86-64

clp_ffi_py-0.0.14-cp38-cp38-musllinux_1_2_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ x86-64

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

Uploaded CPython 3.8musllinux: musl 1.2+ i686

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

Uploaded CPython 3.8musllinux: musl 1.2+ ARM64

clp_ffi_py-0.0.14-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (375.6 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

clp_ffi_py-0.0.14-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (402.5 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ i686

clp_ffi_py-0.0.14-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (357.2 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64

clp_ffi_py-0.0.14-cp38-cp38-macosx_11_0_arm64.whl (228.4 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

clp_ffi_py-0.0.14-cp38-cp38-macosx_10_15_x86_64.whl (259.3 kB view details)

Uploaded CPython 3.8macOS 10.15+ x86-64

clp_ffi_py-0.0.14-cp38-cp38-macosx_10_15_universal2.whl (467.5 kB view details)

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

clp_ffi_py-0.0.14-cp37-cp37m-win_amd64.whl (192.5 kB view details)

Uploaded CPython 3.7mWindows x86-64

clp_ffi_py-0.0.14-cp37-cp37m-musllinux_1_2_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.7mmusllinux: musl 1.2+ x86-64

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

Uploaded CPython 3.7mmusllinux: musl 1.2+ i686

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

Uploaded CPython 3.7mmusllinux: musl 1.2+ ARM64

clp_ffi_py-0.0.14-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (375.0 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

clp_ffi_py-0.0.14-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl (402.2 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ i686

clp_ffi_py-0.0.14-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (357.3 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ ARM64

clp_ffi_py-0.0.14-cp37-cp37m-macosx_10_15_x86_64.whl (259.1 kB view details)

Uploaded CPython 3.7mmacOS 10.15+ x86-64

File details

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

File metadata

  • Download URL: clp_ffi_py-0.0.14.tar.gz
  • Upload date:
  • Size: 32.3 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.14.tar.gz
Algorithm Hash digest
SHA256 f8e365547649decd2899e3bc0f10aff8f6f1f2b69298ff72723e041e73a9fa6d
MD5 a130a00566c5caf226ed2450c4d96935
BLAKE2b-256 a87d9558f29501056224743f77ac9c43e911b2bc6dff1dc6b79ac5d8838825f9

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.14-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: clp_ffi_py-0.0.14-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 192.5 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.12

File hashes

Hashes for clp_ffi_py-0.0.14-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 210541e67e9ef94ca227addc4f9e6fd020bcc91a7b6366e415f3a0550ab99094
MD5 9bb5b21b35135d056a0133b09d5d5e14
BLAKE2b-256 4be3f0111f96aa6915b0361c85bec83f1a973f8d49a1521041b957303ce6377b

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.14-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.14-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9eb3358498b996d87d54a2631afd36f9cbce34de357b625a9d6bc982fe6ae72e
MD5 76d05e24d369f40732e5190f3bf2e581
BLAKE2b-256 318665f54e3a98d1673c35c9b2fa59781395c0ab35a3ab46b88c2e36472f5979

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.14-cp313-cp313-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.14-cp313-cp313-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 b634686d6c3b610b559bb6b7ba4d2b0c1ab3bdfa129a31bca8ebfd0817bbbde4
MD5 5c0a4fb30392ea61d4980b2afb3d4274
BLAKE2b-256 a11f48507d079662b58e274db4de09310d57fd2c2d9d17c40c74922f9147de8d

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.14-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.14-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 cae1e038b4114f2cd8cd3994c12e6946efc96d9d2017ceefd3d531ce75635e62
MD5 a57cae91c4283e5a131cf5c9e4893912
BLAKE2b-256 7e80ecc1dd92420db5baa446c3757ba8a17037bfa27437cb602eaa086b59a1c2

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.14-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.14-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 faa60e0c9da0df71622b7e2816ec4d372c1fe2a222305f0bc6661441ca8f1ee6
MD5 422ef6e19aff88b526fc15b53e2955e7
BLAKE2b-256 1aae3ad702a86491d3c43c0ed0175661269d7c7455066f80670e9e6b5ccaf469

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.14-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.14-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 b62ad3da72b8792b6f42c740422c32c442e0d8cffd67bbe3f560eb7f203e0dda
MD5 d374bb10aaf188e36f095e0a2dff4bcb
BLAKE2b-256 45cfb7e714937dd96a3739504cc0c61faaea5e16baf73e84fa3f4f2588f2e982

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.14-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.14-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7e6b21021087372061d6e45de1a1e0f83f76cd6d489eecd34d125ffb93cc0efd
MD5 6ea0e117281b050a153f7a66dc2ce943
BLAKE2b-256 20b0e74eacb721644d32fc9f83f6b9a331617bef3a541184466337ba40b9180b

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.14-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.14-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e62e287d8645f7e9a7426671a22db9a5997c65da587f06e8db5ebf8e21d49d64
MD5 7226a5d71b55813606d9b8e87568b09f
BLAKE2b-256 13d12ae72549ab55a0e1c2920dec4f70188d9c61167080f2515cc9503e253658

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.14-cp313-cp313-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.14-cp313-cp313-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 166821ddc75f10746b6bd99de0492922c970582bad8ee2fdd6c285f6bc15ecab
MD5 0d199198f3d032224b15faa024628cb6
BLAKE2b-256 68407c4f31852b2ccc379621553fa715d5a17f2c1004a52d9497edf8ee638893

See more details on using hashes here.

File details

Details for the file clp_ffi_py-0.0.14-cp313-cp313-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for clp_ffi_py-0.0.14-cp313-cp313-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 0bcfffc98cb42e8b05dafeac67c7526cb048158e7a89d68b60598488004b3ef9
MD5 34699b34ef2e0e19838bf3d0f0988154
BLAKE2b-256 e10c7b957122c64d9c9d723b6030c88c3a8f9aef89b0eeb6c853d4d8c51a1ec8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: clp_ffi_py-0.0.14-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 192.5 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.12

File hashes

Hashes for clp_ffi_py-0.0.14-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 f4597f176654e698f78ce41b5275db482c7ddf2e468ff48120adb3064afa3f3a
MD5 19dfb98e6c785becf5481ced9d1bc462
BLAKE2b-256 38a7a5eb339b8ac4c41cf754031f663a061227f10299d70fd9b044f8b163d4c5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.14-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 53e08949219b9ca6e277fabbc266bf89ec7ec87d0e2c3beae5ef0dc42ff7a997
MD5 a31ee970e8486b72eee59bf4e2d69cfe
BLAKE2b-256 72a26b0a4a06d83f9d2c818040415a3ec3c126b0b23b623077cac0127562de06

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.14-cp312-cp312-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 35468717d6f25fe698c9eb9f837718df864bd6d85b3b870ee2da5291b7405669
MD5 06bd78f8076163ad6bd6abba0fb9ef0b
BLAKE2b-256 b49e4646bd0044be729685880bf3bac1169159697beedd74ed995cfc4edaf34f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.14-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 b08aa0c9d7c4038be2bb4e3b3da16d570c8825de259290567bbf19fc678196a1
MD5 e52770ee844438894f58ce9bb9825b38
BLAKE2b-256 c79d998065838c659752c22b977c805fb919a93dc4772794587c5110557964fb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.14-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d1d95922bcf3b7635deb9b61ce228a04ff652f5e67325531ba1935c3eab8d6c3
MD5 89e78771ff3e864113702411661fbe54
BLAKE2b-256 5b8ec38889776176b8d13f40303e550a4d9862ac5cc02df11b8a71d8659c23a8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.14-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 c49e777f7522f760d6487243bdde6ee6d848fd13456240d744d867fc71c4b167
MD5 8a91689674542747965342fa6f60b387
BLAKE2b-256 097b9753146468c6853b19263e510a0e4010f0f91d361bbaa349dc2812a9aa9e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.14-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 cb8386488484a91f0a2fa057987cdb74e5232b7a1cc86bde82a495d712434ff5
MD5 a721f34f9eb316083b8a8e498f69d199
BLAKE2b-256 af4742bdd62a6eb9f9872b5ab6cd31de3815ce56393b49fc59c31dff4336b15e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.14-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f77ec9686ef2b841f74ed73025056e4ba23303b9fd45261a165f95342a1337e1
MD5 d89e0b28bca53719ae053d29dcde8543
BLAKE2b-256 af4a83852463efcbe69e226ef270c8c221f5f4e9768aaa5be71b34f40e5f1501

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.14-cp312-cp312-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 5d7bd75e8ce82402358aa8e0a8ef5214a1aac35898fd5b9474d7e7864d401703
MD5 df5269f9fbdcc729411c94f619b025e8
BLAKE2b-256 73ce0acb1b1ac0005f6f2b741bbc85fd00a5db20a18ce32eb2913ec1b644c2e2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.14-cp312-cp312-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 fb3129e9e2358d977e11b9c07d5beea98f93b74e7b42f6f03d4fa7bf32d39899
MD5 e19b280888ed8ea066176f3781595d7e
BLAKE2b-256 a23160062cb55d989b2551dd4dcd08169704d6f4f8bc0527d3e33b3dfa709e78

See more details on using hashes here.

File details

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

File metadata

  • Download URL: clp_ffi_py-0.0.14-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 192.4 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.12

File hashes

Hashes for clp_ffi_py-0.0.14-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 f6d5fd9236607c3336212da6e8f91a1247574c14231656c149173e7b69a3750d
MD5 fc8d7fa18ed785d9e45748c2d7969251
BLAKE2b-256 4e2ceac73ae4dd73dcafb145bb588bbbfd4c6c2baef99d48a5e1d63960d012a5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.14-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 5fa2043abdeb5ca38971520714c3a49bc2140d6ea2fd074824198e59f99eca89
MD5 491c205ed83e1d0662eff03d36c389d5
BLAKE2b-256 a3ef93018c060dfab8e402520aec7d3d75aa043c6f6d4291de42aff69a17e209

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.14-cp311-cp311-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 ca4ad43a464972fd767e737dbe8fb5fc345b564a711da89928732268d2ff4c2b
MD5 2310963af6d0343c23100fb126e9695a
BLAKE2b-256 ed6562f24ef9718b7c8ba6864a7e56ca2b6a5a5fba336c38e93e3066686a16da

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.14-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 f7bdbb6acbe9e950c02d51d5af4934a03d9941dc6e7b7704299efd30172e3ddc
MD5 79c04d6f3b1f3b8a015fd71468130a4f
BLAKE2b-256 625f315b3faa28a697f96c253aca9d9ecb1ef101837d09d6d5936f04f1d2d411

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.14-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 721fb3f7a67d6c29709e9941dd92ebce2e259e9a93d6ba016d616c701377b076
MD5 08dac06b097fd3dcd4562f24dd91fc89
BLAKE2b-256 07931f93670c7659bc8be1955d1a72f6a47c8f2700f4ef5ae6b8b6de685ff919

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.14-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 343c5045a070be99500921e60d6af6f5a042b5b2f722efb762004e6e3af0ac4d
MD5 acbae9cc3b384719eb97033a783e4be2
BLAKE2b-256 76b816b5745023e5dbfb16784cbc9a7dd79752e9061b1d8a84a69ef645da27b9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.14-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 19a92bc6787c82cecc5b555e98b02bad04b2d7db1bda12ddd4a07ce7ac45c3a6
MD5 195e12707c291a25ccf1adb16166e8a2
BLAKE2b-256 3aac2bf963859a68aa8aec95604d7597140265657c7a9ee1cff6b0e6f8fdd680

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.14-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 71e8d16fc18e1fa09b299b7f4dc0bd93794fd657e94ac9c801a408da3f04dd7c
MD5 68d02a2c70fc9f7e882752d2ca8268b1
BLAKE2b-256 93651f74c84f816e51a36a6d57a89e67a4995762bdaae3a9058e1d6ce8e5bc00

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.14-cp311-cp311-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 f1b3cdd42cf834dfc3926cc9880bd7b1150a6097ab07c9366508bcd63cc51032
MD5 3e9d75218b4b215bc5018a87740a7193
BLAKE2b-256 0ee45a7f09febd9a45b7812ca129fab57a4e818414a48269cc0edd37e047cf45

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.14-cp311-cp311-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 051c37a8f7247e6b68868f74b0da37e8a046f85bccadfc10ad569ca35495919a
MD5 734a3bc9939862ba212ab7cc38b1b802
BLAKE2b-256 a98fde670b219ba302a0f8890a62faac5ef9e2729098e0c9e5169b109f2118ed

See more details on using hashes here.

File details

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

File metadata

  • Download URL: clp_ffi_py-0.0.14-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 192.4 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.12

File hashes

Hashes for clp_ffi_py-0.0.14-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 cdf8abd3103931ceaa17f09ab33cd705961ed4731626c43395563fddd3b1379c
MD5 d0e1cc8e5fa9e7979deb43e890bfab97
BLAKE2b-256 7102375ecd95f6e85a6927b3b4b7859cd5bde2d18c3a559b2976c9f10c50af56

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.14-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d2a2b507d6a5d6d58a060b2d602793a4c3b04390d3187987f7afc0ac72179747
MD5 63886c9f80291dabe4760c8fea462ecf
BLAKE2b-256 976b258b9c97545a63a7053b529dc3a69a8286bdbeaa11dbdedd11048baf358b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.14-cp310-cp310-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 96cf3a0c7901f2bf3d367235679165401b1ef48bc31db28a562d46b77f97a3b6
MD5 355a01aa469f6af67f05027f6926ed21
BLAKE2b-256 7d64658dbd110a07a1b969f74cdafbf3e02ea1cf82b3885e1b35b9ad7126f7cf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.14-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 5a3c69a601185de0ca5cbe536736d98ec8c3d6de9adf7cb5a23def5f7c414280
MD5 d076f7756422ef7d655c391a7d7335ef
BLAKE2b-256 c4c46f8049d50162a74d2e05d9ba880cb3772689bbb8e844b7d91f9089256b42

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.14-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fa86450c1612adb772bc4b748586859ef345cb650c5c76c39b83b715a3ce9558
MD5 6dc477d3da26486a5230228ccd90e522
BLAKE2b-256 1b40ea01dc2bebb39f3ba99f39e1b2c6c81c32ddd370a168f21768c24aff6dd8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.14-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 5e39d13c9c084ecffb091f1c6c34dbb67c03fd7491a6440c35322025db7a481f
MD5 e6bdc1ab3313beeb78cecd6aaed9f69f
BLAKE2b-256 66fc1beb26cd0421884613dfad6252ec2ed2158406993f06fbe6ae610250fb97

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.14-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5c0aa5d117077a329fe85d5ba74444630d8a9c0c4e5eec7d094b483c5f677f7a
MD5 e16648aa281899fe259e3397d3df2b21
BLAKE2b-256 98d8250425c6a379004dd100a849e41e6c8f97a5e5bcf39a278662149751da4d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.14-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fbb99c8c12f362b90a6808f15e1265e0325d7c83db1cc3d923b5a5097113d617
MD5 bc05561faef4a60babdd27b571b4be88
BLAKE2b-256 bf27aaad37ccdd5b946d56c44f4b52d6ab5a188cd1301aea7be25670ddd67b68

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.14-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 e24eff6b5e97487c8d37007f396be6708d5e572f0ec25712aa0e0b26114d1900
MD5 9a9d1608250fc481634c57dc15156edb
BLAKE2b-256 9e3362a19cd58dbe2c2653c6d353ca572f60bf24364e8bf132c3193d9649e473

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.14-cp310-cp310-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 52cc6f1884c7130dffdf0228ebab20d5da2c7683e469ebc7b22df5da008ebe1f
MD5 243beb88b7afd1a2a11cb6a61a910af6
BLAKE2b-256 c81626311b295a4e5111f8a387d16cdd5a608f7798c0f4a4c9a627a6ab8566d6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: clp_ffi_py-0.0.14-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 192.5 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.12

File hashes

Hashes for clp_ffi_py-0.0.14-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 483fba40331986e20c3833e6b7703f9b637001531106b52c6901c838017381f2
MD5 c9cbd9d4362052384834be31eac9a4db
BLAKE2b-256 b3b17bc244ea3d3b7a6615efe3b722e7f21372561ecbb92f8ca7eb7f2519c5ea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.14-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 dcc1cdf688be7610fb827382817fa4cd34ad9a749d4ed046dda3dd7f7cda838a
MD5 3caffcf8c8b1e010a40fefa1bce5c079
BLAKE2b-256 220362d7327c5b652fe2008c377904a46407880cc66c69101d3fb62ff01aadfc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.14-cp39-cp39-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 05759c3a695fc1e85f82f1081e6cc2eda90559f578c0a2e911c6f8cbfa74077f
MD5 90a7e35e71297871f7994aae69436e4f
BLAKE2b-256 6f9ca0a452a307d4ee8c351f16fdece5b0d914f272027d8492eb94b2c4934987

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.14-cp39-cp39-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 1ed12861b6ff129285e002a07b83ce55f4b69fe9964035de8fd7f097d95f5256
MD5 fb5a3663206e5596c30279813af1b178
BLAKE2b-256 7ea068a31aeb968220da75462aa2d84c232706ead5087cd99a1899d4471485b3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.14-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6b24abba87478db849720de3a09a2e44ef0c965afa8d1672ec70a348c778dcf0
MD5 5d2f35163773171277af052464cbbd1b
BLAKE2b-256 5492aeb95bf23c204d53c57cd990d02aa9a23217711a070f148838056ca1611f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.14-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 dfb305ba4d319c2e26bc21afde8df1c0983ca0aa6854e8d6ec8c04dd0c140d05
MD5 dce29bc31de1f0d509f01628a376e2e4
BLAKE2b-256 d20cc2bb944a7133a0dbe058c60531ab6ea00d04c07064181c2d380d1ab54306

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.14-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 fcfb816be60c80d9dd3d368c0b0d88e12f4c3bb304014ca125096e6ca5deb77b
MD5 3de0a0ff58659ce84b78d1e8501f3ac3
BLAKE2b-256 cf963b83b29341d27e4c64c32af29eb170a2b81192af33f034545a56cbf9e623

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.14-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f60021df284e43af6e49420dbbe702a8f30c7a3426f514e98c2192c42ba6d002
MD5 4bab4e73dc70fd749fca73c36e5c2b71
BLAKE2b-256 844c0d963df791bd9ab041ca5ce6b2865d7c6e2fb58cab9d798f8ee45f785f37

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.14-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 a50547528e98f2d3a2cc2938118e9c9788f9e2844bce07b5ca6e2ea025ee5fe2
MD5 fa4094be0f01d5269c7261059e282301
BLAKE2b-256 5f752f86d612688a56c76c5c1d25b0343561cf4cd457161bd154a1994cfda6cf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.14-cp39-cp39-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 45517076a6b4a9b8b21f610980bc111469c382517ec9d6c4b5038b216749956c
MD5 3000cd9e792ea9af5eacb07ead770d82
BLAKE2b-256 8a85e14d74d23ed5555964bd97dd7f3ed3e93112be0b34197440fc2abc4e7f17

See more details on using hashes here.

File details

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

File metadata

  • Download URL: clp_ffi_py-0.0.14-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 192.5 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.12

File hashes

Hashes for clp_ffi_py-0.0.14-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 92eb225af44eeb10d24ac181b0ca84ae0c5770f45148cfc03886d5a5c91b23c6
MD5 5c07c2bbc47b95c7f6c1e9db7b0261e5
BLAKE2b-256 ba319ea5464fd279235a453f7ff0d59fd7f02173956db016c45c4d9237dee14c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.14-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c92446694a95c85b59801f1799857825b2dff77817ca961207f37a297baeb277
MD5 c66fef53937376c8ca06a49f06913923
BLAKE2b-256 f0bedc6c12add753b9b62534282267ed3de645159bffb44980de6003864220c2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.14-cp38-cp38-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 a27e4c225087611149b4af16c6f4849cfdb0e6f6d5580ee1a858de0e7280bac1
MD5 5fe300d5771457436c0f601f0eddf6ed
BLAKE2b-256 d0fccc2bcb54ef793b52ae0f62bb2cf9067d320bbadd25f380360e5e1525010c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.14-cp38-cp38-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 390b9b95206acc3a74a44e4db1c0422afd53dc7e192d321688d54ec056ad3ae7
MD5 2423c858f61839ce9982ce41b12dd8bb
BLAKE2b-256 6d09191d0306abfa78949309b09f9b597e9c98ef5ae575e0f9b57e98e72151e4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.14-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 92ef2506a994b92c238bb8f424fcdb1433e3f690bebbe9b5b883c817632ebe0a
MD5 184ef7249d9c3a3d655b2cb01f4646c8
BLAKE2b-256 ece11997d66b9943bf0b14d616e1467febb644b4e8900d69166986145f79de5f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.14-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 335521b39d8397aff9c8043774c51e4fc1a782a8aa1af6dd2bf66a4f3ed7c6e0
MD5 a7efa68cd0c79df746d8bc982cab0e34
BLAKE2b-256 9b94bf0761b4fe3aaf8a15bfb79077e6f582023547c263affcf2cdd0651b3625

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.14-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 303b0cf913b3d6ce511eb944fa059e2d596f7c7ed5d84d586f18199524cb4ea3
MD5 1a9331f933613f3527da86588d478bec
BLAKE2b-256 573e3b77e110d7c65ca68dc721afe126adf12f6a3d64bb625f4c7ca56ae7a735

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.14-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 37187bafbf2905f3289fcdb674e8f4633e7f18a0e61d2c26752e8d59569ef832
MD5 638d5e4476a5c3f41c576cae5651e6a2
BLAKE2b-256 c1ff7442d30d558bc865d06b68843def8fd2a36d5d92e6ea8987eeb6298cfe3f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.14-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 f3d497870c6eca04787184f120db7d9965889f3316db5d16bb98c8aafb8b3054
MD5 5ed2d132c1eccf0c7226c67477fbe305
BLAKE2b-256 0c216bf8d36d75efa367df462cb22406e175997a2128bf66ad631f4bafa5901a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.14-cp38-cp38-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 25e0131af5e1fe688c54eb46e4936bb203e737350b24fe3d44c877c75aaa1bd0
MD5 80e88783c1b64476b443d32627e6bca2
BLAKE2b-256 b566f391d01bc263db5b14469737e5eebf33e8ef58c8025ddb1749bc2fd1d689

See more details on using hashes here.

File details

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

File metadata

  • Download URL: clp_ffi_py-0.0.14-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 192.5 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.12

File hashes

Hashes for clp_ffi_py-0.0.14-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 9622af7af4d219f490fe1b13796ea3b39cb2aa04079ad51133e90bb3b1fb92cf
MD5 4f309c749f07154a299a1190ac032ee4
BLAKE2b-256 c3161ab1ebab36abba96e6b40a01b639bf8c5ed03631291abc092ffb202d4fd7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.14-cp37-cp37m-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 5bf5ca9594e0eaf4d5bc3d4589af5d8a16f483cd648b7e4f746f9341c3d3485d
MD5 d100d98eeddb432a21e8df79094ba491
BLAKE2b-256 83ed545a1210dea6654f9c69bc7418ea21d3d0fe595126ad177872663dc286f3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.14-cp37-cp37m-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 94e0b0b1b6536cbc332e7c32fdac64de58f792615a6ffbd432acf92dcecf8e1a
MD5 2e8c4f531a547a1e9517deb228eef31d
BLAKE2b-256 2867ef8c75cb1eb7eb6fef262152262fc115ceaf1174f83f5b181be30b46fe82

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.14-cp37-cp37m-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 16b28c673bad18651dd625b7fef2ce24f29bb06e34b38af5627a654e0ac70344
MD5 e99b9e4b367b131b35fcf1cfaf87c35a
BLAKE2b-256 ad09f742e61081b018d3a8eb429b907e85b9b9ddea002fd918c3f2bdd029ea8f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.14-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 23321af53bbacc7d8985aad7a67c597045a1ad4fca3fd761256058f2b4c3fd34
MD5 5e208078979eea62fc591d025027796d
BLAKE2b-256 861b28b574ae3c8d437ff89fc01628f6036707deaa18562143fe2c335736c961

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.14-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 fadf63c55e08c3ea5b3b67b41d0b078b57609123978add95f678266b34b09779
MD5 0146bdabc22ced29f0885ea3e3284771
BLAKE2b-256 e9d8bbb6148da1c262f8e286e0fd35f1b896d0c3058e931da303b443c9b08a8a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.14-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c61909216bdb924e80c82d2fe8c04bff1ddf8ef720fce96039903cfb14a1cb61
MD5 8660f3795b6458a34bff75930ab360ce
BLAKE2b-256 acbe5971108af6349776b072592ac0f782015d98ed82281a56ccb6c03d941ef8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for clp_ffi_py-0.0.14-cp37-cp37m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 93e10f448d33f0b7ba13ebb5f21518cab9c86fe4d04fbae30b7eabf49baf5b74
MD5 ac685a92e98225c869bd8b0d85e32b97
BLAKE2b-256 ad415f3be210406307cbe933be2e7dd889e645f30922426e445da36cd597cf8c

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