Skip to main content

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

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 - โœ… - โœ… โœ…
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 function identity (module.qualname), shared across all calls and across re-decorations of the same function
  • Thread-safe via RLock (all methods safe for concurrent access)
  • Fork-safe: a forked child starts with zeroed counters and its own session ID
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

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_VALUE_SIZE=104857600
CACHEKIT_ARROW_COMPRESSION=zstd

[!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

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.17.1.tar.gz (268.3 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.17.1-cp313-cp313-win_amd64.whl (481.1 kB view details)

Uploaded CPython 3.13Windows x86-64

cachekit-0.17.1-cp313-cp313-manylinux_2_28_aarch64.whl (556.0 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

cachekit-0.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (576.4 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

cachekit-0.17.1-cp313-cp313-macosx_11_0_arm64.whl (531.8 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

cachekit-0.17.1-cp313-cp313-macosx_10_12_x86_64.whl (556.1 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

cachekit-0.17.1-cp312-cp312-win_amd64.whl (480.5 kB view details)

Uploaded CPython 3.12Windows x86-64

cachekit-0.17.1-cp312-cp312-manylinux_2_28_aarch64.whl (555.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

cachekit-0.17.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (576.0 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

cachekit-0.17.1-cp312-cp312-macosx_11_0_arm64.whl (531.5 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

cachekit-0.17.1-cp312-cp312-macosx_10_12_x86_64.whl (555.7 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

cachekit-0.17.1-cp311-cp311-win_amd64.whl (478.9 kB view details)

Uploaded CPython 3.11Windows x86-64

cachekit-0.17.1-cp311-cp311-manylinux_2_28_aarch64.whl (554.5 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

cachekit-0.17.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (574.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

cachekit-0.17.1-cp311-cp311-macosx_11_0_arm64.whl (533.8 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

cachekit-0.17.1-cp311-cp311-macosx_10_12_x86_64.whl (556.0 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

cachekit-0.17.1-cp310-cp310-win_amd64.whl (479.1 kB view details)

Uploaded CPython 3.10Windows x86-64

cachekit-0.17.1-cp310-cp310-manylinux_2_28_aarch64.whl (554.9 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ ARM64

cachekit-0.17.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (574.4 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

cachekit-0.17.1-cp310-cp310-macosx_11_0_arm64.whl (534.1 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

cachekit-0.17.1-cp310-cp310-macosx_10_12_x86_64.whl (556.3 kB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for cachekit-0.17.1.tar.gz
Algorithm Hash digest
SHA256 df0ed4d758f109768ff30799232863983f68f9d73057037177c2cf7697690a81
MD5 58969ee10af814549555df7ba33afe46
BLAKE2b-256 46f0eedd1b7d14b934a97aa20fe387884324f0044238a9ec97f0f5291d2194ab

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: cachekit-0.17.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 481.1 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.17.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 b87685e9b868e6842444f0fefa4cea1b695fca7cb4bfabc2664171170a46f1ab
MD5 0d25acd187bb2fcdb869335f318a4217
BLAKE2b-256 cd45c5a7ff5796abf018bc25c3e7c1abab0f383ee4d7d8db8330faedb2ce26e6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cachekit-0.17.1-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c8d2540cac63c1933293ad4f82a434470c76308a370defd246c10128f4404332
MD5 e00b443a2f9b29e802ae4de6be3c96c9
BLAKE2b-256 bc439d8689034e7ef39472e0ee620b7c63e1a6bb1a844ed3175dadb9c461f883

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cachekit-0.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cb8d29fd1776b600160ce66b8339f8cb34c703a8478f43d3ee54fb884c349966
MD5 304dbe07ca5b325c77c7452ccaaf7ff5
BLAKE2b-256 532fa0b2ae0345cca9f938ff46e1182473333aeed6b9d93bdd0e0e1e68f8d729

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cachekit-0.17.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 94d82a5943480671ca40f97081e8757f38127f8cc9934a0970c99626f500e97a
MD5 4ae4f683187b8aaf5ffa62d3130e996d
BLAKE2b-256 86d308462aa5d1fc9a81ad30f0777f9fae399902d892e794e9c86334918d14fe

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cachekit-0.17.1-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e87fe34fd4f1034bd21d02f336478edc23cd271322c7e125507bd2fecb6cb9b2
MD5 d7f9c93e6fdbbcd67073ce0c7efc715c
BLAKE2b-256 3104a3a842ded23e0645de4bde3a298ee9473d3641477d8acdc6d8bf851951a7

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: cachekit-0.17.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 480.5 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.17.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 99e28d20681d21053c6059088b6b9d5fd88f50af36badfd13438d81e3818d591
MD5 d44ea34d6e2d6054e66bdf22b866938c
BLAKE2b-256 4f6926933e86b11b9864df994fa3849800cf59669cc871df45c0d025a7cccb58

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cachekit-0.17.1-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d9f8f98bf0df7f0e4cf173a8d50236b97756310b7df8732a70ac8b635a48c25c
MD5 97a802a20a2e0791ae1b5e77f1ccb8cc
BLAKE2b-256 5563a0384993582f145cb5dc49a06790d7c2f703e5e27472c23c1f7b26cac890

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cachekit-0.17.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0c1f862e719715640546e39161cb1ffd6a04e24302e537530e3c9744ac8273eb
MD5 00d0cca53f6c890feadce9b49acdfbf8
BLAKE2b-256 4b577c05cd7beefd5ae4760fc60c17b2c50cbd063523c4fe8487154f99f9c8aa

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cachekit-0.17.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cce6884b95b7fa9589f7217e8d578d930d6b5c4a932dfb55f9ba360d5e584136
MD5 c42c443de39d610cdb867c0cba2540fb
BLAKE2b-256 8cafa3fe43588928dac2b36b34d07d1ff486ea9a107f96ad38110586003e839c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cachekit-0.17.1-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 25ce0be21fea9bef1b8262cfd01e14f987f2ec0b819204867d1bda8953a6ca32
MD5 503ff940d34131ffcc5dfe59bc43ef29
BLAKE2b-256 4a77137c8aec54e775c41d873faf9e6dc1f000bc3f3aa76298d6635cbc2876bf

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: cachekit-0.17.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 478.9 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.17.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 dcff6c6c651888fff6e4004d6cac1057067846764413085e5ccc16f7a4d46f39
MD5 783cb22009f156496eff8b96d8d1b2c8
BLAKE2b-256 a0fa815dce107e36ece88f25f2b3012696679b54fc6f2e9f473445dc5ae801f0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cachekit-0.17.1-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 47d56471b6660b422d657bb85b072fd608697da1bcc8f74cd22907238876dda9
MD5 43ac41491173d49e13ef7d160113fa65
BLAKE2b-256 83f93394275f9a6c9ad62adac1c608a4f237bd163402d296f118d9db5b9ca4a1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cachekit-0.17.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ae4d1e7e4811417c02470b491d264e42eda97953a9499281261047ded960150d
MD5 409d4f6fddc455531ae090b6e44e024f
BLAKE2b-256 699525ee94c8db92106dd213423d66782578ecc10e47d54e21c3b390c6c2b7e6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cachekit-0.17.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 56cbadead61990b02565b3a3060e844abd29f78eaeb2fea339a3ff979c4cf8c4
MD5 15d14480afc081fa3d82ee8d88eb3747
BLAKE2b-256 2016f375b72dfc7720f3a3bcb2a8a1bb97eead1e37db6a6cf132ad0440a5d084

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cachekit-0.17.1-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 94bdafee9b011182e726a930fa36e752e8d1c849b5f517cdacfceb27187b515e
MD5 280d07877b0c3ee5ffd5f3ef1a1d9b65
BLAKE2b-256 d39521c7530133d6d39c6b503654ad38770f81f2a29d26004c6790adba653ee0

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: cachekit-0.17.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 479.1 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.17.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 f3db061acbda2a0725fd9f3064f187f9e48a6b597139398959640a81be1ea0d3
MD5 f62c2f1771a8e8d62f9f7c5b738cf597
BLAKE2b-256 079427dccc205b0f5ede7fb46e858e105000f5c5a58206906c208014d487de6e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cachekit-0.17.1-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 9194898369598374ba1d348f0ca5c70928440b691e20a5bc12f790edd51e17be
MD5 7b32c258767137aec2d8b383455362ce
BLAKE2b-256 843eeaddcdb4b000171201a138e008c01eb4e9e7ca7b7edc71beffc8ab1841e2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cachekit-0.17.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e9fc21d626f5d8326bc11619555ba1a135332f88c3d54132610cd696a84e0637
MD5 c18e49589e03c6b51aebeb5c49be3a5c
BLAKE2b-256 ce58e73504f037c175d9c4fcf7b4149020842d6f84bd1ce8517e4d90f0053a7f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cachekit-0.17.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ebbd99571db23797b28b38ec7b06b3103c6e84c1895cfef3e0d4f251ceb74004
MD5 c2cf278c631ccec636077067dd522c2a
BLAKE2b-256 97b89312fd7a5ce8f41ece5f73494632879dbe0a5a084fffc6d3d536bb4d2e35

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cachekit-0.17.1-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 0a081afb4b0bdb193bdd33af409b40a868020e1890a87c5e193c672ba470a2b3
MD5 9459172d39bfb76176f914c9af70a421
BLAKE2b-256 cc1a96eba539b2092a76fdfef187ff61f883fb88d1b24f8bdec3f3c96d477d6c

See more details on using hashes here.

Provenance

The following attestation bundles were made for cachekit-0.17.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 Sentry Error logging StatusPage Status page