CAPIO Logging Facility and interactive trace inspector
Project description
CALF - CApio Logging Facility
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::ofstreamfor 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
SyscallLoggerbackend - 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
108b9afe9ecd14e37c909d454fbd500133e0e3c85b07bbe78f22bf1110142f8a
|
|
| MD5 |
012424fa9d2fb9567ff8e4c51e906644
|
|
| BLAKE2b-256 |
18e6bcf2dc354130aa277869553395b7eaadc4165373f85063c160c35745b164
|
File details
Details for the file capio_calf-0.1.0-cp314-cp314-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: capio_calf-0.1.0-cp314-cp314-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.14, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
16be825b77101b62110aa86e2ec2d838d77f2ca8563df6b242be47bf952a0575
|
|
| MD5 |
78808bc2f0f16ad487de0301720a88c9
|
|
| BLAKE2b-256 |
59205a921d907664cc35e331392595f1ba647a7cb9395c882ced4a2c51d96e33
|
File details
Details for the file capio_calf-0.1.0-cp314-cp314-musllinux_1_2_aarch64.whl.
File metadata
- Download URL: capio_calf-0.1.0-cp314-cp314-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 1.1 MB
- Tags: CPython 3.14, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
666e436f156d43f9e3a78b6db393a6ab69878a4433e3e8f206b1d895f484d61d
|
|
| MD5 |
168a83f58187a26a4eea062f4909906a
|
|
| BLAKE2b-256 |
3d25c4c7f903b5fa59cbbc851f2f9b5ac401f600681b05abcddccc1bc9201ab4
|
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
- Download URL: capio_calf-0.1.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 218.5 kB
- Tags: CPython 3.14, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6f5463f9d618abb5379a4d9c55eb62b14f030d5a70b31f05611b238be9831f78
|
|
| MD5 |
7b8bd96ecf17680df3c12a8c6d199799
|
|
| BLAKE2b-256 |
d5372df062818e081793513eab098afddfca5ad923eafa31d1480715e353f9f3
|
File details
Details for the file capio_calf-0.1.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: capio_calf-0.1.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 201.4 kB
- Tags: CPython 3.14, manylinux: glibc 2.26+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9450715b58428aadd4adad03a23e2e89f564abef1f2ebf4bd6c5f7b92774f391
|
|
| MD5 |
ec7493bc3839b0ccf15ee47995471433
|
|
| BLAKE2b-256 |
ffb05f17b0422a87f97963664f77cd3baefb2dc9ca5c5dd2ec0012d810ce6217
|
File details
Details for the file capio_calf-0.1.0-cp314-cp314-macosx_15_0_x86_64.whl.
File metadata
- Download URL: capio_calf-0.1.0-cp314-cp314-macosx_15_0_x86_64.whl
- Upload date:
- Size: 128.7 kB
- Tags: CPython 3.14, macOS 15.0+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9c0ba2879fe697283ac064415b289b70cf1701f4a1f32e1eac3bcb605486c949
|
|
| MD5 |
2d29a00f258a0366cae9889e8b87d034
|
|
| BLAKE2b-256 |
7b56441770d558755204fd4573943bf3a1fa1a68255d241acf167b45b8d010d5
|
File details
Details for the file capio_calf-0.1.0-cp314-cp314-macosx_15_0_arm64.whl.
File metadata
- Download URL: capio_calf-0.1.0-cp314-cp314-macosx_15_0_arm64.whl
- Upload date:
- Size: 120.4 kB
- Tags: CPython 3.14, macOS 15.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a424b36feefed839ae84b3f168f891c2a0e2cf27c480b44508c620ea33cd4eaa
|
|
| MD5 |
e09586100bf71670df693c36935e409c
|
|
| BLAKE2b-256 |
bb9b44a4404a23a184211cee486e06e931c140617d30588f076db8fef61b9775
|
File details
Details for the file capio_calf-0.1.0-cp313-cp313-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: capio_calf-0.1.0-cp313-cp313-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.13, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ecfdf3d8d206a96b942b62be9ed92cd74536dc5591a873f5647b9b96ee968a57
|
|
| MD5 |
e18519fb56fe6d91a71c84eb6f092558
|
|
| BLAKE2b-256 |
713e5f567dfbe3e95b4e7670e701cb234f66cf9752d4ca6e213a981c015b09eb
|
File details
Details for the file capio_calf-0.1.0-cp313-cp313-musllinux_1_2_aarch64.whl.
File metadata
- Download URL: capio_calf-0.1.0-cp313-cp313-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 1.1 MB
- Tags: CPython 3.13, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
598635cb5e33596665c4cd2bb232a9ecf10cdb68e51613db53f356e69481c097
|
|
| MD5 |
abb49470f550fa574a76d560e990c567
|
|
| BLAKE2b-256 |
e1d8bdc2538b1f7e8acfbe8e4d2262f003658e68c87251d82e0e3fc72cc16b1c
|
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
- Download URL: capio_calf-0.1.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 218.3 kB
- Tags: CPython 3.13, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8a84ba254236839d05fb2c78fdf89af94447c653842036c7a2f061fc48a4ff8b
|
|
| MD5 |
2f59caa16ce8504bf043d355e93ef091
|
|
| BLAKE2b-256 |
41876435cab196b9f4a8242c79a6cf7f37bb8b043035330011165f5d7dae508e
|
File details
Details for the file capio_calf-0.1.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: capio_calf-0.1.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 201.0 kB
- Tags: CPython 3.13, manylinux: glibc 2.26+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f40a8201f11c2571f91037329b1179df62833b4418ea3eff12303f2726d70203
|
|
| MD5 |
fd3aaf878c249a4161def902cf2cb166
|
|
| BLAKE2b-256 |
cdd16beb68b689a53cb70c5ea1c7925789f36b8b8cd0759f70ea38bab0d6f3ef
|
File details
Details for the file capio_calf-0.1.0-cp313-cp313-macosx_15_0_x86_64.whl.
File metadata
- Download URL: capio_calf-0.1.0-cp313-cp313-macosx_15_0_x86_64.whl
- Upload date:
- Size: 128.2 kB
- Tags: CPython 3.13, macOS 15.0+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e73b45672c97b63fd574366090150cbc57e700fcdbf4eddecc28d90b7e5866e7
|
|
| MD5 |
dd31b5a429890d9de0b47f254f9b2357
|
|
| BLAKE2b-256 |
387832932cb3b7e260d4e57df8ebcc4e4e1ac4b015b7b72c5305e567251f6b2e
|
File details
Details for the file capio_calf-0.1.0-cp313-cp313-macosx_15_0_arm64.whl.
File metadata
- Download URL: capio_calf-0.1.0-cp313-cp313-macosx_15_0_arm64.whl
- Upload date:
- Size: 120.0 kB
- Tags: CPython 3.13, macOS 15.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b70ca99e3383a0feb7c102cee5c7e4626160958dd18b8ad50eb55b0a023d96bf
|
|
| MD5 |
81847075f6f1ad1c71dea9fdd538c100
|
|
| BLAKE2b-256 |
dc775033c83ccda88055e83840970591377476615a6bfa66dfa875f23bd32eb6
|
File details
Details for the file capio_calf-0.1.0-cp312-cp312-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: capio_calf-0.1.0-cp312-cp312-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.12, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8e7d0458a380d03b7c8996e5eb269f401687d2bd458d0b35eadac5b7450b39b9
|
|
| MD5 |
644d762ad36f376cd9d4a4271b448ef6
|
|
| BLAKE2b-256 |
88c5b71bf98bbd143275597b12af4f09bbfbf17ca1e1de4c267e8f755a646433
|
File details
Details for the file capio_calf-0.1.0-cp312-cp312-musllinux_1_2_aarch64.whl.
File metadata
- Download URL: capio_calf-0.1.0-cp312-cp312-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 1.1 MB
- Tags: CPython 3.12, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0726aba095121d712ee7dd3ee28c70e90ed988e1df3a63ee20fd88b6ef24540c
|
|
| MD5 |
01b79e366a6a319214e728e997014b80
|
|
| BLAKE2b-256 |
7f764dc984619c6208227adf4bffff524868374ab615161cb35d8820fa67dc0e
|
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
- Download URL: capio_calf-0.1.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 219.1 kB
- Tags: CPython 3.12, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b11d944c65eee0bd37a552b8bcd55df93e04bb7cf0a4af3332e5d4f29a420777
|
|
| MD5 |
9f350ff5c3f8715060d96a71e2de4f87
|
|
| BLAKE2b-256 |
1c827f8f0a23b167ac287ece9298671203b2334e94748d902e22bfdafe96ccec
|
File details
Details for the file capio_calf-0.1.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: capio_calf-0.1.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 200.9 kB
- Tags: CPython 3.12, manylinux: glibc 2.26+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d024bb183917f4e0edba14a2d417695495253d77801db65e14e1d4b7471498e3
|
|
| MD5 |
4fb72da9867dde6a7b1429704db05b7f
|
|
| BLAKE2b-256 |
b89c34241c65e2a61d6bc2a70617a7c894466a2ff8ec0cb21f84e7e95e9e085f
|
File details
Details for the file capio_calf-0.1.0-cp312-cp312-macosx_15_0_x86_64.whl.
File metadata
- Download URL: capio_calf-0.1.0-cp312-cp312-macosx_15_0_x86_64.whl
- Upload date:
- Size: 128.2 kB
- Tags: CPython 3.12, macOS 15.0+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9d5ff56862c71919146dc4b7bcea5c598a54497ff406a292b2b95626ea6292a7
|
|
| MD5 |
c757e8a8ca2f467c8e8c0fe04e37425f
|
|
| BLAKE2b-256 |
461a6eae04985953762674bc342546b229e25fb548b5fba9752134185246d78d
|
File details
Details for the file capio_calf-0.1.0-cp312-cp312-macosx_15_0_arm64.whl.
File metadata
- Download URL: capio_calf-0.1.0-cp312-cp312-macosx_15_0_arm64.whl
- Upload date:
- Size: 119.9 kB
- Tags: CPython 3.12, macOS 15.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b666e8ffae7a20bc3733cb5979d5e398d9c251e771bc03bdac108c1415c3120a
|
|
| MD5 |
7bde78508343aea46b342a7aa6281f64
|
|
| BLAKE2b-256 |
c425d2a62d7c03191e6660315a91ae2825267634ce1fde7c20b8ba4c86345da9
|
File details
Details for the file capio_calf-0.1.0-cp311-cp311-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: capio_calf-0.1.0-cp311-cp311-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.11, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ba88dec582284138ad4c58dcdac58c45d050a8a7c47208d0ae2d1b6c45c40330
|
|
| MD5 |
637bd0d4f2ef9741f35c52c957ec8490
|
|
| BLAKE2b-256 |
3771500be2b7e9e70a54ec687bcdac34a51f39d61bfdc353583e74fe823a3078
|
File details
Details for the file capio_calf-0.1.0-cp311-cp311-musllinux_1_2_aarch64.whl.
File metadata
- Download URL: capio_calf-0.1.0-cp311-cp311-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 1.1 MB
- Tags: CPython 3.11, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c7d095652f94a754c554cf1abe300ac8d01ce4487bf12ec7f2b2f4f888ee7f2e
|
|
| MD5 |
3a9cdfb5230cc121a3314a118151b041
|
|
| BLAKE2b-256 |
73ffa678f3e2659cd6872608de76a64776290eb18845dc17d373c6b1925c107d
|
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
- Download URL: capio_calf-0.1.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 217.8 kB
- Tags: CPython 3.11, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f0cd0de04fa55a0fd9b7688275001d74b95b2bd9f46caa1583439fd8ef7998fc
|
|
| MD5 |
693ee6b84f502db0484134c774c98e85
|
|
| BLAKE2b-256 |
406bfd722d4f396c2b35a9acb19da5b4dd7ed57576bbe6052d9aa3ba921fb3b2
|
File details
Details for the file capio_calf-0.1.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: capio_calf-0.1.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 200.8 kB
- Tags: CPython 3.11, manylinux: glibc 2.26+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0f52e23f653d849ac6fd86d899413fad1caf00af62e5b49ab67c11bf3ded189c
|
|
| MD5 |
785bb00bbd27624a3c35a1f9eac7c5ef
|
|
| BLAKE2b-256 |
cff2dfb31c2a9238da39b323f06b519766339baca3892126b9c220de1807aefb
|
File details
Details for the file capio_calf-0.1.0-cp311-cp311-macosx_15_0_x86_64.whl.
File metadata
- Download URL: capio_calf-0.1.0-cp311-cp311-macosx_15_0_x86_64.whl
- Upload date:
- Size: 127.1 kB
- Tags: CPython 3.11, macOS 15.0+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d0c4ad977573e57f9e47441377f8325ad39f6e1488690ba357c7ba60dbe31a85
|
|
| MD5 |
1a448974c602f4f25c1ef7deb9212619
|
|
| BLAKE2b-256 |
ca0b5ad28c7997dcb6fb89fa848a96a56650fdb3a03b6a57033f34ede648f6ae
|
File details
Details for the file capio_calf-0.1.0-cp311-cp311-macosx_15_0_arm64.whl.
File metadata
- Download URL: capio_calf-0.1.0-cp311-cp311-macosx_15_0_arm64.whl
- Upload date:
- Size: 119.6 kB
- Tags: CPython 3.11, macOS 15.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
da4bca5efca05b6c3675cc46a6c060ee23571ebf6ac4bd2d175384f044d6700b
|
|
| MD5 |
764b5d7cca7b4896aa8feee9eba8fbd7
|
|
| BLAKE2b-256 |
af81022b0c63071c58a0d081ba6c77088109e4f423b9865a009258e39c6cd4b9
|
File details
Details for the file capio_calf-0.1.0-cp310-cp310-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: capio_calf-0.1.0-cp310-cp310-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.10, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
10044fb01f9f9e1915a3ab92792d7028bb650c87560b45d3caef2b9483deb970
|
|
| MD5 |
0a60bfe5db1ac3e1244e137cc472b1d2
|
|
| BLAKE2b-256 |
3249d0849164a20945797fc408a4e12006c41c1d2a998470d999a46441bd7d5a
|
File details
Details for the file capio_calf-0.1.0-cp310-cp310-musllinux_1_2_aarch64.whl.
File metadata
- Download URL: capio_calf-0.1.0-cp310-cp310-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 1.1 MB
- Tags: CPython 3.10, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
162ad2d2eb9c1b1e5adb110cd0cb05021070253b938a6c6d032b52f3ba92fedc
|
|
| MD5 |
107ee187a1c7e8aacc591201ade51647
|
|
| BLAKE2b-256 |
2b47591fb8d091df82875fbba751eff530bfc30d5a937d72bf4759323bc7dbba
|
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
- Download URL: capio_calf-0.1.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 216.5 kB
- Tags: CPython 3.10, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1140c59f40589c62cfd03e540c1c5b117aefb6a74e1f6f7ebce74dfce6ed57c3
|
|
| MD5 |
0a29a6a67e41bce4c55cf910f04a8f79
|
|
| BLAKE2b-256 |
a00ef5b26f0c5d3071492c0823c24c6cbad13a2eedd6b89a09241844b5b7ddc6
|
File details
Details for the file capio_calf-0.1.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: capio_calf-0.1.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 199.5 kB
- Tags: CPython 3.10, manylinux: glibc 2.26+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
06d251b883d173e4bd584936b2e4b4d3e75e4cf1a55875c8c6823ca144ec9d1e
|
|
| MD5 |
408bff585159950905994c6e628bd490
|
|
| BLAKE2b-256 |
a72286d95d8ad6f61fb82c7bda2a7c59dcfe4963ce83ef0e814f1ef8979ecc40
|
File details
Details for the file capio_calf-0.1.0-cp310-cp310-macosx_15_0_x86_64.whl.
File metadata
- Download URL: capio_calf-0.1.0-cp310-cp310-macosx_15_0_x86_64.whl
- Upload date:
- Size: 125.7 kB
- Tags: CPython 3.10, macOS 15.0+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4bee3cc9cf6afa25dd9193f4d910388db67916a708e4bdff86656f3b330a4748
|
|
| MD5 |
33398f7556fbd8b6d5ec5b7ed2f4cbdb
|
|
| BLAKE2b-256 |
5e54210540fa20e7e8e29098e05fc10267dc79959b2c0dd8bf8500adf8c90c35
|
File details
Details for the file capio_calf-0.1.0-cp310-cp310-macosx_15_0_arm64.whl.
File metadata
- Download URL: capio_calf-0.1.0-cp310-cp310-macosx_15_0_arm64.whl
- Upload date:
- Size: 118.4 kB
- Tags: CPython 3.10, macOS 15.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6fd4a87defbe622400ae1439f46a21659113acc43f8c94ebc2e44e552dd7e9c6
|
|
| MD5 |
0b8b1009f859344bfddc24b261aa9fcc
|
|
| BLAKE2b-256 |
4f46d1f2c51797bec8450b421022073615a435efcfea2414b26042ca54531b94
|