Skip to main content

No project description provided

Project description

kiru โšก๐Ÿ—ก๏ธ

Cut through text at the speed of light

The fastest text chunking library for RAG applications. Available for both Rust and Python.

Crates.io PyPI Documentation License: MIT

What is kiru?

kiru is a high-performance text chunking library designed for modern RAG (Retrieval-Augmented Generation) systems. When you need to split millions of documents for vector databases or process streaming data in real-time, kiru delivers unmatched speed without sacrificing correctness.

Key Features

  • โšก Blazing Fast (Python): 1000+ MB/s throughput for bytes, 300+ MB/s for characters
  • ๐ŸŽฏ UTF-8 Safe: Never breaks multi-byte characters or emoji
  • ๐Ÿ’พ Memory Efficient: Stream gigabyte files with constant memory usage
  • ๐Ÿš€ Parallel Processing: Utilize all CPU cores automatically
  • ๐Ÿ”Œ Multiple Sources: Files, URLs, strings, and glob patterns
  • ๐Ÿ› ๏ธ Flexible Strategies: Chunk by bytes or characters
  • ๐Ÿฆ€ Rust Core: Rust performance and memory safety
  • ๐Ÿ Python Bindings: Pythonic API for ease of use

Performance

Benchmarked on 1MB text file, 1MB chunks, 1KB overlap:

Implementation Strategy Source Time (ms) Memory (MB) Throughput (MB/s)
kiru (Rust) bytes string 0.23 - 4,370
kiru (Python) bytes string 0.71 2.9 1,408
kiru (Python) chars string 3.13 2.9 319
LangChain chars string 2,982 18.6 0.34

kiru is 4,000x faster than LangChain for byte chunking and 940x faster for character chunking!

Key insights:

  • Rust native performance: Up to 4,370 MB/s for byte chunking
  • Python bindings overhead: Still 1,400+ MB/s, beating all pure Python alternatives
  • Character-aware chunking: 300+ MB/s while respecting grapheme boundaries
  • Memory efficient: Uses 6x less memory than LangChain

Quick Start

Python ๐Ÿ

pip install kiru
from kiru import Chunker

# Create a chunker
chunker = Chunker.by_bytes(
    chunk_size=1024,  # 1KB chunks
    overlap=128       # 128 bytes overlap
)

# Chunk text
chunks = chunker.on_string("Your text here...").all()

# Chunk files in parallel
sources = ["file://doc1.txt", "https://example.com/page", "glob://*.md"]
for chunk in chunker.on_sources_par(sources):
    process(chunk)

Rust ๐Ÿฆ€

Add to your Cargo.toml:

[dependencies]
kiru = "0.1"
use kiru::{BytesChunker, Chunker};

// Create a chunker
let chunker = BytesChunker::new(1024, 128)?;

// Chunk text
let chunks: Vec<String> = chunker
    .chunk_string("Your text here...".to_string())
    .collect();

// Stream large files
use kiru::{Source, StreamType};
let stream = StreamType::from_source(&Source::File("huge.txt".to_string()))?;
for chunk in chunker.chunk_stream(stream) {
    process(chunk);
}

Use Cases

Building RAG Systems

# Perfect for vector database ingestion
chunker = Chunker.by_bytes(512, 50)  # Tuned for embedding models

documents = ["glob://knowledge_base/**/*.md"]
chunks = chunker.on_sources_par(documents, channel_size=10000)

for chunk in chunks:
    embedding = model.encode(chunk)
    vector_db.insert(chunk, embedding)

Real-time Processing

# Stream processing without memory overhead
for chunk in chunker.on_file("10GB_file.txt"):
    # Each chunk generated on-demand
    send_to_queue(chunk)

Parallel Document Processing

// Process hundreds of documents concurrently
use kiru::{ChunkerBuilder, ChunkerEnum};

let chunker = ChunkerBuilder::by_bytes(ChunkerEnum::Bytes {
    chunk_size: 4096,
    overlap: 512,
});

let sources = vec!["glob://docs/**/*.txt"];
let chunks = chunker.on_sources_par_stream(sources, 1000)?;

Chunking Strategies

Bytes Chunking

  • Splits on byte boundaries while respecting UTF-8
  • Fastest performance (1000+ MB/s in Rust, 1400+ MB/s in Python)
  • Ideal for token-limited models and consistent memory usage

Characters Chunking

  • Splits on character (grapheme) boundaries
  • Ensures exact character counts regardless of byte representation
  • Perfect for character-limited APIs (300+ MB/s in Python)

API Reference

Python API

Creating Chunkers

from kiru import Chunker

# Byte-based chunking
chunker = Chunker.by_bytes(chunk_size=1024, overlap=128)

# Character-based chunking
chunker = Chunker.by_characters(chunk_size=1000, overlap=100)

Input Sources

# Single string
chunks = chunker.on_string("text...").all()

# Single file
chunks = chunker.on_file("/path/to/file.txt").all()

# HTTP/HTTPS URL
chunks = chunker.on_http("https://example.com/page").all()

# Multiple sources (serial)
sources = ["file://doc1.txt", "https://example.com/page", "glob://*.md"]
chunks = chunker.on_sources(sources).all()

# Multiple sources (parallel)
chunks = chunker.on_sources_par(sources, channel_size=1000).all()

# Or iterate lazily
for chunk in chunker.on_sources_par(sources):
    process(chunk)

Source Prefixes

  • file://path/to/file.txt - Local files
  • http://example.com or https://example.com - URLs
  • text://Inline text content - Raw text strings
  • glob://*.md - Glob patterns
  • No prefix - Treated as raw text

Rust API

Creating Chunkers

use kiru::{BytesChunker, CharactersChunker, Chunker};

// Byte-based chunking
let chunker = BytesChunker::new(1024, 128)?;

// Character-based chunking
let chunker = CharactersChunker::new(1000, 100)?;

Basic Usage

use kiru::Chunker;

// Chunk a string
let chunks: Vec<String> = chunker
    .chunk_string("Your text here".to_string())
    .collect();

// Stream a file
use kiru::{Source, StreamType};
let stream = StreamType::from_source(&Source::File("file.txt".to_string()))?;
for chunk in chunker.chunk_stream(stream) {
    // Process chunk
}

Advanced Usage

use kiru::{ChunkerBuilder, ChunkerEnum, Source, HigherOrderSource, SourceGenerator};

// Create chunker with builder pattern
let chunker = ChunkerBuilder::by_bytes(ChunkerEnum::Bytes {
    chunk_size: 4096,
    overlap: 512,
});

// Single source
let chunks = chunker.on_source(Source::File("doc.txt".to_string()))?;

// Multiple sources (serial)
let sources = vec![
    Source::File("doc1.txt".to_string()),
    Source::Http("https://example.com".to_string()),
];
let chunks = chunker.on_sources(sources)?;

// Multiple sources (parallel) - returns Vec
let chunks: Vec<String> = chunker.on_sources_par(sources)?;

// Multiple sources (parallel streaming) - returns iterator
let chunks = chunker.on_sources_par_stream(sources, 1000)?;
for chunk in chunks {
    // Process as they arrive
}

// Using glob patterns
let sources = vec![HigherOrderSource::SourceGenerator(
    SourceGenerator::Glob("**/*.md".to_string())
)];
let flattened = HigherOrderSource::into_flattened_sources(sources)?;

Architecture

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚           Application Layer              โ”‚
โ”‚     (Python or Rust Application)        โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚          kiru-py (PyO3 Bindings)        โ”‚
โ”‚              [Python only]               โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚         kiru-core (Rust Library)        โ”‚
โ”‚                                          โ”‚
โ”‚        โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”         โ”‚
โ”‚        โ”‚ Chunkers โ”‚ Streaming โ”‚         โ”‚  
โ”‚        โ”‚  Engine  โ”‚   Engine  โ”‚         โ”‚
โ”‚        โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜         โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Project Structure

kiru/
โ”œโ”€โ”€ README.md              # This file (shared documentation)
โ”œโ”€โ”€ kiru-core/             # Rust implementation
โ”‚   โ”œโ”€โ”€ src/               # Core chunking algorithms
โ”‚   โ”‚   โ”œโ”€โ”€ bytes_chunker.rs
โ”‚   โ”‚   โ”œโ”€โ”€ characters_chunker.rs
โ”‚   โ”‚   โ”œโ”€โ”€ chunker.rs     # Builder pattern & parallel processing
โ”‚   โ”‚   โ””โ”€โ”€ stream.rs      # File/HTTP streaming
โ”‚   โ”œโ”€โ”€ benches/           # Criterion benchmarks
โ”‚   โ””โ”€โ”€ tests/             # Property-based tests
โ”œโ”€โ”€ kiru-py/               # Python bindings (PyO3)
โ”‚   โ”œโ”€โ”€ src/lib.rs         # Python wrapper
โ”‚   โ””โ”€โ”€ python/            # Python tests & benchmarks
โ””โ”€โ”€ utils/                 # Version management scripts

Streaming & Memory Efficiency

kiru's killer feature: true streaming with constant memory usage.

Unlike traditional chunkers that load entire files into memory, kiru processes data as it arrives using an intelligent buffering system. This means you can chunk gigabyte-sized files with minimal RAM usage.

How Streaming Works

File/HTTP Source โ†’ Read Blocks (8KB) โ†’ UTF-8 Buffer โ†’ Chunk Iterator โ†’ Your Code
                      โ†“                      โ†“
                 As needed              Constant size

Key advantages:

  1. Constant Memory: Process 10GB files with ~10MB RAM
  2. Immediate Results: First chunks available instantly, no waiting for full file load
  3. Works Everywhere: Local files, HTTP/HTTPS streams, any data source
  4. UTF-8 Safe: Buffer maintains character boundaries automatically

Python Examples

from kiru import Chunker

chunker = Chunker.by_bytes(chunk_size=4096, overlap=512)

# โšก Stream a 10GB file - uses only ~10MB RAM
for chunk in chunker.on_file("huge_dataset.txt"):
    # Process chunk immediately as it arrives
    vector_db.insert(chunk)
    # No waiting, no memory explosion!

# โšก Stream from HTTP - process as data downloads
for chunk in chunker.on_http("https://example.com/large_document.txt"):
    process(chunk)
    # Chunks ready while download continues

# โšก Stream multiple sources in parallel
sources = [
    "file://10gb_file1.txt",
    "https://example.com/doc.txt",
    "file://10gb_file2.txt"
]
for chunk in chunker.on_sources_par(sources, channel_size=1000):
    # All sources stream in parallel
    # Memory stays constant regardless of file sizes
    send_to_queue(chunk)

Rust Examples

use kiru::{BytesChunker, Chunker, Source, StreamType};

let chunker = BytesChunker::new(4096, 512)?;

// โšก Stream a massive file with constant memory
let stream = StreamType::from_source(&Source::File("10gb_file.txt".to_string()))?;
for chunk in chunker.chunk_stream(stream) {
    // Process immediately, no memory buildup
    vector_db.insert(chunk);
}

// โšก Stream from HTTP as data arrives
let stream = StreamType::from_source(&Source::Http("https://example.com/doc.txt".to_string()))?;
for chunk in chunker.chunk_stream(stream) {
    process(chunk);
}

Memory Comparison

Processing a 1GB file with 4KB chunks:

Library Memory Usage Loads Full File? Streaming?
kiru ~10 MB โŒ No โœ… Yes
LangChain 1000+ MB โœ… Yes โŒ No
tiktoken 1000+ MB โœ… Yes โŒ No

Result: kiru uses 100x less memory while being 4,000x faster!


Development

Setup

# Clone repository
git clone https://github.com/yourusername/kiru.git
cd kiru

# Run all tests
cargo test --workspace

# Run Rust benchmarks
cd kiru-core
cargo bench

# Build Python package
cd ../kiru-py
pip install maturin
maturin develop --release

# Run Python tests
pip install pytest hypothesis
pytest python/test.py

# Run Python benchmarks
python python/bench.py

Running Benchmarks

# Rust benchmarks
cd kiru-core
cargo bench

# Python benchmarks
cd kiru-py
python python/bench.py

Performance Tips

  1. Use byte chunking for maximum throughput (1000+ MB/s)
  2. Use character chunking when exact character counts matter (300+ MB/s)
  3. Enable parallel processing with on_sources_par() for multiple files
  4. Tune chunk size based on your embedding model's context window
  5. Adjust overlap to balance context preservation and storage
  6. Stream large files to maintain constant memory usage

Why "kiru"?

"Kiru" (ๅˆ‡ใ‚‹) is Japanese for "to cut" - reflecting the library's purpose of cutting text into chunks at lightning speed โšก๐Ÿ—ก๏ธ


Contributing

We welcome contributions! Please check out our Contributing Guide for guidelines.

License

MIT License - see LICENSE for details.


Credits

Built with:

  • PyO3 - Rust bindings for Python
  • Rayon - Data parallelism for Rust
  • maturin - Build and publish Rust Python extensions

Ready to cut through text at the speed of light?

  • ๐Ÿ Python: pip install kiru
  • ๐Ÿฆ€ Rust: Add kiru = "0.1" to Cargo.toml

Get started with PyPI | Crates.io | Documentation

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

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

Built Distributions

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

kiru-0.1.11-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl (2.3 MB view details)

Uploaded PyPymusllinux: musl 1.2+ x86-64

kiru-0.1.11-pp311-pypy311_pp73-musllinux_1_2_i686.whl (2.2 MB view details)

Uploaded PyPymusllinux: musl 1.2+ i686

kiru-0.1.11-pp311-pypy311_pp73-musllinux_1_2_armv7l.whl (2.2 MB view details)

Uploaded PyPymusllinux: musl 1.2+ ARMv7l

kiru-0.1.11-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl (2.3 MB view details)

Uploaded PyPymusllinux: musl 1.2+ ARM64

kiru-0.1.11-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl (2.1 MB view details)

Uploaded PyPymanylinux: glibc 2.28+ x86-64

kiru-0.1.11-pp311-pypy311_pp73-manylinux_2_28_s390x.whl (2.0 MB view details)

Uploaded PyPymanylinux: glibc 2.28+ s390x

kiru-0.1.11-pp311-pypy311_pp73-manylinux_2_28_ppc64le.whl (2.5 MB view details)

Uploaded PyPymanylinux: glibc 2.28+ ppc64le

kiru-0.1.11-pp311-pypy311_pp73-manylinux_2_28_i686.whl (2.1 MB view details)

Uploaded PyPymanylinux: glibc 2.28+ i686

kiru-0.1.11-pp311-pypy311_pp73-manylinux_2_28_armv7l.whl (1.9 MB view details)

Uploaded PyPymanylinux: glibc 2.28+ ARMv7l

kiru-0.1.11-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl (2.1 MB view details)

Uploaded PyPymanylinux: glibc 2.28+ ARM64

kiru-0.1.11-cp314-cp314t-musllinux_1_2_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

kiru-0.1.11-cp314-cp314t-musllinux_1_2_i686.whl (2.2 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ i686

kiru-0.1.11-cp314-cp314t-musllinux_1_2_armv7l.whl (2.2 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARMv7l

kiru-0.1.11-cp314-cp314t-musllinux_1_2_aarch64.whl (2.3 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARM64

kiru-0.1.11-cp314-cp314t-manylinux_2_28_s390x.whl (2.0 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.28+ s390x

kiru-0.1.11-cp314-cp314t-manylinux_2_28_ppc64le.whl (2.5 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.28+ ppc64le

kiru-0.1.11-cp314-cp314t-manylinux_2_28_armv7l.whl (1.9 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.28+ ARMv7l

kiru-0.1.11-cp314-cp314t-manylinux_2_28_aarch64.whl (2.1 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.28+ ARM64

kiru-0.1.11-cp314-cp314-win_amd64.whl (1.7 MB view details)

Uploaded CPython 3.14Windows x86-64

kiru-0.1.11-cp314-cp314-win32.whl (1.4 MB view details)

Uploaded CPython 3.14Windows x86

kiru-0.1.11-cp314-cp314-musllinux_1_2_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

kiru-0.1.11-cp314-cp314-musllinux_1_2_i686.whl (2.2 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ i686

kiru-0.1.11-cp314-cp314-musllinux_1_2_armv7l.whl (2.2 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ARMv7l

kiru-0.1.11-cp314-cp314-musllinux_1_2_aarch64.whl (2.3 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

kiru-0.1.11-cp314-cp314-manylinux_2_28_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

kiru-0.1.11-cp314-cp314-manylinux_2_28_s390x.whl (2.0 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ s390x

kiru-0.1.11-cp314-cp314-manylinux_2_28_ppc64le.whl (2.5 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ ppc64le

kiru-0.1.11-cp314-cp314-manylinux_2_28_i686.whl (2.1 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ i686

kiru-0.1.11-cp314-cp314-manylinux_2_28_armv7l.whl (1.9 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ ARMv7l

kiru-0.1.11-cp314-cp314-manylinux_2_28_aarch64.whl (2.1 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ ARM64

kiru-0.1.11-cp314-cp314-macosx_11_0_arm64.whl (1.9 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

kiru-0.1.11-cp313-cp313t-musllinux_1_2_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ x86-64

kiru-0.1.11-cp313-cp313t-musllinux_1_2_i686.whl (2.2 MB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ i686

kiru-0.1.11-cp313-cp313t-musllinux_1_2_armv7l.whl (2.2 MB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARMv7l

kiru-0.1.11-cp313-cp313t-musllinux_1_2_aarch64.whl (2.3 MB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARM64

kiru-0.1.11-cp313-cp313t-manylinux_2_28_s390x.whl (2.0 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.28+ s390x

kiru-0.1.11-cp313-cp313t-manylinux_2_28_ppc64le.whl (2.5 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.28+ ppc64le

kiru-0.1.11-cp313-cp313t-manylinux_2_28_armv7l.whl (1.9 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.28+ ARMv7l

kiru-0.1.11-cp313-cp313t-manylinux_2_28_aarch64.whl (2.1 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.28+ ARM64

kiru-0.1.11-cp313-cp313-win_amd64.whl (1.7 MB view details)

Uploaded CPython 3.13Windows x86-64

kiru-0.1.11-cp313-cp313-musllinux_1_2_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

kiru-0.1.11-cp313-cp313-musllinux_1_2_i686.whl (2.2 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ i686

kiru-0.1.11-cp313-cp313-musllinux_1_2_armv7l.whl (2.2 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARMv7l

kiru-0.1.11-cp313-cp313-musllinux_1_2_aarch64.whl (2.3 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

kiru-0.1.11-cp313-cp313-manylinux_2_28_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

kiru-0.1.11-cp313-cp313-manylinux_2_28_s390x.whl (2.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ s390x

kiru-0.1.11-cp313-cp313-manylinux_2_28_ppc64le.whl (2.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ppc64le

kiru-0.1.11-cp313-cp313-manylinux_2_28_i686.whl (2.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ i686

kiru-0.1.11-cp313-cp313-manylinux_2_28_armv7l.whl (1.9 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARMv7l

kiru-0.1.11-cp313-cp313-manylinux_2_28_aarch64.whl (2.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

kiru-0.1.11-cp313-cp313-macosx_11_0_arm64.whl (1.9 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

kiru-0.1.11-cp312-cp312-win_amd64.whl (1.7 MB view details)

Uploaded CPython 3.12Windows x86-64

kiru-0.1.11-cp312-cp312-musllinux_1_2_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

kiru-0.1.11-cp312-cp312-musllinux_1_2_i686.whl (2.2 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ i686

kiru-0.1.11-cp312-cp312-musllinux_1_2_armv7l.whl (2.2 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARMv7l

kiru-0.1.11-cp312-cp312-musllinux_1_2_aarch64.whl (2.3 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

kiru-0.1.11-cp312-cp312-manylinux_2_28_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

kiru-0.1.11-cp312-cp312-manylinux_2_28_s390x.whl (2.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ s390x

kiru-0.1.11-cp312-cp312-manylinux_2_28_ppc64le.whl (2.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ppc64le

kiru-0.1.11-cp312-cp312-manylinux_2_28_i686.whl (2.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ i686

kiru-0.1.11-cp312-cp312-manylinux_2_28_armv7l.whl (1.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARMv7l

kiru-0.1.11-cp312-cp312-manylinux_2_28_aarch64.whl (2.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

kiru-0.1.11-cp312-cp312-macosx_11_0_arm64.whl (1.9 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

kiru-0.1.11-cp311-cp311-win_amd64.whl (1.7 MB view details)

Uploaded CPython 3.11Windows x86-64

kiru-0.1.11-cp311-cp311-musllinux_1_2_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

kiru-0.1.11-cp311-cp311-musllinux_1_2_i686.whl (2.2 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ i686

kiru-0.1.11-cp311-cp311-musllinux_1_2_armv7l.whl (2.2 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARMv7l

kiru-0.1.11-cp311-cp311-musllinux_1_2_aarch64.whl (2.3 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

kiru-0.1.11-cp311-cp311-manylinux_2_28_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

kiru-0.1.11-cp311-cp311-manylinux_2_28_s390x.whl (2.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ s390x

kiru-0.1.11-cp311-cp311-manylinux_2_28_ppc64le.whl (2.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ppc64le

kiru-0.1.11-cp311-cp311-manylinux_2_28_i686.whl (2.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ i686

kiru-0.1.11-cp311-cp311-manylinux_2_28_armv7l.whl (1.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARMv7l

kiru-0.1.11-cp311-cp311-manylinux_2_28_aarch64.whl (2.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

kiru-0.1.11-cp311-cp311-macosx_11_0_arm64.whl (1.9 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

File details

Details for the file kiru-0.1.11-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 636cb6e2068e9cd47218d37249671dbde2fd8ab8b20269a2a52db4069f0bbc43
MD5 69fcb568d132d94e0f5d01766ce7f764
BLAKE2b-256 720220e4c1f469e17f5db32b60cb49fa678cb52c8f1c30169bae2bbb9ac82873

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-pp311-pypy311_pp73-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-pp311-pypy311_pp73-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 47b2df7cc38734af5990f9464a8ae2caf3fe98320f29157e3a74285750f2ac60
MD5 2e3d6a6cc974e6e75ae086ae57e16796
BLAKE2b-256 0c95b7f7f608d323757776334f97dd72f4e533d15cff48f3cf139972e096e9ac

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-pp311-pypy311_pp73-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-pp311-pypy311_pp73-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 75b9124d16dc41accdeefffcfb1f0e8fab325e442bebef64007d32e1726ae2d4
MD5 c39fdd7e7a0dfdd9b346b41c2c782a39
BLAKE2b-256 df185564a070ff3b34663fec65c75d8167824fc6a593bcf81fa2419b8a26b863

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 266db4a1429c18ca0d656c473cb9ef604f653f000fe55f3349731a4e63c26455
MD5 665c714f20f2a2ec940d0959de2dcb03
BLAKE2b-256 91a1d2dbc2bb9220b7e4a7d40526840a6eef478769ee5ac34cb164a0fc8b9f19

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9a65017e184694ccc5d479fa02dc9e9be8800f47c8a4c461bbc10bed4c545a8b
MD5 89cc6c38829dcd8593e2b3c5954541a7
BLAKE2b-256 23bba67c6ab69019be1c824472287a875a207d0e62bcc76ec38f5cd8fadbf3b5

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-pp311-pypy311_pp73-manylinux_2_28_s390x.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-pp311-pypy311_pp73-manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 19916dac371fa5618252ae397d51220a5be24d7275c4e6b90a8cb36a48e64927
MD5 976b7f5356deedba24e13ef0a3d7e55d
BLAKE2b-256 bbb3c9db65906d83624eeede766d90da483c842f904ac92844b84c484477dcba

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-pp311-pypy311_pp73-manylinux_2_28_ppc64le.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-pp311-pypy311_pp73-manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 98f73291b7e686e30093ddb3640f9bc434f505d41397675d7c0ee8d6226c40ce
MD5 fa0fb453eb8fd8eaea23ec9571cab453
BLAKE2b-256 e022b7d4b01086cd318b80aa0fbcb918c1bec3f3c915eb2d534a30a7b8ac6267

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-pp311-pypy311_pp73-manylinux_2_28_i686.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-pp311-pypy311_pp73-manylinux_2_28_i686.whl
Algorithm Hash digest
SHA256 b866698de3a8c64fb25d5cd91c2619487811833451c106f021795acdd572fc65
MD5 1adb6a36580ba105021c57d1846b7300
BLAKE2b-256 983b6ae97f1128df2786fd90052c9ec21c0f977f64821a2f4385c98d705c5ef2

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-pp311-pypy311_pp73-manylinux_2_28_armv7l.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-pp311-pypy311_pp73-manylinux_2_28_armv7l.whl
Algorithm Hash digest
SHA256 f5e3ae96da739a63402cb749d87fa2271bed90e8eb97c31256b7fae7c11b447a
MD5 6ad88f27f8394196a879f428cdaa8101
BLAKE2b-256 9efe9fabbde19137258b7c56a7962b7d8d01b387c67eea11c4f98a3642fa2b19

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 57575fb0ff8155021fe00a753c6708b95e10995b8250dbdb059b9bd9ead926b3
MD5 35159da4cf27a3af2c440ef6c851e1ba
BLAKE2b-256 8662e402d041a686daca1c815e1a9bea92bb418b175e9907b090bc964c987955

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp314-cp314t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 454d6e991c48e5d1754bfc2959072036fbe09cf630c4aee72c4cd91ad24f593b
MD5 335aed7c50ecaadf585ec11bbb8376d2
BLAKE2b-256 2719e495f6a2d6170c66c66d7ae3a8cde347570ab55debe84626c76499c728da

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp314-cp314t-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-cp314-cp314t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 777b75805ce09ecf6c23b0da717d454af3a4a1fcfa7b49c5d2273d8ba66a1275
MD5 9757d2267324281be15545f761e7fcc9
BLAKE2b-256 1266615456bc247dc90182ee318f24b05fb8976ba7ab791ca3075b7d0b8dc25c

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp314-cp314t-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-cp314-cp314t-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 0f2f727e22e402fa8e600d7ab91d6fc87a52d09790091c5166d524af7ac01a94
MD5 7fcdd3cc718d9c6af1f1701b21209fe8
BLAKE2b-256 bb04534261f72be31ae2162ba12d4c4af0554bfdddbdaa362faf71cd976aeeab

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp314-cp314t-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 f5ef07e93a1cb4741599c591e28ed1dbb50312f4f493f8dd7ce45e1a1d2b1f03
MD5 530ec94ad04f1d891cca334aa4abc231
BLAKE2b-256 8063e63532a0ea1772b88fc1eb2f1e4a81fc077d38d0dfb84023f89bd1a40d15

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp314-cp314t-manylinux_2_28_s390x.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-cp314-cp314t-manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 a907593288fb083e55a019fe6a9533b665777d764e76593611f0642a05b2b58b
MD5 aef482286746a92f898412d61d808424
BLAKE2b-256 6e6474335025897ac7ff03edad9ac41bad2e37563f22ac0ff1bde90d320e36dc

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp314-cp314t-manylinux_2_28_ppc64le.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-cp314-cp314t-manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 7d21c5e7dc9f842348572463c5ec4207aa078cdf6610155acb294a4a5884f18a
MD5 e4398f604d4cd5eb106acd06e9fad417
BLAKE2b-256 c20033a652cdcd71a2823527d04c894ec5f3a66b19ac093753780020c84c3020

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp314-cp314t-manylinux_2_28_armv7l.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-cp314-cp314t-manylinux_2_28_armv7l.whl
Algorithm Hash digest
SHA256 25b511dcdc135622d35caaeacc91b79c21cbd83464019c0a609d2f6dbdb43463
MD5 1dec0ae0b1929a9c385e0c89388d5d55
BLAKE2b-256 fb42746a192666bbc93a30e1fc022942a00b757b4ee2314313deec5e6bd3bcb7

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp314-cp314t-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-cp314-cp314t-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 16e5fb24ed0c9c012bb695c0ba04841c77756847c696f5307143569aeb82fc85
MD5 19eb642e16a10bcd63a1c5f07456c1ba
BLAKE2b-256 84de0413285be2c38101a16f01c573c5a65408c8319866187212424782d25d53

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: kiru-0.1.11-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.10.0

File hashes

Hashes for kiru-0.1.11-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 32a6d2c3095a25783d912497bd0a6e4faba96df80614a34097d8e5304eec8ef8
MD5 ee4ff690ea9a67258dd0ac422e6922d8
BLAKE2b-256 f30418932cee22c307db7f9b223d5a55381cc526cf7815728e9e689da93cd8fa

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp314-cp314-win32.whl.

File metadata

  • Download URL: kiru-0.1.11-cp314-cp314-win32.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: CPython 3.14, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.10.0

File hashes

Hashes for kiru-0.1.11-cp314-cp314-win32.whl
Algorithm Hash digest
SHA256 4fab5b3cc39ab53fc8f3831c810221b5c251e42c8d967c24f17bb3bd90ee024f
MD5 91a9e9e66170b4fff004dbba260ca177
BLAKE2b-256 04ecf4c09a1ecac517cf7ad7baea6378808f9843af1f461774924df3658ce82a

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 949ad0fee8f9e3f1d50ef0bf4d366a2f68b32aaf8d887926090dde0880970b05
MD5 52eb480d051e9c0048ec50c85c23d1d8
BLAKE2b-256 8904918e7a9ebada127a68f9adff1029e98d96716118d3cca2efea8f2ae36af7

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp314-cp314-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-cp314-cp314-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 056de8741f2f5080ca01401c8d8a142182ccc5242fd0cf98bb7495aba2344d29
MD5 6d22152154924eb82b611ad6e11a73a8
BLAKE2b-256 ad0bd5fdc7653ead6c1fd04bfd825a8e53c7734247f4acb6fe821f998ebc8798

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp314-cp314-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-cp314-cp314-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 69192c4c581cf42dc02c887dad0ee34f2db302d52dae3fd0cfd9c534aab28d24
MD5 40399d80fbf3135297dc8980b6a98ffd
BLAKE2b-256 4750e5a02359dab1ad779d5f18856576f6a4e271e885a753462696a5d1c8a1a1

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp314-cp314-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 678f95e1bfbd1597c33e09cc0a8952f76ecbad3b987cf3f018ed63363c84d9d3
MD5 5b6e01892d887f0e26e6bf2688c62b00
BLAKE2b-256 505ac35f2e69b42e20cd5aa34dac7be60715ca63c3c3e1ae16d9896840dad6e5

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp314-cp314-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5273e1f458bda4df1a1d68c9b4b6a5c6556a97396769420650e1ce470c2bffd3
MD5 582dea90a9f1f0a83284f71d002d5ed1
BLAKE2b-256 629aeb503278a34aeead125c5f62c0643c34b9cd17712ca7b4bce843c0980ac9

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp314-cp314-manylinux_2_28_s390x.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-cp314-cp314-manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 660f52a083e812c0dd397f644d545eeac6c34b18bbbaee054d5d071b904133f4
MD5 95cc318792cb3eace7987ac47c3c2427
BLAKE2b-256 da930a5a0331c69c078d98f0acc3ea086cb401e8ec1768c554bf20baff326efd

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp314-cp314-manylinux_2_28_ppc64le.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-cp314-cp314-manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 426e9a2ea9f8c82b5d9c92e5ed4103ba43cc24dd6ea8b87d459f9a78d61b28fa
MD5 a7f59aba98f4ae2ff12badd3f6f4f2d2
BLAKE2b-256 c9fb59b8257bcf645a2efbf8e0a9648aae80d046e3eb08d7a1395436aa538462

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp314-cp314-manylinux_2_28_i686.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-cp314-cp314-manylinux_2_28_i686.whl
Algorithm Hash digest
SHA256 8825f90316d2e1fca54ae9578f6c692f080cb8bf53f6db173c1b355f94815748
MD5 505ef1970261aa78e1886ccd257e50ad
BLAKE2b-256 0c901ad133c546b9759e1f07ed43b02b9a932448f079f5d8fb0c761a2a4a0cfa

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp314-cp314-manylinux_2_28_armv7l.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-cp314-cp314-manylinux_2_28_armv7l.whl
Algorithm Hash digest
SHA256 fd4825799913d6ddfb2b9e6dbd928b3b4197208cb32b097fa2a5e3927c63f3f1
MD5 ff7b325e67b400d49bb6bc17818e7fdf
BLAKE2b-256 36ad3569a003f8943e06ee073d2313bd41294456fdd8bff2df3b359e3291e921

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp314-cp314-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-cp314-cp314-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 779153c53bc0f63d22b92eafefe52804f5020fcb2921adb3a7572ae14249780f
MD5 94c67883dba8d680bc4ef8ba9b1440d6
BLAKE2b-256 aecd24b3ff5a7e34438817a0cb385e1b700bfc2682d8d472a91db806463a79dd

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c7d37d36112ac97909a595b96bbcc056e088b72ccf963ce61042b14713bd643b
MD5 3f553e58bdabc26f874b9454ed7aa97b
BLAKE2b-256 212dcb28b877ffb325ec3502429d0e4472f000c7de405989f5767b7b730d84d6

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp313-cp313t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-cp313-cp313t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 027ab847b750a4306de1b32b26e2c42ad4b48ae8b55ef7e88b1a97cb8340e649
MD5 ab66f71d74781358f0fcba94ed240ffb
BLAKE2b-256 cc3f77ea294bc75b0f2aaecc0fa6a1aa65af4ca4097259b6e361ffbd7779ad7f

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp313-cp313t-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-cp313-cp313t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 7fc042bc8ee58f9bc03537f56443828d69addf1c614627ea8787964f3e4d2db8
MD5 4ab5cf256506850bb838b45e52f2226c
BLAKE2b-256 2f1386a00a5dfa4f4fa494e0d843a7f1477fbe4a516f183cb091bd76439055a3

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp313-cp313t-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-cp313-cp313t-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 c9c341d68c805af2db7210521be3509823a579d278d971eeb9ddd4b56859674f
MD5 8b4dcfadf9fa3e195b46adb3c69b146f
BLAKE2b-256 e01a1527f0191172d0fd30ea33178537d0c029fb5c832cf2638d513137e387c9

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp313-cp313t-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-cp313-cp313t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 510eaa977950ec3d5993a050f75ff0dc597e31312f64b34f3d742de2bc764d6e
MD5 c937abb2267550b0e2ced49f542f0301
BLAKE2b-256 c7998e430fa88cb340d3eb9d18ad90b9a5cb7bb70caa409ab45b075219c7d18c

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp313-cp313t-manylinux_2_28_s390x.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-cp313-cp313t-manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 bd424bd5ae1e64643b6766a07f0c26141e9d9e2fd571db5af88e57b674c41da0
MD5 f78aff5ea0c472aa108a9dd24df43b40
BLAKE2b-256 e51eca7372eec12f0be8eae1254c7562fac26235faad2517adc2215513b973d6

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp313-cp313t-manylinux_2_28_ppc64le.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-cp313-cp313t-manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 1d9ee998488c5b5cf264e90ce0156779717a29821e6c9f39583c1ccfc5b76c0c
MD5 09aea6c03a93f12250843f4e72ab620a
BLAKE2b-256 bb0db4466fa06dc6c294a6b27adde7e8404bda79a5df6bb354946f96f499cf23

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp313-cp313t-manylinux_2_28_armv7l.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-cp313-cp313t-manylinux_2_28_armv7l.whl
Algorithm Hash digest
SHA256 d46b27debdbcb5cd9f980f63dd14abe042a24b05089a4bfa35578544682c2608
MD5 b4b44d7c3c8721f76624ae2e9958433d
BLAKE2b-256 17829464c5a50455af1e4dea838f838205ab7e6a769c35a44bd36f01addaa5ef

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp313-cp313t-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-cp313-cp313t-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 686540d659dc586faed6facffb3edcf0d0871a9197455a1dc877d1e6ab45fb63
MD5 6a88ffef19333498ef4abb7d92e7d0ed
BLAKE2b-256 7bf94f205468199587eee74ea05bb238eb9a5f90b0e5d20eb9828015061df330

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: kiru-0.1.11-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.10.0

File hashes

Hashes for kiru-0.1.11-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 6757617aa3dccf83eba709744e8dc37cb48b97a38bd1e7f582c7d4442da7eab8
MD5 b4e399961f5a5cd3a32a4ee7228185a8
BLAKE2b-256 aaf01c0b0b85852610144a503f5d7dcff9a6f92930795f10fc71760c31e0e01c

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2af16e49700f1a540df4d6c928b65acf68443bc3f052bf09b5dd6f6d64da1893
MD5 e54eb762d7f3d14c8b1b84cb383ddf86
BLAKE2b-256 9c12bbae82236534538c36b9e0052e21a00abb7afdc23991ff30aecfce1da403

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp313-cp313-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-cp313-cp313-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 4ebeefc0abdc21610cb835695cf8be6f69ef5e000145ad7e4bb3fd766dbe74a1
MD5 fa5bc37104e13350fe13b094249ac6c4
BLAKE2b-256 4695406bc000fa776273d741d264b562d71f297a70b454aceccd52558514280f

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp313-cp313-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-cp313-cp313-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 886bc426e9f6367da21a8e6af600ed28dedb6beb254efdb5f1ec1f46258dbb82
MD5 7dbf086facf3fd6147871361920d8cb9
BLAKE2b-256 844296d00a7a8a59f769ef541d90480313ea23b05ee271f8f8e9574d942016a6

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 cc181f35d0218e3816e04a055b91f472fc59a66a86260bee56807777b2d7720f
MD5 3023026215ec374c8c5f7c59c9811988
BLAKE2b-256 13a181aa0dbeb7074f03133feeb8e1b518b5bb9f8d9d82c7a0c1dd9b5cc9f2ae

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9f9b67b164f490cd57fa4038a0d1b6c79aeabf6f5bd3df7c41d3f7090dbf0a4d
MD5 9d1e7a44e381fa5d4c4dc5123c56770a
BLAKE2b-256 25283fe46dbaea8025d0af31ac0505f3faffc1610c63cb8e6abff1405fd5e0df

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp313-cp313-manylinux_2_28_s390x.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-cp313-cp313-manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 463250afe79f320ba9816d4c2c1f3b90ae9f9509b64447277b6e5170c3d7d806
MD5 41f263589cbc45bf96a7f9b8b41902c4
BLAKE2b-256 b0893618d9778365ab7b5eac5c8b75b4c25be34a8a2d677549857dc7e233d613

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp313-cp313-manylinux_2_28_ppc64le.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-cp313-cp313-manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 4eea4398b3800d0b5efe2a0cd3f46d6617f327d53eaac217fdfd8e8b6a6832d1
MD5 169034b48d5a04afeea8a562df30b4dd
BLAKE2b-256 e5e8dda0c66a7c7d268d3a08ed909ee32ae3c837d26d02eace6e3789bf221cf8

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp313-cp313-manylinux_2_28_i686.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-cp313-cp313-manylinux_2_28_i686.whl
Algorithm Hash digest
SHA256 3e8c05b02b902a109e299a5e6321af0f64c301934bac093b9c6785e1a6f28f89
MD5 e9e94172bd32f7a46b677de38245c449
BLAKE2b-256 0914054608905480db347b8d2c37d80cd6f47215abde97a359a91a3a36717536

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp313-cp313-manylinux_2_28_armv7l.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-cp313-cp313-manylinux_2_28_armv7l.whl
Algorithm Hash digest
SHA256 7aea261e2a2d1352532fa13664f4e30adb83f2935d69b875869f8f2d44eba38c
MD5 9488bfa903a52eaca57f5e53366f300e
BLAKE2b-256 96ecf1a5e992a37a9826852063c7fafc5b808034debf0a055c476163ac5997ac

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp313-cp313-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 30064dacaf00bb0c4833961dcebc0529827f58a8e6665cd5908881fed3a76df3
MD5 efc43a04d9f07290f587ef2868bbdcd6
BLAKE2b-256 eb5c3f429d3fe73d4255ea6e859e1ce9e9773acf72dfd575f0299338bab3a221

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e72956ceb8209ff02b368cd1910ecbd3c2ae35e0b44d0fafbe7cc0e47ae9717d
MD5 fff6183db01e24cb58147dba171e0487
BLAKE2b-256 6650a58c5d14170f5fcdfa3db32f6f449deb68a1f55a2fea590ed09f40860304

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: kiru-0.1.11-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.10.0

File hashes

Hashes for kiru-0.1.11-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 f2dad616fa506eebb51cbfa0d01c11e4fa592f37d2236574ce0b47297293809e
MD5 20b2b5174243716636b8bc64d98b94fe
BLAKE2b-256 1e4e80998225a9947740978397d35ce6642036f0020ea7f2d2ce310029a62bc7

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e85635b1f3f61ed8c97bc76c474527b80988e5e23b9ae3cfdb48bec74a0461ea
MD5 5d54e59ed6ffeff44faee44e117185bb
BLAKE2b-256 625534d7cea9e8692667436f0793d532848b85e9dda010ee7ce2d7f9b4380879

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp312-cp312-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-cp312-cp312-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 23ca2f652f25000da3d1156ea2ee2327930f7a7a5ccc508df340e4e7761692e0
MD5 a5100d842ad85fdec4e6ff256f0bdaad
BLAKE2b-256 06dbf44373fb7b59f8aca7d496d5f38cc591f1baf90b291f2b7fb195cc212ca6

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp312-cp312-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-cp312-cp312-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 b2846b6a8d2db23e94ab0e3db070b29e56ce1775c6db428ab91bfb65a23460e7
MD5 a4095804263b2faf7d637f75fb5f6304
BLAKE2b-256 8b6a124b2f2ced715d85178510ecd70e3233686872910cf953731eaeec3fd275

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 7cc31f83971c7173c28b4c274638f49fe4fad41c6f4a036476a0a48386da7242
MD5 6fd3a952bcdd79e3c04d9722fae663e1
BLAKE2b-256 be8541d7023aa20508638d6b88c0f1d6f8f09351272e4a269a534527e50e06a1

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 09ed701fef843690ef39d32480b1f078541110f047830bb824015b1812c30661
MD5 229851d54638323baa6ee15529575e1c
BLAKE2b-256 974961cea91d604ea2152305a360f1a6fa5806476ab0614123f5db82a58f3dfd

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp312-cp312-manylinux_2_28_s390x.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-cp312-cp312-manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 e27b1f9b51dd4d37b79401deb2ea5456a6fada8397d42ff7fcfe00460d479ddf
MD5 51d601610a7b3f9d50d230fd3463dacb
BLAKE2b-256 a64008f62c1f4be9f79c9e797f5f16744ddb831348e92c841d29faea43404403

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp312-cp312-manylinux_2_28_ppc64le.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-cp312-cp312-manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 e1625ba2ecacfbefd26d95e396ca1abfee810eb3d4443fc5620a0afdf95680f9
MD5 e40466c6b1519c7d29a795c6a80a3d0a
BLAKE2b-256 b427064d40da538b9509b31a71a7b6e046a6e42b467bc0686683f31c3f41b64c

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp312-cp312-manylinux_2_28_i686.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-cp312-cp312-manylinux_2_28_i686.whl
Algorithm Hash digest
SHA256 deb44748772500655ecf79c259e0415f920ddaa4ee2f6ed9f929b6a5d53d5495
MD5 9900794d3fca9df27505e60b92f591c5
BLAKE2b-256 ed666e094012249f45f1064062fbf6afb27e8e6b5a5d608eeff9d5e4ac5f504c

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp312-cp312-manylinux_2_28_armv7l.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-cp312-cp312-manylinux_2_28_armv7l.whl
Algorithm Hash digest
SHA256 7cc3805b7681ca7fde15323a23f3754aa657532583370502178c51ae10db5ac8
MD5 1f59abb1cb27fb3cc70f20650068cde1
BLAKE2b-256 6c5ea41a200f988b34d7cfe40ccdf47d52d0acd280ca82caa3bc53fc2790ca7e

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp312-cp312-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 44d640a36eae71da7de77747763972d49bc4828e3062a8e8fffa6b5621ed2f72
MD5 8bd85355f1da52d8229e2227bb21e472
BLAKE2b-256 74fd2bb92752790a6601cf55fbda34a3a363e522cc469954fc1133b2762332a7

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6becd7095889f9de5fa9a854a70ec401fd72e83f0409900a558c8815116b58a3
MD5 cfc598470f50e5de6fe729999d02a01f
BLAKE2b-256 e5f94a54c4e9143b58f825a3783a68134d38a393df68a20cc771c7e28dcc1c44

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: kiru-0.1.11-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.10.0

File hashes

Hashes for kiru-0.1.11-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 7fdcb6c96c78e4f0724f7d7ca29eb4a68afd2fdeba9fbf87f0e4a65c7391086e
MD5 473316e30702c6388bf3158c5b96a3a9
BLAKE2b-256 e3d3508fa3ffd9234b621519603aa67214480424f02968201046e0f28bff420a

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 125263a1d1b7f034d7298acd9a393463017d9476a9ce69d4807d4364aa51fda0
MD5 505e396c564f5acc2bd4c152930bee6e
BLAKE2b-256 22cc31a7644b563e98598a4f09e80aa1b6efd6daa9802c3f2a6dcba66f21838b

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp311-cp311-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-cp311-cp311-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 e40ff3b3ca5842b56870780f0b8e4abbdf774699387c5161072bd702c0f115da
MD5 588748a99da5cc1650afc6d2239f405c
BLAKE2b-256 160e33d27cc9e888c73cf5e95c197b13dd87b6eb39589163f29bebe85478e280

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp311-cp311-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-cp311-cp311-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 4160395c013f72d768c00b7bcd4b9dc751c0c577546b35051dc525d1c84cb671
MD5 ac9f9b06b3fefdda3874ff4a7afe044e
BLAKE2b-256 90bd32668fc3f71eb82db55140917888bfca58f54c6183f42f62c5fb7180b8fb

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 f8fe64583f3e1e6336c9d31657a8d7d00611afc434a062ae9ebb0d6280519284
MD5 dfce770f80c83e801d02dc6d4e236f62
BLAKE2b-256 bf35d1df26ac0b2382263bb3356073090d08e71444624091118f7fb99426c1a9

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 95fa675d9423e9e9b75a5d975e513c445c5ed249eeea163258d5d19279a29fee
MD5 ade3c8f25bef0e5fcb910ab92f49ca2c
BLAKE2b-256 bc50af2eb85ab20244ea82419903a09105af89d3f9345bc17748795fdf3424aa

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp311-cp311-manylinux_2_28_s390x.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-cp311-cp311-manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 7d29e6871b682ce1e5f50d07884fa41aebc9b2044d8507364a1a051c31c6b93d
MD5 15b270085649fdd481980aae6472170e
BLAKE2b-256 cf7e408f8e69cbdff1c3cb25c62f85fc7c9fe68dadfdb10e8a03177bd9002115

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp311-cp311-manylinux_2_28_ppc64le.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-cp311-cp311-manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 1f072a1527ca6b18b32eb1fb434e7a78513073600ffdd2645f09077ba1102872
MD5 7b9444ccff6418c8a2c2b583d8ca0e1d
BLAKE2b-256 fbda495810a8538880bbe0be32219dab4c1789d94e91f576276f2e45a9908139

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp311-cp311-manylinux_2_28_i686.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-cp311-cp311-manylinux_2_28_i686.whl
Algorithm Hash digest
SHA256 012bb478d8c77e43c60caa058b50733ab82be7def6a26dc3d7247ccb2f97d80f
MD5 58aa88a900533138b8acfda96ea34891
BLAKE2b-256 5718f290686dc4a48aeae27d33a634f02a2e642e2ac8ac3880b0ba8a27915a8b

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp311-cp311-manylinux_2_28_armv7l.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-cp311-cp311-manylinux_2_28_armv7l.whl
Algorithm Hash digest
SHA256 c0cdabce21e855d667489f60b7e3bc093d11f671f520481022e71df40c87a763
MD5 8d9e95da6422d5619e9189d55cc80da7
BLAKE2b-256 88da45e32dea2f5182e510b34b96bc5b6aec0828c099e17dbcc44941a7afa4aa

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp311-cp311-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 5c162a4a025a0d887c2cb4ce424ea5619fcb9714557b8fd94fb7fdc07d718199
MD5 9a98b10d7f44f020e2f059621214f6c1
BLAKE2b-256 83f0ca11da96119681b76c3a3869866d86934c8f819bf0db95d483b7f8c741ce

See more details on using hashes here.

File details

Details for the file kiru-0.1.11-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for kiru-0.1.11-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f98cd327a793c42820cc7b8865ce01529240a1138f12718356ce15c90a4f92c2
MD5 495d1ac3769fea8badbb3b8a35f62157
BLAKE2b-256 c08f4aa4ced9822c3411ee1233d847eccfea3e6f7ad93929c71415a436b25726

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