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.1.tar.gz (235.8 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.1-cp313-cp313-win_amd64.whl (448.3 kB view details)

Uploaded CPython 3.13Windows x86-64

cachekit-0.11.1-cp313-cp313-manylinux_2_28_aarch64.whl (524.5 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

cachekit-0.11.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (544.7 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

cachekit-0.11.1-cp313-cp313-macosx_11_0_arm64.whl (500.4 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

cachekit-0.11.1-cp313-cp313-macosx_10_12_x86_64.whl (524.5 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

cachekit-0.11.1-cp312-cp312-win_amd64.whl (448.0 kB view details)

Uploaded CPython 3.12Windows x86-64

cachekit-0.11.1-cp312-cp312-manylinux_2_28_aarch64.whl (524.1 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

cachekit-0.11.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (544.4 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

cachekit-0.11.1-cp312-cp312-macosx_11_0_arm64.whl (500.1 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

cachekit-0.11.1-cp312-cp312-macosx_10_12_x86_64.whl (524.1 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

cachekit-0.11.1-cp311-cp311-win_amd64.whl (446.2 kB view details)

Uploaded CPython 3.11Windows x86-64

cachekit-0.11.1-cp311-cp311-manylinux_2_28_aarch64.whl (523.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

cachekit-0.11.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (542.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

cachekit-0.11.1-cp311-cp311-macosx_11_0_arm64.whl (502.7 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

cachekit-0.11.1-cp311-cp311-macosx_10_12_x86_64.whl (524.3 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

cachekit-0.11.1-cp310-cp310-win_amd64.whl (446.4 kB view details)

Uploaded CPython 3.10Windows x86-64

cachekit-0.11.1-cp310-cp310-manylinux_2_28_aarch64.whl (523.4 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ ARM64

cachekit-0.11.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (542.8 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

cachekit-0.11.1-cp310-cp310-macosx_11_0_arm64.whl (502.8 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

cachekit-0.11.1-cp310-cp310-macosx_10_12_x86_64.whl (524.5 kB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: cachekit-0.11.1.tar.gz
  • Upload date:
  • Size: 235.8 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.1.tar.gz
Algorithm Hash digest
SHA256 b5ac8459cb055de461bbf067103b47d9eea754bdfcd56eae281b926eff619753
MD5 0fd2bea12ecbf6fd634534fdd94fdea4
BLAKE2b-256 30f4dc23389de82facd95ec5fa152b07a3d6fbdd6726b888e8dea4c57c001161

See more details on using hashes here.

Provenance

The following attestation bundles were made for cachekit-0.11.1.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.1-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: cachekit-0.11.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 448.3 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.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 fae2dd4af034a962c13c9535d6ebb91f8dec431b991b26c9b4d01fc62ceeb912
MD5 c19b1093421256690bdad6ec8ab7c4d8
BLAKE2b-256 20be7f8caf75df9c385d2112489b147844e9a60445a1d545373ebaa8af3efbfa

See more details on using hashes here.

Provenance

The following attestation bundles were made for cachekit-0.11.1-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.1-cp313-cp313-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cachekit-0.11.1-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 2fcc179da3c2f76d2ef3e7dce0766837418df31bff44dbeacc93f17af2d6a6fc
MD5 03612aa4c2bb9e45e01732299e37d7ad
BLAKE2b-256 1ed2196f48fbe9abbb0e3e899b62d0dcf11ad3f3ae9d59f6a7f1ba57433b594d

See more details on using hashes here.

Provenance

The following attestation bundles were made for cachekit-0.11.1-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.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cachekit-0.11.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 16191457c791c132bfbe7b767d0dcd81455f4128302fd66c6e0788023712e9f1
MD5 72ca83faa846b92f49371aea0f09e00e
BLAKE2b-256 ebb80f6a97a4ebe659924a7bb7e5cc1f4c740cfe61964dc5a02642b65c7394ad

See more details on using hashes here.

Provenance

The following attestation bundles were made for cachekit-0.11.1-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.1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cachekit-0.11.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e1b385d70eab97d27073c7bbe784ef4a5183b425579350a2ef86641160ae11d2
MD5 cbdb05512ae341f65d53f4a4a5c3a8b0
BLAKE2b-256 30eaa6b0646fe5f53e324017b5ca9d7e0d6acf2c259320a10079a0a9b3c2c08f

See more details on using hashes here.

Provenance

The following attestation bundles were made for cachekit-0.11.1-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.1-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for cachekit-0.11.1-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 bff3afdd8a46c0c4c6c68dd7e5002c4ca928440b0a5206c00dd54888231208ee
MD5 6d61664296d98f6e832ad716223aca0a
BLAKE2b-256 15bed37ebbe7a5e3abacf40bd9b20e9e088b00c5ef54d65107eb276e920b28c6

See more details on using hashes here.

Provenance

The following attestation bundles were made for cachekit-0.11.1-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.1-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: cachekit-0.11.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 448.0 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.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 fcb72eed27d308cf2de54f863d09a7f325383d45a91e4f3af758a9e98a873c6d
MD5 7d43debe45cde361a036b65efdfd01a6
BLAKE2b-256 ace0cb1dad5f0d4243f77fe306efbe7634e216cee00a8f5e476de2dd7c0a701e

See more details on using hashes here.

Provenance

The following attestation bundles were made for cachekit-0.11.1-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.1-cp312-cp312-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cachekit-0.11.1-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 9b90a806ffc437f8a543192b78296c65d5f45c3b44992059ad76660dc68512fa
MD5 35768399f5ce8e93a464c3730d5814a5
BLAKE2b-256 58c2a83b54d255e165f2e607efab5ebd5f8c40e451aeac11d3adeff78c323b6a

See more details on using hashes here.

Provenance

The following attestation bundles were made for cachekit-0.11.1-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.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cachekit-0.11.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0a81700714ddc221f34332912d1b1cff4911ff702f9b77f983ff530b598c248b
MD5 904436b14548d791f584c720112dfbd3
BLAKE2b-256 4f8dd3c24aab5259d5b8fce8fca0d30edac9c7676901562291b2574f4e21c79e

See more details on using hashes here.

Provenance

The following attestation bundles were made for cachekit-0.11.1-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.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cachekit-0.11.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0c39aa099869e1d86afc111edfefb8bf830ce6aa3e22e3e2c9dd04129c916744
MD5 b602c76eccfa0019f529c44c5c3dff5e
BLAKE2b-256 82a59b494248ae02d501d5d1bf821b0e93b18e407e0a68079151cd90eca3e6fd

See more details on using hashes here.

Provenance

The following attestation bundles were made for cachekit-0.11.1-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.1-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for cachekit-0.11.1-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 71505dcfbaa07cc5fa5aa6ca67785f0bd8590c3d35a953368fe2836da808e7d2
MD5 ca10f0505cda05f1c7d259290ba050bc
BLAKE2b-256 350dd374f43a9b4a3264c65b31456260cb2186a5293f5055e7c90778c7874907

See more details on using hashes here.

Provenance

The following attestation bundles were made for cachekit-0.11.1-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.1-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: cachekit-0.11.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 446.2 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.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 1866a8e7db43f51df77335a681c786277cf18e5f095f298017bccb7cb2b47af6
MD5 b74d0284d482bbc68083940bfcb6d4dc
BLAKE2b-256 a955d7e0022f8f9d3ab515a716d79e17e67b05714576e4ce759c442360b60076

See more details on using hashes here.

Provenance

The following attestation bundles were made for cachekit-0.11.1-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.1-cp311-cp311-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cachekit-0.11.1-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 366c4fc4216a1d4f1cb449b25f53c44ca8190e8c5308e9a81be76455a687c5de
MD5 fcd944e5df86e38648e8acc415bf51c7
BLAKE2b-256 57dbcd928a17f923882f4358e8ce055f585cb9e5401f739fa97547cdb594d9e3

See more details on using hashes here.

Provenance

The following attestation bundles were made for cachekit-0.11.1-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.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cachekit-0.11.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f091dbac829f1651fa74ba1dbdde00dd71b2d2ddc30f19cceb8c546b13eeafb2
MD5 8617a15818474c8b4e8597965fec2859
BLAKE2b-256 21678b526eed857912d28f16baa00c2cae5800058245fe81c4e074ffd653421c

See more details on using hashes here.

Provenance

The following attestation bundles were made for cachekit-0.11.1-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.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cachekit-0.11.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a71b2238d894d40a83b659a9fcc14443752ac9ca9f22db7fa082ec9ad8d6ae8f
MD5 5a6e9c4c2447ab719587cd1928ea0b74
BLAKE2b-256 b84df4b9bed8be1961720d918f37d04ba2047b2b6478b5d5ab00e098fc751172

See more details on using hashes here.

Provenance

The following attestation bundles were made for cachekit-0.11.1-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.1-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for cachekit-0.11.1-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 fb3b35af48b25cabf62cf0ae2178b5373485772011497dce77202867b55c3a82
MD5 e12ad28fe8affc456fa66537ec57e87a
BLAKE2b-256 422ef73d5f17c5398d1bb8d7cd472294ca01772b3b118858d0b3de3e390408bc

See more details on using hashes here.

Provenance

The following attestation bundles were made for cachekit-0.11.1-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.1-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: cachekit-0.11.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 446.4 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.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 5c081e463aa09d4fcc60cf2e152252a79b5534086bc05200b93949104295baa9
MD5 b046524b1a94011343415cb659c63c16
BLAKE2b-256 763d1e64a336189ad40060ab1e650ad98b627708a5056a737ced40a188f8f09b

See more details on using hashes here.

Provenance

The following attestation bundles were made for cachekit-0.11.1-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.1-cp310-cp310-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cachekit-0.11.1-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d38527372a3302d0c11dc3bfac76f0987706a18403e3fd30b87bf283a3099b7d
MD5 d7800c361e61158af7f786ff60369b27
BLAKE2b-256 cfc23c3a506d85cfdf47a971fa5f6edb6138c83d2275a293fc984f1fea193262

See more details on using hashes here.

Provenance

The following attestation bundles were made for cachekit-0.11.1-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.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cachekit-0.11.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c47e705c42be16faf8f41a06650b2108ff0b9cfe5be004426c5c7b85d0a75bb7
MD5 a01129012d18054ff1619966b37f41f0
BLAKE2b-256 2275ce74b1ed0dc0a50f0743f562e95830b8b9c37a4253536d0c5e4916bee0c8

See more details on using hashes here.

Provenance

The following attestation bundles were made for cachekit-0.11.1-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.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cachekit-0.11.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3115b2ee319db193828b28e2ce6459f78d9c79f26444c4ebe86ea55a87609ca5
MD5 18e641dd25a498bcec5d5fd459c1acd2
BLAKE2b-256 c8b7b810d2e2de068d30005579389ad9a41d10588161463a36f4ef09153b4b35

See more details on using hashes here.

Provenance

The following attestation bundles were made for cachekit-0.11.1-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.1-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for cachekit-0.11.1-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 01b0c3af59ca9d32b30730df7da978f647a1a7d3d7787114df78726e10ca03c0
MD5 3bea1118ce0a4851e4daf12d6c57239e
BLAKE2b-256 fe973af2bc5396c44c60625a0d0f25db224e62fd6b136f221a47682b1bc0a5c4

See more details on using hashes here.

Provenance

The following attestation bundles were made for cachekit-0.11.1-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