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.16.0.tar.gz (261.6 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.16.0-cp313-cp313-win_amd64.whl (474.4 kB view details)

Uploaded CPython 3.13Windows x86-64

cachekit-0.16.0-cp313-cp313-manylinux_2_28_aarch64.whl (549.4 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

cachekit-0.16.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (570.0 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

cachekit-0.16.0-cp313-cp313-macosx_11_0_arm64.whl (525.1 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

cachekit-0.16.0-cp313-cp313-macosx_10_12_x86_64.whl (549.8 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

cachekit-0.16.0-cp312-cp312-win_amd64.whl (473.9 kB view details)

Uploaded CPython 3.12Windows x86-64

cachekit-0.16.0-cp312-cp312-manylinux_2_28_aarch64.whl (548.9 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

cachekit-0.16.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (569.6 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

cachekit-0.16.0-cp312-cp312-macosx_11_0_arm64.whl (524.8 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

cachekit-0.16.0-cp312-cp312-macosx_10_12_x86_64.whl (549.3 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

cachekit-0.16.0-cp311-cp311-win_amd64.whl (472.3 kB view details)

Uploaded CPython 3.11Windows x86-64

cachekit-0.16.0-cp311-cp311-manylinux_2_28_aarch64.whl (547.8 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

cachekit-0.16.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (567.8 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

cachekit-0.16.0-cp311-cp311-macosx_11_0_arm64.whl (527.2 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

cachekit-0.16.0-cp311-cp311-macosx_10_12_x86_64.whl (549.6 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

cachekit-0.16.0-cp310-cp310-win_amd64.whl (472.6 kB view details)

Uploaded CPython 3.10Windows x86-64

cachekit-0.16.0-cp310-cp310-manylinux_2_28_aarch64.whl (548.2 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ ARM64

cachekit-0.16.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (568.1 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

cachekit-0.16.0-cp310-cp310-macosx_11_0_arm64.whl (527.5 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

cachekit-0.16.0-cp310-cp310-macosx_10_12_x86_64.whl (549.9 kB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for cachekit-0.16.0.tar.gz
Algorithm Hash digest
SHA256 25063e612b6b8648aa16689784927aba6522845a109821e9e783115280c5848a
MD5 0a56f4f45a0e4d6187bcc667bc8488ac
BLAKE2b-256 3314a94933d483ad63ba721a0f4c2872ba31a245697672894823c7aa295f36ae

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: cachekit-0.16.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 474.4 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.16.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 4d1720757448c83fb71bbef2af69ccbfbe273f63d187f34a0b83a81545dbd8e9
MD5 4478b27f13c156709e31e9d0dd3958b3
BLAKE2b-256 1c8b277bce4a33415e285f18ac21da6c252a9f27696059d9f604b13aa498febf

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cachekit-0.16.0-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c0274f58611bc2510d5947c60e2d8d82fb775b129e02edb5841ce7c2f92cf46a
MD5 494f7888737df6e6df8ed646d2aef230
BLAKE2b-256 3697c25330f565d736ae9354823952572a9a851fdcdad9544669aa951304a6f1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cachekit-0.16.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 17e7e0eae19e53dff2e57ff0e8b400fe716a368e19c30e3c7fbb27cd55d4f278
MD5 2de5463afe2c3bf50e2f193f19e1a9fd
BLAKE2b-256 2d915e46dacac03046c01bc880af7bf69e9c9a8fcf59458d1b6371853c8c6343

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cachekit-0.16.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f1650256ea02515268520a26bf4cd9ff4b45ba4e093a359c671f47356b35b28c
MD5 3f75c711d1314d638f70caef4bcdff7d
BLAKE2b-256 7cc912a60c8f7ee67f1c9401908629622084a8c61168afd3c591b35bbabf59ca

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cachekit-0.16.0-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 453ca3c30125619b63ab4db8adda50198c06d3ddaf2365ec1d862b3c3cbfa88e
MD5 a9117ac42436560ef49bd7d1590b9140
BLAKE2b-256 a3d6760774948da5ec2e114c07b2d2702fc8ef638cae062e53bbddd4c5d187fb

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: cachekit-0.16.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 473.9 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.16.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 f5b00ecb250eb83056de2a1dc8d5ad9965a33500bd929b118a550d58a3f387f4
MD5 552d69ae01e4f667fc5cad55c24f2dc8
BLAKE2b-256 1082c72d46296555ce46743cd9050b23958300f6c77952ea3ad17cedf3fdc11a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cachekit-0.16.0-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 27d47dd1c94b795574971641d7a39c892fc47090ddab47aa01d1620b9d8ac4de
MD5 2fd719e76758ae0bb32d3795d0132c95
BLAKE2b-256 cf7983a480a0f6f0ff54ed1392fe471c83e212ae6db786debb8454d336ae580b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cachekit-0.16.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bc96e0ce0c8ff30fc4b0acf4ff31d3c17f6aa7f23ce77d625963c994f3fd431a
MD5 7ec56700f24df5d109b1f97c5714a070
BLAKE2b-256 3f15302d962321f957c8e2eb286b920f99c4d498177ad850d84f97af0aac942a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cachekit-0.16.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e7d8fa94b5cd318969d6d573aa8efedeb005e8c3e55dddc2293a6fe8f194ea36
MD5 4552ebe43ec0020e3de5e70dc8a5235c
BLAKE2b-256 9db8a7f30965e2992a7f4426b731c9ae9ef3fe4f5b44048230f3f74ef9534322

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cachekit-0.16.0-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 965bebaa8720695cba4d69d610c630dcc7b564e160db05b50c23f026b4e9acae
MD5 68419eb96d940cd5e8dea2ee9269d4ef
BLAKE2b-256 78e61b946b41106aca3ee681521a886f46f5625d792fc42d5884f4ba7dfee289

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: cachekit-0.16.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 472.3 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.16.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 83bf57af96fad4693b570a7bc62e4a547c4b806d341f7df963a228665f30752f
MD5 f7dc8b36bb94a4c2f7b85929a66034bb
BLAKE2b-256 918a0e304a99155b87a21ebe9198ff99d39d18bbca0272b315e5d2017c29a996

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cachekit-0.16.0-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 51702c60f477954ac1435d888260ecf39c45e3dae3bc7d92d34d53a7a47a888b
MD5 6b5b0bc44b107f2c58ba1031c17aa820
BLAKE2b-256 37af038bbc0a60da76895ae9ab4a3de9a24ba9b90823495241bd3896aa93c2a7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cachekit-0.16.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c80b3fa313c8ddbe46fae521f295242bf7af854a32da3dc89fd93f1c74acf80b
MD5 19dac87254eb9b28f2b10f59331b0124
BLAKE2b-256 a8b27b2a7dcc0febf0fc9a19e724e8b54fbfc1c471363b905d94ae06cb6fa7f9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cachekit-0.16.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bbd7fcf19dbdca7c764ff483c1905f84effd1af0e7f7e14ab1f07998ec7d341e
MD5 298d42b07fa244ec361d100bf56a7862
BLAKE2b-256 5864f6947e7fa43e910589f3cafafbe2d6efc03afd2548dd605c56a283642ab1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cachekit-0.16.0-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 68b3ef134bd98e5aa351097a703c74d0495f3e34a2a44320cdfaaefdc9496776
MD5 ea0118c62e42283fc2908f15765fcaa6
BLAKE2b-256 16a7538b9ae250cf2ec9b06e533880299e5d0909a5fe3d832d4923687591a38a

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: cachekit-0.16.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 472.6 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.16.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 bd82dd08c0b4551b6c0372e3dcd071ebdc936e8da8bede4ba0a5c3c83f6ed8de
MD5 6aed0d2270f8ce9cc1b598de6298129b
BLAKE2b-256 02a7be5d66688c7f26d61128458ce82be10bf1fec1daf81e9bd0e2c72963bf8d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cachekit-0.16.0-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 9ac40440477f7449d60ec0aa476ab4b9d37aa903650400640daf7c0e7ecc3b82
MD5 9689b9779f913cca8c2fdbab942a2628
BLAKE2b-256 b061b8802a0bc5c78921c20e027120dca1303f870dbfe15496c85cde8fe2b929

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cachekit-0.16.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 dab2c87f1dad36b49bba99e817f6d061f08c69a619fd078d23818bb8657fd336
MD5 1cf22507b7f54df3763195537549bdcc
BLAKE2b-256 3fa1da8c9905c7a155a70fda6f12ca72d0d707747e9a221e69cf7609793a241a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cachekit-0.16.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d76610c57c929ebb0106df1e8bfb89205e05947171573e59d5ebe43627fd5da3
MD5 d1b80b5e69bf2338432e26f480be0246
BLAKE2b-256 58db7c214ac7c8653cb52d98175f51e6a969b139b6428ab8affe48c72932dc60

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cachekit-0.16.0-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e9e09787e62222bea05e8a9713b1f169b9de94f4d0279ec4b407bdf558378ddc
MD5 c0a680da4c4175f4387d385ad3cf79c8
BLAKE2b-256 648ded9ef97864ba8bbd4b004e26f037bc0c5377f0d0c76dd9c4b97933ef526a

See more details on using hashes here.

Provenance

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