Skip to main content

Production-ready Redis caching for Python with intelligent reliability features and Rust-powered performance

Project description

cachekit

Python caching, batteries included

Production-ready caching for Python with intelligent reliability features and Rust-powered performance.

PyPI Version Python Versions codecov License: MIT


[!WARNING] Alpha Software โ€” cachekit is under active development. While we've been building and testing for ~6 months, the API is not yet stable and breaking changes may occur between releases. We're committed to making this library rock-solid, but we need your help!

๐Ÿ› Found a bug? Please open an issue โ€” even small ones help us improve.

๐Ÿ’ก Something feel off? We want to hear about rough edges, confusing APIs, or missing features.

Your feedback directly shapes the path to 1.0. Cheers!


Why cachekit?

Simple to use, production-ready out of the box.

from cachekit import cache

@cache
def expensive_function():
    return fetch_data()

That's it. You get:

Feature Description
Circuit breaker Prevents cascading failures
Distributed locking Multi-pod safety
Prometheus metrics Built-in observability
MessagePack serialization Efficient with optional compression
Zero-knowledge encryption Client-side AES-256-GCM
Adaptive timeouts Auto-tune to system load

Quick Start

Installation

pip install cachekit

Or with uv (recommended):

uv add cachekit

Setup (choose a backend)

cachekit exposes one decorator API over a pluggable backend abstraction. Pick the backend that fits your infrastructure โ€” they're peers behind the same @cache API:

Backend Best for Select with
Redis Self-hosted, full control REDIS_URL / CACHEKIT_REDIS_URL
CachekitIO Managed, zero-ops (alpha) CACHEKIT_API_KEY
Memcached High-throughput, existing infra CACHEKIT_MEMCACHED_SERVERS
File / L1-only Local dev, tests, no external deps CACHEKIT_FILE_CACHE_DIR / backend=None
# Run Redis locally or use your existing infrastructure
export REDIS_URL="redis://localhost:6379"
from cachekit import cache

@cache  # Auto-detects backend (defaults to Redis at localhost)
def expensive_api_call(user_id: int):
    return fetch_user_data(user_id)

[!TIP] No Redis? No worries! Use @cache(backend=None) for L1-only in-memory caching, like lru_cache, but with all the bells and whistles.

More Backends

CachekitIO โ€” Managed SaaS (Alpha)
import os
from cachekit import cache

# Set your CachekitIO API key
# export CACHEKIT_API_KEY="your-api-key"  # pragma: allowlist secret

@cache.io()  # Uses CachekitIO SaaS backend โ€” no Redis to manage
def expensive_api_call(user_id: int):
    return fetch_user_data(user_id)

cachekit.io is in closed alpha โ€” request access to get started.

Memcached โ€” Optional
from cachekit import cache
from cachekit.backends.memcached import MemcachedBackend

# pip install cachekit[memcached]

backend = MemcachedBackend()  # Defaults to 127.0.0.1:11211

@cache(backend=backend)
def expensive_api_call(user_id: int):
    return fetch_user_data(user_id)

Requires: pip install cachekit[memcached] or uv add cachekit[memcached]


CachekitIO Cloud (Alpha) Managed caching with zero infrastructure. L1+L2 caching, circuit breaker, and automatic failover โ€” no Redis to manage. cachekit.io is in closed alpha โ€” request access to get started.


Intent-Based Optimization

cachekit provides preset configurations for different use cases:

# Speed-critical: trading, gaming, real-time
@cache.minimal
def get_price(symbol: str):
    return fetch_price(symbol)

# Reliability-critical: payments, APIs
@cache.production
def process_payment(amount):
    return payment_gateway.charge(amount)

# Security-critical: PII, medical, financial
@cache.secure
def get_user_profile(user_id: int):
    return db.fetch_user(user_id)
Feature @cache.minimal @cache.dev @cache.test @cache.production @cache.secure
Circuit Breaker - โœ… - โœ… โœ…
Adaptive Timeouts - โœ… - โœ… โœ…
Backpressure โœ… โœ… - โœ… โœ…
Integrity Checking - โœ… - โœ… โœ… ๐Ÿ”’
Encryption - - - - โœ… Required
L1 SWR - โœ… - โœ… โœ…
L1 Invalidation - - - โœ… โœ…
L1 Namespace Index - - - โœ… โœ…
Prometheus Metrics - - - โœ… โœ…
Tracing - โœ… - โœ… โœ…
Structured Logging - โœ… - โœ… โœ…
Use Case High throughput Local debugging Deterministic tests Production reliability Compliance/security

๐Ÿ”’ @cache.secure forces integrity_checking=True โ€” it cannot be overridden.

@cache.io() mirrors @cache.production (full reliability + observability) but routes to the managed CachekitIO SaaS backend instead of Redis. @cache.local() is a separate in-process path backed by ObjectCache (raw object references, entry-count LRU, no serialization) โ€” the reliability and encryption features listed above do not apply to it.

Additional Presets: @cache.dev and @cache.test

See the comparison table above for the exact feature set of each preset.

# Development: verbose logging, integrity checks on, Prometheus off
@cache.dev
def debug_expensive_call():
    return complex_computation()

# Testing: deterministic, all protections off (no circuit breaker, no backpressure)
@cache.test
def test_cached_function():
    return fixed_test_value()

Architecture

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                        Application                          โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                     @cache Decorator                        โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚  โ”‚   Circuit   โ”‚  โ”‚  Adaptive   โ”‚  โ”‚    Distributed      โ”‚  โ”‚
โ”‚  โ”‚   Breaker   โ”‚  โ”‚  Timeouts   โ”‚  โ”‚      Locking        โ”‚  โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  L1 Cache (In-Memory)  โ”‚  L2 Cache (Pluggable Backend)     โ”‚
โ”‚       ~50ns            โ”‚  Redis / CachekitIO / File /      โ”‚
โ”‚                        โ”‚  Memcached    ~2-50ms             โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                    Rust Core (PyO3)                         โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚  โ”‚    LZ4      โ”‚  โ”‚  xxHash3    โ”‚  โ”‚    AES-256-GCM      โ”‚  โ”‚
โ”‚  โ”‚ Compression โ”‚  โ”‚  Checksums  โ”‚  โ”‚    Encryption       โ”‚  โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

[!TIP] Building in Rust? The core compression, checksums, and encryption are available as a standalone crate: cachekit-core Crates.io


Features

Production Hardened

  • Circuit breaker with graceful degradation
  • Connection pooling with thread affinity (+28% throughput)
  • Distributed locking prevents cache stampedes
  • Pluggable backend abstraction (Redis, CachekitIO, File, Memcached, custom)

[!NOTE] All reliability features are enabled by default with @cache.production. Use @cache.minimal to disable them for maximum throughput.

Smart Serialization

Serializer Speed Use Case
StandardSerializer โ˜…โ˜…โ˜…โ˜…โ˜† General Python types, NumPy, Pandas
OrjsonSerializer โ˜…โ˜…โ˜…โ˜…โ˜… JSON APIs (2-5x faster than stdlib) โ€” requires cachekit[json]
ArrowSerializer โ˜…โ˜…โ˜…โ˜…โ˜… Large DataFrames (6-23x faster for 10K+ rows)
EncryptionWrapper โ˜…โ˜…โ˜…โ˜…โ˜† Wraps any serializer with AES-256-GCM
Serializer Examples
from cachekit.serializers import OrjsonSerializer, ArrowSerializer, EncryptionWrapper

# Fast JSON for API responses
@cache.production(serializer=OrjsonSerializer())
def get_api_response(endpoint: str):
    return {"status": "success", "data": fetch_api(endpoint)}

# Zero-copy DataFrames for large datasets
@cache(serializer=ArrowSerializer())
def get_large_dataset(date: str):
    return pd.read_csv(f"data/{date}.csv")

# Encrypted DataFrames for sensitive data
@cache(serializer=EncryptionWrapper(serializer=ArrowSerializer()))
def get_patient_data(hospital_id: int):
    return pd.read_sql("SELECT * FROM patients WHERE hospital_id = ?", conn, params=[hospital_id])

Integrity Checking

[!IMPORTANT] All serializers support configurable checksums for corruption detection using xxHash3-64 (8 bytes). Enabled by default in @cache.production and @cache.secure.

Performance Impact (benchmark-proven):

Data Type Latency Reduction (disabled) Size Overhead
MessagePack (default) 60-90% 8 bytes
Arrow DataFrames 35-49% 8 bytes
JSON (orjson) 37-68% 8 bytes

Security

[!CAUTION] When handling PII, medical, or financial data, always use @cache.secure to enforce encryption.

cachekit employs comprehensive security tooling:

  • Supply Chain Security: cargo-deny for license compliance + RustSec scanning
  • Formal Verification: Kani proves correctness of compression, checksums, encryption
  • Runtime Analysis: Miri + sanitizers for memory safety
  • Fuzzing: Coverage-guided testing with >80% code coverage
  • Zero CVEs: Continuous vulnerability scanning
Security Commands
make security-install  # Install security tools (one-time)
make security-fast     # Run fast checks (< 3 min)

Security Tiers:

Tier Time Coverage
Fast < 3 min Vulnerability scanning, license checks, linting
Medium < 15 min Unsafe code analysis, API stability, Miri subset
Deep < 2 hours Formal verification, extended fuzzing, full sanitizers

See SECURITY.md for vulnerability reporting and detailed documentation.

Monitoring & Observability

  • Per-function statistics - cache_info() on every decorated function, modelled on functools.lru_cache
  • Prometheus metrics - Recorded by default (your app owns exposition)
  • Structured logging - Context-aware with correlation IDs
  • Health checks - Comprehensive status endpoints

Every decorated function exposes cache_info(), returning a CacheInfo named tuple with hit/miss counts, the L1/L2 split, and average backend latency:

@cache()
def get_score(x):
    return x ** 2

get_score(2)
get_score(2)  # served from cache

info = get_score.cache_info()
# CacheInfo has 9 fields: hits, misses, l1_hits, l2_hits, maxsize,
# currsize, l2_avg_latency_ms, last_operation_at, session_id
assert info.l1_hits + info.l2_hits == info.hits  # every hit is L1 or L2

maxsize and currsize are always None (the cache lives in an external store, not a bounded in-process dict); they exist only for lru_cache API parity. See the API Reference for the full field reference and a sample stats endpoint, and the Prometheus Metrics guide for metric names and exposition setup.

Thread Safety Details

Per-Function Statistics:

  • Statistics tracked per decorated function (shared across all calls)
  • Thread-safe via RLock (all methods safe for concurrent access)
from concurrent.futures import ThreadPoolExecutor

@cache()
def expensive_func(x):
    return x ** 2

# All threads share same stats
with ThreadPoolExecutor(max_workers=10) as executor:
    results = list(executor.map(expensive_func, range(100)))

info = expensive_func.cache_info()
# CacheInfo(hits=..., misses=..., l1_hits=..., l2_hits=...,
#           maxsize=None, currsize=None, l2_avg_latency_ms=...,
#           last_operation_at=..., session_id=...)

Documentation

Start Here

Guide Description
Comparison Guide How cachekit compares to lru_cache, aiocache, cachetools
Getting Started Progressive tutorial from basics to advanced
API Reference Complete API documentation

Feature Deep Dives

Feature Description
Serializer Guide ArrowSerializer vs StandardSerializer benchmarks
Circuit Breaker Prevent cascading failures
Distributed Locking Cache stampede prevention
Prometheus Metrics Built-in observability
Zero-Knowledge Encryption Client-side security
Adaptive Timeouts Auto-tune to infrastructure

Configuration

Environment Variables

# Redis Connection (priority: CACHEKIT_REDIS_URL > REDIS_URL)
CACHEKIT_REDIS_URL="redis://localhost:6379"  # Primary (preferred)
REDIS_URL="redis://localhost:6379"           # Fallback

# CachekitIO SaaS Backend (closed alpha โ€” request access at cachekit.io)
CACHEKIT_API_KEY="your-api-key"             # Required for @cache.io()  # pragma: allowlist secret
CACHEKIT_API_URL="https://api.cachekit.io"  # Default SaaS endpoint

# Memcached Backend (optional: pip install cachekit[memcached])
CACHEKIT_MEMCACHED_SERVERS='["mc1:11211", "mc2:11211"]'  # Default: 127.0.0.1:11211
CACHEKIT_MEMCACHED_CONNECT_TIMEOUT=2.0                   # Default: 2.0 seconds
CACHEKIT_MEMCACHED_TIMEOUT=1.0                            # Default: 1.0 seconds
CACHEKIT_MEMCACHED_KEY_PREFIX="myapp:"                    # Default: "" (none)

# Optional Configuration
CACHEKIT_DEFAULT_TTL=3600
CACHEKIT_MAX_CHUNK_SIZE_MB=100
CACHEKIT_ENABLE_COMPRESSION=true

[!NOTE] If both CACHEKIT_REDIS_URL and REDIS_URL are set, CACHEKIT_REDIS_URL takes precedence.


Development

git clone https://github.com/cachekit-io/cachekit-py.git
cd cachekit-py
uv sync && make install
make quick-check  # format + lint + critical tests

See CONTRIBUTING.md for full development guidelines.


Requirements

Component Version
Python 3.10+

License

MIT License - see LICENSE for details.


PyPI ยท GitHub ยท Issues

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

cachekit-0.11.0.tar.gz (235.4 kB view details)

Uploaded Source

Built Distributions

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

cachekit-0.11.0-cp313-cp313-win_amd64.whl (447.8 kB view details)

Uploaded CPython 3.13Windows x86-64

cachekit-0.11.0-cp313-cp313-manylinux_2_28_aarch64.whl (523.9 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

cachekit-0.11.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (544.2 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

cachekit-0.11.0-cp313-cp313-macosx_11_0_arm64.whl (500.0 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

cachekit-0.11.0-cp313-cp313-macosx_10_12_x86_64.whl (524.0 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

cachekit-0.11.0-cp312-cp312-win_amd64.whl (447.6 kB view details)

Uploaded CPython 3.12Windows x86-64

cachekit-0.11.0-cp312-cp312-manylinux_2_28_aarch64.whl (523.6 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

cachekit-0.11.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (543.9 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

cachekit-0.11.0-cp312-cp312-macosx_11_0_arm64.whl (499.7 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

cachekit-0.11.0-cp312-cp312-macosx_10_12_x86_64.whl (523.6 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

cachekit-0.11.0-cp311-cp311-win_amd64.whl (445.7 kB view details)

Uploaded CPython 3.11Windows x86-64

cachekit-0.11.0-cp311-cp311-manylinux_2_28_aarch64.whl (522.7 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

cachekit-0.11.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (542.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

cachekit-0.11.0-cp311-cp311-macosx_11_0_arm64.whl (502.3 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

cachekit-0.11.0-cp311-cp311-macosx_10_12_x86_64.whl (523.8 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

cachekit-0.11.0-cp310-cp310-win_amd64.whl (446.0 kB view details)

Uploaded CPython 3.10Windows x86-64

cachekit-0.11.0-cp310-cp310-manylinux_2_28_aarch64.whl (523.0 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ ARM64

cachekit-0.11.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (542.3 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

cachekit-0.11.0-cp310-cp310-macosx_11_0_arm64.whl (502.5 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

cachekit-0.11.0-cp310-cp310-macosx_10_12_x86_64.whl (524.0 kB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

File details

Details for the file cachekit-0.11.0.tar.gz.

File metadata

  • Download URL: cachekit-0.11.0.tar.gz
  • Upload date:
  • Size: 235.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cachekit-0.11.0.tar.gz
Algorithm Hash digest
SHA256 0e365debde376d95eca88b42ae741001c1fe5e8d91f33b29d3baabf93c8b4b0c
MD5 9ebd2109472390c8e70497e4502c425a
BLAKE2b-256 940181aa936307ac191d6bc5f952c2ae509e1b96b32ec6cab084bcc29f537e5f

See more details on using hashes here.

Provenance

The following attestation bundles were made for cachekit-0.11.0.tar.gz:

Publisher: release-please.yml on cachekit-io/cachekit-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cachekit-0.11.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: cachekit-0.11.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 447.8 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cachekit-0.11.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 180df3a787286db37452c2c47b7a9c1ea177e1ca7efb6adb8b9128f55e645745
MD5 e7377fceaf3c9aae399c43f5c45ec9a9
BLAKE2b-256 b4f32b6e0191168b5914a83ebb56f1f051b5667f6fe3dbfe1be62295a42f4f8f

See more details on using hashes here.

Provenance

The following attestation bundles were made for cachekit-0.11.0-cp313-cp313-win_amd64.whl:

Publisher: release-please.yml on cachekit-io/cachekit-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cachekit-0.11.0-cp313-cp313-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cachekit-0.11.0-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c7141398d43ed03bec7accc2442ca25897d23260590993fffe55fd3af528be3f
MD5 1bba89d716350fd8218a12aae865596c
BLAKE2b-256 cb322eed16f605153b79fa8e67a9ca0fbc3c85da7d0212b10c7bd79956d0b746

See more details on using hashes here.

Provenance

The following attestation bundles were made for cachekit-0.11.0-cp313-cp313-manylinux_2_28_aarch64.whl:

Publisher: release-please.yml on cachekit-io/cachekit-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cachekit-0.11.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cachekit-0.11.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fb3f62820c51d1584f91104f947d7048b0f5e9772c45a1c5e8ad4111e151891c
MD5 5eeadfc7dc2fe1199f372ad3319f2ebb
BLAKE2b-256 4a3cf355c7bcbb898f9559c63a435b20eaf43ac53f0a2e62d4a80a81e36e17f5

See more details on using hashes here.

Provenance

The following attestation bundles were made for cachekit-0.11.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release-please.yml on cachekit-io/cachekit-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cachekit-0.11.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cachekit-0.11.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0b8a94e425ec89601f052d53db3b1a7f2fe19d6aae9d1370f92a263962e4ad39
MD5 cc3aeee9d3828ffbcf39b52f5b19d455
BLAKE2b-256 c63727be28c2c7f6635da1468aa143430b7897751166c5a3e4db345197cb874f

See more details on using hashes here.

Provenance

The following attestation bundles were made for cachekit-0.11.0-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: release-please.yml on cachekit-io/cachekit-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cachekit-0.11.0-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for cachekit-0.11.0-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 535daacf3198482ed1570bb9440e0700ded1bc32dd264bc38b31e7d2472ea5be
MD5 8974790f74215d864b17efd6c6cd899e
BLAKE2b-256 b4281f36e83c281b45b7471f5f6d84ded0d23bbd35acefe6c493a7893756b7e8

See more details on using hashes here.

Provenance

The following attestation bundles were made for cachekit-0.11.0-cp313-cp313-macosx_10_12_x86_64.whl:

Publisher: release-please.yml on cachekit-io/cachekit-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cachekit-0.11.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: cachekit-0.11.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 447.6 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cachekit-0.11.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 a223e0b97f3582bd41f17af60bc208051f9a9947cacb83dee010de55fc65c702
MD5 2629dcc49abe9776e5109648dbc0f5d8
BLAKE2b-256 ea2d9f5a63bd762318a1e7878be411a352ff8be7a500be9d44a3590bc99e270c

See more details on using hashes here.

Provenance

The following attestation bundles were made for cachekit-0.11.0-cp312-cp312-win_amd64.whl:

Publisher: release-please.yml on cachekit-io/cachekit-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cachekit-0.11.0-cp312-cp312-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cachekit-0.11.0-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 da976451bb37365e627ebdd94b13a989ce03b4b83a124b217b25de3ce46800a9
MD5 5e78880b1745ab5e1cdf3f0c51c78ca0
BLAKE2b-256 04ad03a96b378172e983268cd048933eaddb67a4bc0584612744812380c47ea1

See more details on using hashes here.

Provenance

The following attestation bundles were made for cachekit-0.11.0-cp312-cp312-manylinux_2_28_aarch64.whl:

Publisher: release-please.yml on cachekit-io/cachekit-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cachekit-0.11.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cachekit-0.11.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 98f1441b2ce9700161dd72ac648295699925a365687b1639af50f30f24f607a1
MD5 3a01dc19e0dae7d99367814950d531ec
BLAKE2b-256 32bbf62b2211661ee6be91c427c56c50e9072f2b52b54dfb82928e98b852a3ec

See more details on using hashes here.

Provenance

The following attestation bundles were made for cachekit-0.11.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release-please.yml on cachekit-io/cachekit-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cachekit-0.11.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cachekit-0.11.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a854d2ec47de9deb9920d57de8f458e0a11329d6a2529307e89cc1c465a45a1a
MD5 18fc45d710b834457d84d73b70ca5264
BLAKE2b-256 cdf6e3c1c3d2b9bbc3032bc7ae35c4f441cd27270bb5a9bf3380b18c2c39573e

See more details on using hashes here.

Provenance

The following attestation bundles were made for cachekit-0.11.0-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: release-please.yml on cachekit-io/cachekit-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cachekit-0.11.0-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for cachekit-0.11.0-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 1eb47a4c652dd383a381bd5bb5cc5b854af5a562faec978b96a7467d3ab7978a
MD5 479df0f28ae7fe9a5fc8c720cd6c5148
BLAKE2b-256 3f94e3965e04215225d1e38c1064995d44f86e5f3e4c17022ab3debb3faccca8

See more details on using hashes here.

Provenance

The following attestation bundles were made for cachekit-0.11.0-cp312-cp312-macosx_10_12_x86_64.whl:

Publisher: release-please.yml on cachekit-io/cachekit-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cachekit-0.11.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: cachekit-0.11.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 445.7 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cachekit-0.11.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 585fb5f718a61f4f8d5448a7cdf534c8282897cc0f2c82209d3f763cf21ea00f
MD5 2af440102f93e2e89f51cf33897ba08a
BLAKE2b-256 d78b34f74a7f4d4fd04969137ae9cf474b9df51179d8b97904ee58a27e4a44db

See more details on using hashes here.

Provenance

The following attestation bundles were made for cachekit-0.11.0-cp311-cp311-win_amd64.whl:

Publisher: release-please.yml on cachekit-io/cachekit-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cachekit-0.11.0-cp311-cp311-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cachekit-0.11.0-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e0e535e667221560cda3705c76a44a17ca1b6e1a188fcfba1251cfa3638e5f44
MD5 83aa8858dd6f717c405f8c3b7ad198dd
BLAKE2b-256 e51afd3884d6d17303a7dc3a3aad5b197a54148e4db3e44258735da1d0ddc159

See more details on using hashes here.

Provenance

The following attestation bundles were made for cachekit-0.11.0-cp311-cp311-manylinux_2_28_aarch64.whl:

Publisher: release-please.yml on cachekit-io/cachekit-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cachekit-0.11.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cachekit-0.11.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 de4d5a4b65efddb622cc9092b1d2834d6ad307e092e1191c8b746bc4c30942ce
MD5 b328542f5f82d2ba15cf650c0257f9bc
BLAKE2b-256 9c93016ad2f47a473f9ead2275635c6f9360221b098397de2c06ce634b6d06ba

See more details on using hashes here.

Provenance

The following attestation bundles were made for cachekit-0.11.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release-please.yml on cachekit-io/cachekit-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cachekit-0.11.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cachekit-0.11.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bebb9a13f59fbcdfbe05078c6bedb105cab2d59f5d0cf912ff1ef475c1f6b1d7
MD5 79e0224d6214251d4f31686a1bbbea30
BLAKE2b-256 6fe0e083074d8357d61bd26e48105174565e9587ece055b18422ec54da6a6339

See more details on using hashes here.

Provenance

The following attestation bundles were made for cachekit-0.11.0-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: release-please.yml on cachekit-io/cachekit-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cachekit-0.11.0-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for cachekit-0.11.0-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 2cba862942c7334b66aae7536ee1831b8979de2cca93833700517bfa452adcc9
MD5 3759a5c8cbb7d6abbb2806854e8f846b
BLAKE2b-256 99a098bd38ec71371da0373d2f2e4194fd1331e390dce03feea22ce21d157808

See more details on using hashes here.

Provenance

The following attestation bundles were made for cachekit-0.11.0-cp311-cp311-macosx_10_12_x86_64.whl:

Publisher: release-please.yml on cachekit-io/cachekit-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cachekit-0.11.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: cachekit-0.11.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 446.0 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cachekit-0.11.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 57f9f3dd987e2480da2d3ea7bd214d5f329cb4277835a6f1dedadbe0f8c12e99
MD5 f6bb873c82cae1fb4b92f2b4bb39dc4e
BLAKE2b-256 253ee38581bf520498f14a3e0976a9f26e162715fd54db7d41ce7260bf069153

See more details on using hashes here.

Provenance

The following attestation bundles were made for cachekit-0.11.0-cp310-cp310-win_amd64.whl:

Publisher: release-please.yml on cachekit-io/cachekit-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cachekit-0.11.0-cp310-cp310-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cachekit-0.11.0-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d628bb57d25e76138162bc28a41bbd27dcdaacf628e2af8d6d42b49a3632b5c0
MD5 f0e6c62ac6d4f6aa87a57b086acf4a70
BLAKE2b-256 b9c7585d171384372150bbda040bec94d0e899d7a03a927eab610798c351b32f

See more details on using hashes here.

Provenance

The following attestation bundles were made for cachekit-0.11.0-cp310-cp310-manylinux_2_28_aarch64.whl:

Publisher: release-please.yml on cachekit-io/cachekit-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cachekit-0.11.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cachekit-0.11.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f2b14536f8406f0f665287347fee2e4050bcb7c8cacb9c0ebc2f11fc21d14ff6
MD5 8b7d8ca6bfbcdc5e2a7991ac49671201
BLAKE2b-256 c9c14d5189a33520ba539916080367aaa3e61db65eba7c040fa8bf97e70360d2

See more details on using hashes here.

Provenance

The following attestation bundles were made for cachekit-0.11.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release-please.yml on cachekit-io/cachekit-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cachekit-0.11.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cachekit-0.11.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c20290eb3de51eeca542fb2a99048e17acb01e0f47647535d98a118599eaaa53
MD5 821168e3d9ba22121ed10fa9f2373b35
BLAKE2b-256 ee591c6f03855bfb6d37528ee8402d173d1564661a7d5d6e9818194e078d1815

See more details on using hashes here.

Provenance

The following attestation bundles were made for cachekit-0.11.0-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: release-please.yml on cachekit-io/cachekit-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cachekit-0.11.0-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for cachekit-0.11.0-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 c91ae8b55e735a12743029848eea7436ad97e63d9dbad963a6527ed9ad7f838c
MD5 b99227c91cca6034fbe9ce709a3db7fe
BLAKE2b-256 c80a51a8fa2dc2afe673d31dcfa8007a1cff9e1dc3656fc7b161735dba197abf

See more details on using hashes here.

Provenance

The following attestation bundles were made for cachekit-0.11.0-cp310-cp310-macosx_10_12_x86_64.whl:

Publisher: release-please.yml on cachekit-io/cachekit-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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