Skip to main content

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

Project description

cachekit

Redis caching, batteries included

Production-ready Redis 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

# Run Redis locally or use your existing infrastructure
export REDIS_URL="redis://localhost:6379"
from cachekit import cache

@cache  # Uses Redis backend by default
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.


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.production @cache.secure
Circuit Breaker - โœ… โœ…
Adaptive Timeouts - โœ… โœ…
Monitoring - โœ… Full โœ… Full
Integrity Checking - โœ… Enabled โœ… Enforced
Encryption - - โœ… Required
Use Case High throughput Production reliability Compliance/security
Additional Presets
# Development: debugging with verbose output
@cache.dev
def debug_expensive_call():
    return complex_computation()

# Testing: deterministic, no randomness
@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 (Redis/Backend)         โ”‚
โ”‚       ~50ns            โ”‚         ~2-7ms                     โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                    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, File, HTTP, DynamoDB, 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
DefaultSerializer โ˜…โ˜…โ˜…โ˜…โ˜† General Python types, NumPy, Pandas
OrjsonSerializer โ˜…โ˜…โ˜…โ˜…โ˜… JSON APIs (2-5x faster than stdlib)
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.

Built-in Monitoring

  • Prometheus metrics - Production-ready observability
  • Structured logging - Context-aware with correlation IDs
  • Health checks - Comprehensive status endpoints
  • Performance tracking - Built-in latency monitoring
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)))

print(expensive_func.cache_info())
# CacheInfo(hits=90, misses=10, maxsize=None, currsize=10)

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 DefaultSerializer 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

# 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.9+

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.2.3.tar.gz (187.9 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.2.3-cp313-cp313-win_amd64.whl (384.3 kB view details)

Uploaded CPython 3.13Windows x86-64

cachekit-0.2.3-cp313-cp313-manylinux_2_28_aarch64.whl (459.8 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

cachekit-0.2.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (481.3 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

cachekit-0.2.3-cp313-cp313-macosx_11_0_arm64.whl (439.4 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

cachekit-0.2.3-cp313-cp313-macosx_10_12_x86_64.whl (464.7 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

cachekit-0.2.3-cp312-cp312-manylinux_2_28_aarch64.whl (459.9 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

cachekit-0.2.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (481.4 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

cachekit-0.2.3-cp311-cp311-manylinux_2_28_aarch64.whl (460.7 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

cachekit-0.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (481.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

cachekit-0.2.3-cp310-cp310-manylinux_2_28_aarch64.whl (460.9 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ ARM64

cachekit-0.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (481.5 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

cachekit-0.2.3-cp39-cp39-manylinux_2_28_aarch64.whl (461.1 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ ARM64

cachekit-0.2.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (481.6 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

File details

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

File metadata

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

File hashes

Hashes for cachekit-0.2.3.tar.gz
Algorithm Hash digest
SHA256 30452fdd231207177c69a4d477f59b7afff7f673477eec9dbc4108b3682f16f7
MD5 ad7716315fd3468622ea55bd9095fde2
BLAKE2b-256 f0ea7fd11de56ac8bb441f7b5c1ee24998b3ac885dc0192143f1c99b31635e6b

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: cachekit-0.2.3-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 384.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.2.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 50b38d7201d894225b99327c534997e2bbbf858375f8109dd64d460f04b07c3e
MD5 7e6832f6dc2ccff79c33dfd55f455d0c
BLAKE2b-256 01252336abcae83eb23d5042b39a68f08864710a50b58b42f2e592d6bdc68008

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cachekit-0.2.3-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 2c4ae598c0f93107b427b6a5e993e3d216e76f3236ba131b12853febf9c12581
MD5 ac95fcb30adbbb333b1a5ae41d6aca6c
BLAKE2b-256 db75eb2407e2ef141c6f109b83000adc694ce022bdbb862fa5c2a9359418dcb7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cachekit-0.2.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7e8f60e2b516b2fcc721c7002b6e9d5dd0d1645418efacff60664d5be78dda16
MD5 592d0114ab2b686cf5b8d152150ca6e3
BLAKE2b-256 fe61e6804afcdddb21c243d2e5bfe669f94e158ae1bb24245fb8f3f98b95b8c6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cachekit-0.2.3-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 66191083f53f6186aab82e780bcfdc394318da035d19f6ce2af69ae55e181f87
MD5 fa9dbcbfa71e1ddbe051ba860527229d
BLAKE2b-256 5da5f26ab0a8ac63a2146d557f3966d8fc557e7e2328fb92966b43bf07b9089a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cachekit-0.2.3-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 33a297586b6aca47b5b778f69c3bf4924d856afbed97a30f965a92d6f09adccf
MD5 bef14d0bcdfecaa1c670b753239edbfb
BLAKE2b-256 37eef876ef2a915d5dcfbe436089368b42ff9fe4a2d388d9e79e19536b488f9c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cachekit-0.2.3-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 eaa347002a24e10dc403385fe9aad50e12a0e5a491f3fff72df524213979a33f
MD5 6799f20bc6065abbef4414e8bc921226
BLAKE2b-256 68848a220006698ad6b013ce462e02afb7f167d54e440e4b980a86bdb1ebc660

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cachekit-0.2.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 98123e022fe0c0445b41ffb9488ab4d6925116b75a9691d277959bd2b8e76155
MD5 8da8b0bc92ca2cdf11d5a5c21170bbb5
BLAKE2b-256 f7726daf3de1018885567e4aae1b39f2cbdc489da0a39c6ef0f859dc9fc6e0b3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cachekit-0.2.3-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e7f9d6287f80cf2ccf212a85e428cfb4965f5dde13cc0186c852f5db3a753871
MD5 c8939b2ddddfe5f31c935b995d7b87e7
BLAKE2b-256 5379a9fdc0ee966081af856557a31091ac3cc3e15dfbd832884c9d80d7fb86b4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cachekit-0.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ca0c86f7b5baf60d896c48314d2cdb8d05d8454e1126d89d223d6598c92ea2ae
MD5 d920f0670e4e507c87cb9690d5ab0c09
BLAKE2b-256 d67c0b190b99a65542a2d76a937858b6cba889d6d464c7bcb59dffdd674a042b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cachekit-0.2.3-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 1fe61c025135806f92ca4d55092f4e5d6e3ed0a84e23d86827b5ee2a33be1250
MD5 20211d7cd6d6566cca1377c64ec61d5a
BLAKE2b-256 65ec7758d4d23e3784d663674718fadeae027c194ffe2120e677b90ee6eb136d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cachekit-0.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2d72ec0f08cfa7a8382111c35b194e43b9931141bcd63d4551e9124f967d070a
MD5 a2ae6dd0d5b0ee72d14648d5686f37cc
BLAKE2b-256 df27fe9eae322a3de0adddc13716f3c04848e883a1cc4f16f20f2dcb42aaad86

See more details on using hashes here.

Provenance

The following attestation bundles were made for cachekit-0.2.3-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.2.3-cp39-cp39-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cachekit-0.2.3-cp39-cp39-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 3315673e0e2b1ad75601704ed203e1200ff0fdc42e6f81c2456bd8491d81fed6
MD5 29bf9170f1ac5ae57a4c8f7028d175a6
BLAKE2b-256 bc59918b4f174c4bba370f33ac24c7c6a00961dc892f99e9dd516a62ebd6397b

See more details on using hashes here.

Provenance

The following attestation bundles were made for cachekit-0.2.3-cp39-cp39-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.2.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cachekit-0.2.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3e850711fd66475ea912c505bd63d66e43cdc9b5cd4667248c4560d051a251d9
MD5 0097025bef048e72c0b8b7763d70b52e
BLAKE2b-256 688e72c42dde07af7e172c3159f240a5e573c6746961e8a7e29b68ef2c4d44af

See more details on using hashes here.

Provenance

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

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