Skip to main content

CAPIO Logging Facility and interactive trace inspector

Project description

CALF - CAPIO Logging Facility

CALF - CApio Logging Facility

C++ 17 Python 3.10-3.14

C++ tests Python tests

Calf is a structured, header-only C++17 logging library for the CAPIO ecosystem. It produces indented JSON output where each logged scope becomes a self-contained object with enter/exit timestamps and a nested array of events, making logs machine-readable without post-processing.

Calf is designed to work in two distinct environments:

  • STL safe processes: uses std::ofstream for I/O (StlLogger)
  • CLI loggers (STL safe): logs to CLI (StdOutLogger)
  • NON STL safe processes: uses raw syscalls whenever STL is not safe (SyscallLogger) Both backends share the same JSON structure and produce identical output formats.

CALF Inspector

CALF includes an interactive Inspector for exploring and analysing structured trace logs. It provides a terminal interface and a responsive web interface with call-tree navigation, lazy trace loading, search, timing details, and aggregated statistics.

See the CALF Inspector documentation for installation, usage, web-server options, and keyboard shortcuts.

Requirements

  • C++17 or later
  • CMake 3.16 or later
  • Linux for SyscallLogger backend
  • Python 3.10 or later for the Python bindings and Inspector

Testing

The GoogleTest C++ suites and Python binding tests run on Linux and macOS. The raw syscall logger suite is built only on Linux because that backend is not supported on macOS.

cmake -S . -B build -DCALF_TESTS=ON
cmake --build build --parallel
ctest --test-dir build --output-on-failure

CALF_TESTS=ON enables CALF_PYTHON_TESTS by default and builds the Python extension needed by those tests. To run only the Python binding test target:

cmake --build build --target calf_python_tests

Output format

Each log scope opened by START_LOG becomes one JSON object in a root array. Inner LOG calls populate the events array. Scopes close with a ts_exit timestamp.

[
  {
    "invoker": "capio_openat",
    "file": "posix/open.cpp",
    "line": 77,
    "ts_enter": 42,
    "args": "dirfd=4, pathname=/tmp/foo, flags=0",
    "events": [
      { "ts": 43, "invoker": "get_file_location", "file": "location.hpp", "line": 96, "args": "path=/tmp/foo" },
      { "ts": 44, "invoker": "get_file_location", "file": "location.hpp", "line": 96, "args": "File found on node host0" }
    ],
    "ts_exit": 45
  }
]

Each thread writes to its own log file under the log directory, named after the thread ID.

Integration

CMake FetchContent

include(FetchContent)

FetchContent_Declare(
        calf
        GIT_REPOSITORY https://github.com/High-Performance-IO/calf.git
        GIT_TAG <commit-sha>   # pin to a specific commit for reproducible builds
        GIT_SHALLOW TRUE
)

set(CALF_LOG ON CACHE BOOL "" FORCE)
set(CALF_BUILD_PYTHON_BINDINGS OFF CACHE BOOL "" FORCE)
set(CALF_TESTS OFF CACHE BOOL "" FORCE)

FetchContent_MakeAvailable(calf)

Then link each target to the appropriate backend:

# Server binary
target_link_libraries(my_server PRIVATE calf::stl)

# POSIX syscall interceptor (.so)
target_link_libraries(my_interceptor PRIVATE calf::syscall)

CMake options

Flag Default Description
CALF_LOG ON Enable logging macros. When disabled, logging macros are no-ops.
CALF_TESTS OFF Build and register the GoogleTest suites with CTest.
CALF_PYTHON_TESTS Value of CALF_TESTS Build the Python extension and register its binding tests.
CALF_BUILD_PYTHON_BINDINGS OFF Build and install the private calf._py_calf Python extension.
CALF_DEFAULT_COMPONENT_NAME calf Component directory and CLI header name used by configured targets.
CALF_DEFAULT_LOG_DIR_NAME ./calf_logs Default log root when CALF_LOG_DIR is unset.

Pass flags during configuration with -D<flag>=<value>. Common examples:

# Build all C++ and Python tests.
cmake -S . -B build -DCALF_TESTS=ON

# Build only the C++ tests.
cmake -S . -B build -DCALF_TESTS=ON -DCALF_PYTHON_TESTS=OFF

# Build the Python bindings without tests.
cmake -S . -B build -DCALF_BUILD_PYTHON_BINDINGS=ON

# Override compiled-in logging defaults.
cmake -S . -B build \
  -DCALF_DEFAULT_COMPONENT_NAME=my_component \
  -DCALF_DEFAULT_LOG_DIR_NAME=/var/log/calf

Usage

Python bindings

The Python package includes bindings for the STL file logger and stdout logger, as well as the CALF Inspector.

Installation

Build and install the package from the repository root:

python -m pip install .

Install a published release from PyPI with:

python -m pip install capio-calf

For development, install it in editable mode:

python -m pip install -e .

The build uses CMake and pybind11 automatically. To build the extension directly with CMake instead:

cmake -S . -B build -DCALF_BUILD_PYTHON_BINDINGS=ON
cmake --build build

STL logger

calf.Logger is an alias for the STL-backed calf.StlLogger. Use it as a context manager so the logging scope is closed deterministically:

import calf

with calf.Logger("processing request") as logger:
    logger.log("reading input")
    logger.log("request complete")
    print(logger.log_file_name)

CALF automatically uses the current Python function name as the invoker. At module scope it uses the script filename, while interactive sessions use python. Pass invoker= to override the detected name. The other optional constructor arguments are file, line, and tid. If tid is omitted, CALF uses the current thread ID. close() can be used instead of a context manager, and get_log_file_name() returns the STL log path.

CALF_LOG_DIR and CALF_LOG_PREFIX configure file output in the same way as the C++ STL logger.

Stdout logger

The stdout logger supports scoped logging and direct messages:

import calf

options = calf.StdoutLogger.get_options()
options.workflow_name = "example"
options.color = calf.CLI_LEVEL_INFO
options.print_header = True
options.use_color = True
calf.StdoutLogger.set_options(options)

with calf.StdoutLogger("starting") as logger:
    logger.log("working")

calf.StdoutLogger.print("finished")

Available colors are CLI_LEVEL_RESET, CLI_LEVEL_STATUS, CLI_LEVEL_INFO, CLI_LEVEL_WARNING, and CLI_LEVEL_ERROR.

Inspector

Installing the package also installs the bundled CALF Inspector:

calf calf_logs
calf calf_logs --web

It can also be launched with python -m calf. See the CALF Inspector documentation for all options.

Server / non-interceptor code

Include StlLogger.h. Logging is enabled by default on every thread.

#include <calf/StlLogger.h>

void handle_request(int tid, const char *path) {
    START_LOG(tid, "call(path=%s)", path);

    LOG("processing path=%s", path);

    // ... do work ...

    LOG("done");
} // ts_exit written here when log goes out of scope

POSIX syscall interceptor

Include SyscallLogger.h. Logging starts disabled to avoid re-entrancy during library setup. Call ENABLE_LOGGER() once setup is complete.

If the interceptor uses syscall_no_intercept from the syscall_intercept library, redirect Calf's syscalls before enabling:

#include <calf/SyscallLogger.h>
#include <libsyscall_intercept_hook_point.h>

// Called once during interceptor initialisation.
void setup() {
    SET_CALF_SYSCALL_HANDLER(syscall_no_intercept);
    ENABLE_LOGGER();
}

long hook(long syscall_number, ...) {
    START_LOG(capio_syscall(SYS_gettid), "call()");
    // ...
}

Use DISABLE_LOGGER() around internal operations that must not appear in the log (e.g. Calf's own file I/O):

void internal_op() {
    DISABLE_LOGGER();   // RAII: re-enables on scope exit
    // ... internal syscalls not logged ...
}

Macros

Macro Description
START_LOG(tid, fmt, ...) Opens a log scope. Creates a Logger log RAII object on the stack.
LOG(fmt, ...) Appends an event to the current scope's events array.
ERR_EXIT(fmt, ...) Logs then terminates (or throws if continue_on_error is true).
ENABLE_LOGGER() Activates logging on the calling thread (POSIX build only).
DISABLE_LOGGER() Suspends logging for the current scope via RAII.
DBG(tid, lambda) Wraps a lambda in a debug-only log scope. Compiled out in release builds.
SET_CALF_SYSCALL_HANDLER Sets non intercepted syscall function handler. available only in SyscallLogger backend.

Environment variables

Variable Description Default
CALF_LOG_DIR Root directory for all log output. ./calf_logs
CALF_LOG_PREFIX Filename prefix for per-thread log files. Backend-specific

Log files are written to $CALF_LOG_DIR/<backend>/<hostname>/<prefix><tid>.log.

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

capio_calf-0.1.1.tar.gz (55.7 kB view details)

Uploaded Source

Built Distributions

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

capio_calf-0.1.1-cp314-cp314-musllinux_1_2_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

capio_calf-0.1.1-cp314-cp314-musllinux_1_2_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

capio_calf-0.1.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (227.6 kB view details)

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

capio_calf-0.1.1-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (210.5 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

capio_calf-0.1.1-cp314-cp314-macosx_15_0_x86_64.whl (137.7 kB view details)

Uploaded CPython 3.14macOS 15.0+ x86-64

capio_calf-0.1.1-cp314-cp314-macosx_15_0_arm64.whl (129.5 kB view details)

Uploaded CPython 3.14macOS 15.0+ ARM64

capio_calf-0.1.1-cp313-cp313-musllinux_1_2_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

capio_calf-0.1.1-cp313-cp313-musllinux_1_2_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

capio_calf-0.1.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (227.4 kB view details)

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

capio_calf-0.1.1-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (210.1 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

capio_calf-0.1.1-cp313-cp313-macosx_15_0_x86_64.whl (137.3 kB view details)

Uploaded CPython 3.13macOS 15.0+ x86-64

capio_calf-0.1.1-cp313-cp313-macosx_15_0_arm64.whl (129.0 kB view details)

Uploaded CPython 3.13macOS 15.0+ ARM64

capio_calf-0.1.1-cp312-cp312-musllinux_1_2_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

capio_calf-0.1.1-cp312-cp312-musllinux_1_2_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

capio_calf-0.1.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (228.2 kB view details)

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

capio_calf-0.1.1-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (210.1 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

capio_calf-0.1.1-cp312-cp312-macosx_15_0_x86_64.whl (137.2 kB view details)

Uploaded CPython 3.12macOS 15.0+ x86-64

capio_calf-0.1.1-cp312-cp312-macosx_15_0_arm64.whl (128.9 kB view details)

Uploaded CPython 3.12macOS 15.0+ ARM64

capio_calf-0.1.1-cp311-cp311-musllinux_1_2_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

capio_calf-0.1.1-cp311-cp311-musllinux_1_2_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

capio_calf-0.1.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (226.8 kB view details)

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

capio_calf-0.1.1-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (209.8 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

capio_calf-0.1.1-cp311-cp311-macosx_15_0_x86_64.whl (136.2 kB view details)

Uploaded CPython 3.11macOS 15.0+ x86-64

capio_calf-0.1.1-cp311-cp311-macosx_15_0_arm64.whl (128.7 kB view details)

Uploaded CPython 3.11macOS 15.0+ ARM64

capio_calf-0.1.1-cp310-cp310-musllinux_1_2_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

capio_calf-0.1.1-cp310-cp310-musllinux_1_2_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

capio_calf-0.1.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (225.5 kB view details)

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

capio_calf-0.1.1-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (208.7 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

capio_calf-0.1.1-cp310-cp310-macosx_15_0_x86_64.whl (134.7 kB view details)

Uploaded CPython 3.10macOS 15.0+ x86-64

capio_calf-0.1.1-cp310-cp310-macosx_15_0_arm64.whl (127.5 kB view details)

Uploaded CPython 3.10macOS 15.0+ ARM64

File details

Details for the file capio_calf-0.1.1.tar.gz.

File metadata

  • Download URL: capio_calf-0.1.1.tar.gz
  • Upload date:
  • Size: 55.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for capio_calf-0.1.1.tar.gz
Algorithm Hash digest
SHA256 2d72208f844c86a98c9196af3cea7f1751ab62adfb606e70dbf9bce86c51d3a1
MD5 c66ec1f623e1b8c1f78a3be51bd7c5aa
BLAKE2b-256 ea2e65823f1aa908c535658505a4770d5d9af93c5e792e2ca76425a615803b95

See more details on using hashes here.

File details

Details for the file capio_calf-0.1.1-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for capio_calf-0.1.1-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3e765966db0b036a42664e422960fa2fa5d99bf77530870e64538ecbd904d7c2
MD5 69b7b0e4e95f1335a3830d7e9bcddb0b
BLAKE2b-256 33ac471fb3f3940974de0ce24c2add0ab5867d80a4ae61545bc197795b55c954

See more details on using hashes here.

File details

Details for the file capio_calf-0.1.1-cp314-cp314-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for capio_calf-0.1.1-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 326e535d5db9e714b847319a90dbbf912e128d401770ab8464b5cd4fe8495d69
MD5 3e7e7b75fcb3e0d81743c0431a9eefaa
BLAKE2b-256 e63b3b2fdd217af2bef0d8328eb75a904c37bf143fb14f6fd16627a8969a2214

See more details on using hashes here.

File details

Details for the file capio_calf-0.1.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for capio_calf-0.1.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5f0a41599475c7491861884b729d80787a6d5431a2f7929dc3b0c46e2f41bd81
MD5 3622ac2544f0a2ebcb43f13dc4a0f2e1
BLAKE2b-256 8487ae0e2ee7dfb51293f5338d0c4dbaf04222cf041880fac1d11c8ffa9a223b

See more details on using hashes here.

File details

Details for the file capio_calf-0.1.1-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for capio_calf-0.1.1-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 5c62bb1ac359ed6af8702d845f7bd564aaa6bc9e4cfddd51cccb21dcedfe48e3
MD5 4b9a3d07d7238f01cbab7a5e3460b4c9
BLAKE2b-256 c015afe2f487a1a0932b9b55b99b0d795ce5988d53b71573eb6864de1d337d83

See more details on using hashes here.

File details

Details for the file capio_calf-0.1.1-cp314-cp314-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for capio_calf-0.1.1-cp314-cp314-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 1510a63532a2a595c1bcd17cadfb98b79b610d6700ee90b1d781772b7542c6f0
MD5 e14249c61a4e0b1fdf2c63451356fbac
BLAKE2b-256 7d75fde0f93de5a5b9c8bcef5f7c0d45e45d123c96bfdecb8283e44b19caec24

See more details on using hashes here.

File details

Details for the file capio_calf-0.1.1-cp314-cp314-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for capio_calf-0.1.1-cp314-cp314-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 8d4a57c203f461bb766312f1cf40aed10a8d15f6083976fce23ef8c922385ec3
MD5 01a1f8b4fb5f6911f082b27299d8659a
BLAKE2b-256 f948c8a473561c7df4de0f5c06160dce11c3e177c4eac8823c5017d3052cb593

See more details on using hashes here.

File details

Details for the file capio_calf-0.1.1-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for capio_calf-0.1.1-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 74eed99825a5319934557a6d434990b61f9638a2262a1f51d6d5dbf762e47575
MD5 d7dce22287f6f83f257bfd29141ce797
BLAKE2b-256 3c74c9e19f100cf61b181df27b1e99fea496d2fd0879938afd9ae9335b566a64

See more details on using hashes here.

File details

Details for the file capio_calf-0.1.1-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for capio_calf-0.1.1-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 259613f740855e20dd55d7af34a9ca98d1070d1a183b23ac8b8d906da65da51a
MD5 f88dc480658ee4daeaa37846dff9958b
BLAKE2b-256 b0e44c60024f4f72e6aea35c867e94959fd89b44c1ecab7ed0eb446e62908d2a

See more details on using hashes here.

File details

Details for the file capio_calf-0.1.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for capio_calf-0.1.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 853a98f5d42b3dfe32e828a144f5cf49d4f0b00b3e0775999f46f43ab9d305d3
MD5 816787a9b9eaa4edb08fb6e8751058e7
BLAKE2b-256 f5427527b724138fd508b034b570fd3ff0000f3e9a455ae5e4c123056437ee6a

See more details on using hashes here.

File details

Details for the file capio_calf-0.1.1-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for capio_calf-0.1.1-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 5fe5753eb6400b339f7242bedd48acfeeb56829254e1d2fc32cddba7175b3b06
MD5 2ffef5896bb6d3bbeb6b27a138eb7a43
BLAKE2b-256 58072425e8994b8a31c928b0f1d25af47b5712c8dacd07e19daef8b3ef06cd0f

See more details on using hashes here.

File details

Details for the file capio_calf-0.1.1-cp313-cp313-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for capio_calf-0.1.1-cp313-cp313-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 4f8f94fed899f0458fb16de498eade0179e6bc2d2253d59ea0eac5ecabff0e54
MD5 96c6f29e3535687d7a314230aaf06cfa
BLAKE2b-256 8684db7430ef34cddfbdf7e3d3c2d1c93707421a3ce692eca7e7de61e2eed476

See more details on using hashes here.

File details

Details for the file capio_calf-0.1.1-cp313-cp313-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for capio_calf-0.1.1-cp313-cp313-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 08d9ffba6c195ea19150d464dc08628a1d5b65a55036e8814188942750a6cc98
MD5 5b4e9119fe1522760ce43b84a59d667e
BLAKE2b-256 16eb3c220036e5c2489154f399f4fa7aab621b33c81741f671010e968199e06c

See more details on using hashes here.

File details

Details for the file capio_calf-0.1.1-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for capio_calf-0.1.1-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 7715f07ebe0a5f60ab7e1612b101fda4e484eab3c9b76b6996f434fa0e683bc0
MD5 89a53be660eaa6466e277563dcb01c4f
BLAKE2b-256 c05bd31e0525c9b2a50bacdf2d571d706514a16cdbab1e3d091eafc1df206a41

See more details on using hashes here.

File details

Details for the file capio_calf-0.1.1-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for capio_calf-0.1.1-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 3b6d96b6d3cc14b6043dc5acdd97487d2aabe60d61d94f1c5d169a511d88841d
MD5 e805a0433c638488d869c06133177123
BLAKE2b-256 92caaecbbdc1c3be5b6abd490816b23149d673d18ede6743ca734b08bf1adf52

See more details on using hashes here.

File details

Details for the file capio_calf-0.1.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for capio_calf-0.1.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 23655a8b028189752653ff19af7b26291d79abc40f259e667174177663865190
MD5 2ddf7b3b0d3d493b26b29ce6f1395b48
BLAKE2b-256 863ff4759515ae2259397934531b222845af51784a4075fd6a2a47e0fc56ce0b

See more details on using hashes here.

File details

Details for the file capio_calf-0.1.1-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for capio_calf-0.1.1-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 dfb63c0f557b4d31b3410fefca39a6037651c83d8fa17cdf9f5785b7aa1e6c27
MD5 814afb71a5b8f389364375565c246ba8
BLAKE2b-256 a870817fbd9a0b8b45915017798fb3c242b871b28595b5aebe21264a1015ec4f

See more details on using hashes here.

File details

Details for the file capio_calf-0.1.1-cp312-cp312-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for capio_calf-0.1.1-cp312-cp312-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 123b38ab23cda6e97c24d7bd2aa0f850c3e10df13084db1bb77a5b22b0646539
MD5 dc44b755b66ea3057f759a7415098a39
BLAKE2b-256 921e827b940eb3b1d2e3ad7bede1f76075904b1921190a769416281dda4c0c1d

See more details on using hashes here.

File details

Details for the file capio_calf-0.1.1-cp312-cp312-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for capio_calf-0.1.1-cp312-cp312-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 6cf2e6d278613f4baa5493356323b0a410c7cceb3f75ee5b443bcc7cb3ca8fbc
MD5 2cdb9c75961503d2d0a653ca2f0511ff
BLAKE2b-256 29e276f72815eeb0e1f85f5d201e52e2b338a04960c444ed737a8a9de2c5209f

See more details on using hashes here.

File details

Details for the file capio_calf-0.1.1-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for capio_calf-0.1.1-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 da56ebffd439bf9a73e337d88e89ced0fa1912a602903bf5b4fa81b7bf633249
MD5 c6eb0c19fce953e08b282cdb8d7033a6
BLAKE2b-256 09624e3a7c3dd03dcdbfd17dda08975d99307b3d8881ee74479767613d066a35

See more details on using hashes here.

File details

Details for the file capio_calf-0.1.1-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for capio_calf-0.1.1-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 b8ee54783e0c2a8a9dac4f27173d9784eaaef42c57d9797d21587c5819465ef9
MD5 ab3bc9a8157a225059ec2ca2b902a037
BLAKE2b-256 0252af6064530e788b007b6fe55cf0dde5191db406be0d101c697596e1589d91

See more details on using hashes here.

File details

Details for the file capio_calf-0.1.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for capio_calf-0.1.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 df49e6b0462ec5c70efee1456587f530c7207ec230b2dedff7604b1ab1d4e884
MD5 15a9474bf9627685a9225b69ee5a034f
BLAKE2b-256 3495e045039c0ac902f754e64003b2e34b95d7e3b3dc5508d4d0b4c4c059f914

See more details on using hashes here.

File details

Details for the file capio_calf-0.1.1-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for capio_calf-0.1.1-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 20e195689f73adcc43dacc602dd0cc47635b4bb32aa145b960f9683163b8920f
MD5 bda9cbd325aaa86ffb45c5411230bd79
BLAKE2b-256 eea64b91e6cdca015e437de14423a181e210476d51e30ba6481c89b403b97f66

See more details on using hashes here.

File details

Details for the file capio_calf-0.1.1-cp311-cp311-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for capio_calf-0.1.1-cp311-cp311-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 5dd5e1fa03e504bab2515b191a8e632680c53afb076e738f84c98a8b32196aa2
MD5 e1da642b1cf4ffa02448eaebf70c8a24
BLAKE2b-256 a2f01046527cc19a6b50d173efcf7ffb700d4af6e59a1ace8ec403f5ce89a32c

See more details on using hashes here.

File details

Details for the file capio_calf-0.1.1-cp311-cp311-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for capio_calf-0.1.1-cp311-cp311-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 c534294206bf0c55af0e2ac07ebc315894ffe93917707a48040e5d3c8b0f5e04
MD5 6aea786a3e5d31029fa77f5c1a9cf114
BLAKE2b-256 707dfaad37c6bdd526269779691f57e49df12a183fa3adf2efc537a3c17db165

See more details on using hashes here.

File details

Details for the file capio_calf-0.1.1-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for capio_calf-0.1.1-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 4ba27362b83fde7b0c8d3511799579300d00920577f9b9fdf03f888e43df7895
MD5 e60496f5c9cd99d0322c52aeea87cdae
BLAKE2b-256 d8bf801c9b6d2b1337a90f5360497557ab57218b2d0b6cee822bdcee06679721

See more details on using hashes here.

File details

Details for the file capio_calf-0.1.1-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for capio_calf-0.1.1-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 7e70fc5c0aa904068faf944034689e705b7a4d779fcae1290fb2e48571faa418
MD5 cfbb9254dccec34a0f9c59a361c2fc9d
BLAKE2b-256 b2d6969046cd1c8b128d7085a697723e43201cc3470be61ba480c96ffeb9d028

See more details on using hashes here.

File details

Details for the file capio_calf-0.1.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for capio_calf-0.1.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f7f32eb7e0d92fcac435591ad984b50a0b795f317028c0b7693cf2309c01eea1
MD5 5bfb0cc3a7a3085159bc1a831296082f
BLAKE2b-256 4cb9019beea29d650753142caa4df76bfed8f24ffbc9ec5a463db89cbda82270

See more details on using hashes here.

File details

Details for the file capio_calf-0.1.1-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for capio_calf-0.1.1-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 4691bca41fef71e85634864886a77322459c503e2ce61761733a53d0710908b8
MD5 316105e68b5529ae7db46bcc1d3a35a2
BLAKE2b-256 fe84cdeb151352ffe97830b4629779764ef96c1c430ff0b312f37775c8637464

See more details on using hashes here.

File details

Details for the file capio_calf-0.1.1-cp310-cp310-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for capio_calf-0.1.1-cp310-cp310-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 4b9d05be839022510ed5a77df3206e52b6ab463a46d715fe0f0d7721e90e6119
MD5 bfa00291f69582063fb1258d5b101430
BLAKE2b-256 5059fc28ccf0cdd54ba4e68b0b7630db3f2ab2190ca9e325d600518abf433951

See more details on using hashes here.

File details

Details for the file capio_calf-0.1.1-cp310-cp310-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for capio_calf-0.1.1-cp310-cp310-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 3d7267fe68eda6bb6c8cf1f82f738694eff094a4403130da7954def1731f6572
MD5 7ee719960d2086575ffbf8247b4d154a
BLAKE2b-256 935a221307dbe4666200fe92cd1c26248d82fcdaf85916b1c86f81ff161e8db6

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