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.0.tar.gz (46.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.0-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.0-cp314-cp314-musllinux_1_2_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

capio_calf-0.1.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (218.5 kB view details)

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

capio_calf-0.1.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (201.4 kB view details)

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

capio_calf-0.1.0-cp314-cp314-macosx_15_0_x86_64.whl (128.7 kB view details)

Uploaded CPython 3.14macOS 15.0+ x86-64

capio_calf-0.1.0-cp314-cp314-macosx_15_0_arm64.whl (120.4 kB view details)

Uploaded CPython 3.14macOS 15.0+ ARM64

capio_calf-0.1.0-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.0-cp313-cp313-musllinux_1_2_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

capio_calf-0.1.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (218.3 kB view details)

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

capio_calf-0.1.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (201.0 kB view details)

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

capio_calf-0.1.0-cp313-cp313-macosx_15_0_x86_64.whl (128.2 kB view details)

Uploaded CPython 3.13macOS 15.0+ x86-64

capio_calf-0.1.0-cp313-cp313-macosx_15_0_arm64.whl (120.0 kB view details)

Uploaded CPython 3.13macOS 15.0+ ARM64

capio_calf-0.1.0-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.0-cp312-cp312-musllinux_1_2_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

capio_calf-0.1.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (219.1 kB view details)

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

capio_calf-0.1.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (200.9 kB view details)

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

capio_calf-0.1.0-cp312-cp312-macosx_15_0_x86_64.whl (128.2 kB view details)

Uploaded CPython 3.12macOS 15.0+ x86-64

capio_calf-0.1.0-cp312-cp312-macosx_15_0_arm64.whl (119.9 kB view details)

Uploaded CPython 3.12macOS 15.0+ ARM64

capio_calf-0.1.0-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.0-cp311-cp311-musllinux_1_2_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

capio_calf-0.1.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (217.8 kB view details)

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

capio_calf-0.1.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (200.8 kB view details)

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

capio_calf-0.1.0-cp311-cp311-macosx_15_0_x86_64.whl (127.1 kB view details)

Uploaded CPython 3.11macOS 15.0+ x86-64

capio_calf-0.1.0-cp311-cp311-macosx_15_0_arm64.whl (119.6 kB view details)

Uploaded CPython 3.11macOS 15.0+ ARM64

capio_calf-0.1.0-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.0-cp310-cp310-musllinux_1_2_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

capio_calf-0.1.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (216.5 kB view details)

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

capio_calf-0.1.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (199.5 kB view details)

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

capio_calf-0.1.0-cp310-cp310-macosx_15_0_x86_64.whl (125.7 kB view details)

Uploaded CPython 3.10macOS 15.0+ x86-64

capio_calf-0.1.0-cp310-cp310-macosx_15_0_arm64.whl (118.4 kB view details)

Uploaded CPython 3.10macOS 15.0+ ARM64

File details

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

File metadata

  • Download URL: capio_calf-0.1.0.tar.gz
  • Upload date:
  • Size: 46.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.0.tar.gz
Algorithm Hash digest
SHA256 108b9afe9ecd14e37c909d454fbd500133e0e3c85b07bbe78f22bf1110142f8a
MD5 012424fa9d2fb9567ff8e4c51e906644
BLAKE2b-256 18e6bcf2dc354130aa277869553395b7eaadc4165373f85063c160c35745b164

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for capio_calf-0.1.0-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 16be825b77101b62110aa86e2ec2d838d77f2ca8563df6b242be47bf952a0575
MD5 78808bc2f0f16ad487de0301720a88c9
BLAKE2b-256 59205a921d907664cc35e331392595f1ba647a7cb9395c882ced4a2c51d96e33

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for capio_calf-0.1.0-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 666e436f156d43f9e3a78b6db393a6ab69878a4433e3e8f206b1d895f484d61d
MD5 168a83f58187a26a4eea062f4909906a
BLAKE2b-256 3d25c4c7f903b5fa59cbbc851f2f9b5ac401f600681b05abcddccc1bc9201ab4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for capio_calf-0.1.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6f5463f9d618abb5379a4d9c55eb62b14f030d5a70b31f05611b238be9831f78
MD5 7b8bd96ecf17680df3c12a8c6d199799
BLAKE2b-256 d5372df062818e081793513eab098afddfca5ad923eafa31d1480715e353f9f3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for capio_calf-0.1.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 9450715b58428aadd4adad03a23e2e89f564abef1f2ebf4bd6c5f7b92774f391
MD5 ec7493bc3839b0ccf15ee47995471433
BLAKE2b-256 ffb05f17b0422a87f97963664f77cd3baefb2dc9ca5c5dd2ec0012d810ce6217

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for capio_calf-0.1.0-cp314-cp314-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 9c0ba2879fe697283ac064415b289b70cf1701f4a1f32e1eac3bcb605486c949
MD5 2d29a00f258a0366cae9889e8b87d034
BLAKE2b-256 7b56441770d558755204fd4573943bf3a1fa1a68255d241acf167b45b8d010d5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for capio_calf-0.1.0-cp314-cp314-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 a424b36feefed839ae84b3f168f891c2a0e2cf27c480b44508c620ea33cd4eaa
MD5 e09586100bf71670df693c36935e409c
BLAKE2b-256 bb9b44a4404a23a184211cee486e06e931c140617d30588f076db8fef61b9775

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for capio_calf-0.1.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ecfdf3d8d206a96b942b62be9ed92cd74536dc5591a873f5647b9b96ee968a57
MD5 e18519fb56fe6d91a71c84eb6f092558
BLAKE2b-256 713e5f567dfbe3e95b4e7670e701cb234f66cf9752d4ca6e213a981c015b09eb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for capio_calf-0.1.0-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 598635cb5e33596665c4cd2bb232a9ecf10cdb68e51613db53f356e69481c097
MD5 abb49470f550fa574a76d560e990c567
BLAKE2b-256 e1d8bdc2538b1f7e8acfbe8e4d2262f003658e68c87251d82e0e3fc72cc16b1c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for capio_calf-0.1.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8a84ba254236839d05fb2c78fdf89af94447c653842036c7a2f061fc48a4ff8b
MD5 2f59caa16ce8504bf043d355e93ef091
BLAKE2b-256 41876435cab196b9f4a8242c79a6cf7f37bb8b043035330011165f5d7dae508e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for capio_calf-0.1.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f40a8201f11c2571f91037329b1179df62833b4418ea3eff12303f2726d70203
MD5 fd3aaf878c249a4161def902cf2cb166
BLAKE2b-256 cdd16beb68b689a53cb70c5ea1c7925789f36b8b8cd0759f70ea38bab0d6f3ef

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for capio_calf-0.1.0-cp313-cp313-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 e73b45672c97b63fd574366090150cbc57e700fcdbf4eddecc28d90b7e5866e7
MD5 dd31b5a429890d9de0b47f254f9b2357
BLAKE2b-256 387832932cb3b7e260d4e57df8ebcc4e4e1ac4b015b7b72c5305e567251f6b2e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for capio_calf-0.1.0-cp313-cp313-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 b70ca99e3383a0feb7c102cee5c7e4626160958dd18b8ad50eb55b0a023d96bf
MD5 81847075f6f1ad1c71dea9fdd538c100
BLAKE2b-256 dc775033c83ccda88055e83840970591377476615a6bfa66dfa875f23bd32eb6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for capio_calf-0.1.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 8e7d0458a380d03b7c8996e5eb269f401687d2bd458d0b35eadac5b7450b39b9
MD5 644d762ad36f376cd9d4a4271b448ef6
BLAKE2b-256 88c5b71bf98bbd143275597b12af4f09bbfbf17ca1e1de4c267e8f755a646433

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for capio_calf-0.1.0-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 0726aba095121d712ee7dd3ee28c70e90ed988e1df3a63ee20fd88b6ef24540c
MD5 01b79e366a6a319214e728e997014b80
BLAKE2b-256 7f764dc984619c6208227adf4bffff524868374ab615161cb35d8820fa67dc0e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for capio_calf-0.1.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b11d944c65eee0bd37a552b8bcd55df93e04bb7cf0a4af3332e5d4f29a420777
MD5 9f350ff5c3f8715060d96a71e2de4f87
BLAKE2b-256 1c827f8f0a23b167ac287ece9298671203b2334e94748d902e22bfdafe96ccec

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for capio_calf-0.1.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d024bb183917f4e0edba14a2d417695495253d77801db65e14e1d4b7471498e3
MD5 4fb72da9867dde6a7b1429704db05b7f
BLAKE2b-256 b89c34241c65e2a61d6bc2a70617a7c894466a2ff8ec0cb21f84e7e95e9e085f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for capio_calf-0.1.0-cp312-cp312-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 9d5ff56862c71919146dc4b7bcea5c598a54497ff406a292b2b95626ea6292a7
MD5 c757e8a8ca2f467c8e8c0fe04e37425f
BLAKE2b-256 461a6eae04985953762674bc342546b229e25fb548b5fba9752134185246d78d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for capio_calf-0.1.0-cp312-cp312-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 b666e8ffae7a20bc3733cb5979d5e398d9c251e771bc03bdac108c1415c3120a
MD5 7bde78508343aea46b342a7aa6281f64
BLAKE2b-256 c425d2a62d7c03191e6660315a91ae2825267634ce1fde7c20b8ba4c86345da9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for capio_calf-0.1.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ba88dec582284138ad4c58dcdac58c45d050a8a7c47208d0ae2d1b6c45c40330
MD5 637bd0d4f2ef9741f35c52c957ec8490
BLAKE2b-256 3771500be2b7e9e70a54ec687bcdac34a51f39d61bfdc353583e74fe823a3078

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for capio_calf-0.1.0-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 c7d095652f94a754c554cf1abe300ac8d01ce4487bf12ec7f2b2f4f888ee7f2e
MD5 3a9cdfb5230cc121a3314a118151b041
BLAKE2b-256 73ffa678f3e2659cd6872608de76a64776290eb18845dc17d373c6b1925c107d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for capio_calf-0.1.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f0cd0de04fa55a0fd9b7688275001d74b95b2bd9f46caa1583439fd8ef7998fc
MD5 693ee6b84f502db0484134c774c98e85
BLAKE2b-256 406bfd722d4f396c2b35a9acb19da5b4dd7ed57576bbe6052d9aa3ba921fb3b2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for capio_calf-0.1.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 0f52e23f653d849ac6fd86d899413fad1caf00af62e5b49ab67c11bf3ded189c
MD5 785bb00bbd27624a3c35a1f9eac7c5ef
BLAKE2b-256 cff2dfb31c2a9238da39b323f06b519766339baca3892126b9c220de1807aefb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for capio_calf-0.1.0-cp311-cp311-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 d0c4ad977573e57f9e47441377f8325ad39f6e1488690ba357c7ba60dbe31a85
MD5 1a448974c602f4f25c1ef7deb9212619
BLAKE2b-256 ca0b5ad28c7997dcb6fb89fa848a96a56650fdb3a03b6a57033f34ede648f6ae

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for capio_calf-0.1.0-cp311-cp311-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 da4bca5efca05b6c3675cc46a6c060ee23571ebf6ac4bd2d175384f044d6700b
MD5 764b5d7cca7b4896aa8feee9eba8fbd7
BLAKE2b-256 af81022b0c63071c58a0d081ba6c77088109e4f423b9865a009258e39c6cd4b9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for capio_calf-0.1.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 10044fb01f9f9e1915a3ab92792d7028bb650c87560b45d3caef2b9483deb970
MD5 0a60bfe5db1ac3e1244e137cc472b1d2
BLAKE2b-256 3249d0849164a20945797fc408a4e12006c41c1d2a998470d999a46441bd7d5a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for capio_calf-0.1.0-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 162ad2d2eb9c1b1e5adb110cd0cb05021070253b938a6c6d032b52f3ba92fedc
MD5 107ee187a1c7e8aacc591201ade51647
BLAKE2b-256 2b47591fb8d091df82875fbba751eff530bfc30d5a937d72bf4759323bc7dbba

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for capio_calf-0.1.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1140c59f40589c62cfd03e540c1c5b117aefb6a74e1f6f7ebce74dfce6ed57c3
MD5 0a29a6a67e41bce4c55cf910f04a8f79
BLAKE2b-256 a00ef5b26f0c5d3071492c0823c24c6cbad13a2eedd6b89a09241844b5b7ddc6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for capio_calf-0.1.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 06d251b883d173e4bd584936b2e4b4d3e75e4cf1a55875c8c6823ca144ec9d1e
MD5 408bff585159950905994c6e628bd490
BLAKE2b-256 a72286d95d8ad6f61fb82c7bda2a7c59dcfe4963ce83ef0e814f1ef8979ecc40

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for capio_calf-0.1.0-cp310-cp310-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 4bee3cc9cf6afa25dd9193f4d910388db67916a708e4bdff86656f3b330a4748
MD5 33398f7556fbd8b6d5ec5b7ed2f4cbdb
BLAKE2b-256 5e54210540fa20e7e8e29098e05fc10267dc79959b2c0dd8bf8500adf8c90c35

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for capio_calf-0.1.0-cp310-cp310-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 6fd4a87defbe622400ae1439f46a21659113acc43f8c94ebc2e44e552dd7e9c6
MD5 0b8b1009f859344bfddc24b261aa9fcc
BLAKE2b-256 4f46d1f2c51797bec8450b421022073615a435efcfea2414b26042ca54531b94

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