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.
[!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, likelru_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
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.minimalto 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.productionand@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.secureto 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_URLandREDIS_URLare set,CACHEKIT_REDIS_URLtakes 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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cachekit-0.2.1.tar.gz.
File metadata
- Download URL: cachekit-0.2.1.tar.gz
- Upload date:
- Size: 187.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
53082162ddf87d637398f6225ac7a6062b3bf7bbf31b96498d322d2d0f829e5a
|
|
| MD5 |
5ada6b74ac34758ce769f9797b7bee43
|
|
| BLAKE2b-256 |
eb2df57df046273bc9b6b17ed838a1ddaf8e1747a8522a452e0444ec71b0e800
|
Provenance
The following attestation bundles were made for cachekit-0.2.1.tar.gz:
Publisher:
release-please.yml on cachekit-io/cachekit-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cachekit-0.2.1.tar.gz -
Subject digest:
53082162ddf87d637398f6225ac7a6062b3bf7bbf31b96498d322d2d0f829e5a - Sigstore transparency entry: 769368713
- Sigstore integration time:
-
Permalink:
cachekit-io/cachekit-py@c9b075135b4d9863e9b39b1a0bfd22e7a97f014f -
Branch / Tag:
refs/heads/main - Owner: https://github.com/cachekit-io
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-please.yml@c9b075135b4d9863e9b39b1a0bfd22e7a97f014f -
Trigger Event:
push
-
Statement type:
File details
Details for the file cachekit-0.2.1-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: cachekit-0.2.1-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 383.9 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4d1b78f225da957fb4a4b36253eb3b7d524e8f5ff90696759ef1232216345f9b
|
|
| MD5 |
0ac562e70d551d57796b12f1bd619360
|
|
| BLAKE2b-256 |
bb4f7ac3d97fc523e5f3e07367ab15f52f40b25a76230db9dd7819c6d68b9a12
|
Provenance
The following attestation bundles were made for cachekit-0.2.1-cp313-cp313-win_amd64.whl:
Publisher:
release-please.yml on cachekit-io/cachekit-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cachekit-0.2.1-cp313-cp313-win_amd64.whl -
Subject digest:
4d1b78f225da957fb4a4b36253eb3b7d524e8f5ff90696759ef1232216345f9b - Sigstore transparency entry: 769368733
- Sigstore integration time:
-
Permalink:
cachekit-io/cachekit-py@c9b075135b4d9863e9b39b1a0bfd22e7a97f014f -
Branch / Tag:
refs/heads/main - Owner: https://github.com/cachekit-io
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-please.yml@c9b075135b4d9863e9b39b1a0bfd22e7a97f014f -
Trigger Event:
push
-
Statement type:
File details
Details for the file cachekit-0.2.1-cp313-cp313-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: cachekit-0.2.1-cp313-cp313-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 459.4 kB
- Tags: CPython 3.13, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
21560336287e5b5cd5b01ccf5c223a21536217f421a208f1ae029fc929cecaa9
|
|
| MD5 |
87ed485f9778db29b4d79b370f681f8c
|
|
| BLAKE2b-256 |
3a0fd380455ec3ad38b34641fd178ea5c4e46753d684ad046c9191077610870d
|
Provenance
The following attestation bundles were made for cachekit-0.2.1-cp313-cp313-manylinux_2_28_aarch64.whl:
Publisher:
release-please.yml on cachekit-io/cachekit-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cachekit-0.2.1-cp313-cp313-manylinux_2_28_aarch64.whl -
Subject digest:
21560336287e5b5cd5b01ccf5c223a21536217f421a208f1ae029fc929cecaa9 - Sigstore transparency entry: 769368731
- Sigstore integration time:
-
Permalink:
cachekit-io/cachekit-py@c9b075135b4d9863e9b39b1a0bfd22e7a97f014f -
Branch / Tag:
refs/heads/main - Owner: https://github.com/cachekit-io
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-please.yml@c9b075135b4d9863e9b39b1a0bfd22e7a97f014f -
Trigger Event:
push
-
Statement type:
File details
Details for the file cachekit-0.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: cachekit-0.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 480.9 kB
- Tags: CPython 3.13, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
39887e4dcc018d59e76e598f47a5c5fc5421bbbb4b709dbb7f4d6b9fc0f0b92d
|
|
| MD5 |
c5c66a13bd3e4bcd657d27eaa78e940a
|
|
| BLAKE2b-256 |
b3764285ad79f1397fd252e752996fa1843be5846a0753886fc8825f13d54977
|
Provenance
The following attestation bundles were made for cachekit-0.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
release-please.yml on cachekit-io/cachekit-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cachekit-0.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
39887e4dcc018d59e76e598f47a5c5fc5421bbbb4b709dbb7f4d6b9fc0f0b92d - Sigstore transparency entry: 769368746
- Sigstore integration time:
-
Permalink:
cachekit-io/cachekit-py@c9b075135b4d9863e9b39b1a0bfd22e7a97f014f -
Branch / Tag:
refs/heads/main - Owner: https://github.com/cachekit-io
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-please.yml@c9b075135b4d9863e9b39b1a0bfd22e7a97f014f -
Trigger Event:
push
-
Statement type:
File details
Details for the file cachekit-0.2.1-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: cachekit-0.2.1-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 439.0 kB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3526ff18e49ceb6a136f5f6371833e8e1983ead790d9c9149ceb1241ba4604c6
|
|
| MD5 |
22dab338db867e56a5a9e22d4737401b
|
|
| BLAKE2b-256 |
dca44814f5d916178ad4edf33761f9a4745d583852e3eb4364935ec3754e4184
|
Provenance
The following attestation bundles were made for cachekit-0.2.1-cp313-cp313-macosx_11_0_arm64.whl:
Publisher:
release-please.yml on cachekit-io/cachekit-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cachekit-0.2.1-cp313-cp313-macosx_11_0_arm64.whl -
Subject digest:
3526ff18e49ceb6a136f5f6371833e8e1983ead790d9c9149ceb1241ba4604c6 - Sigstore transparency entry: 769368726
- Sigstore integration time:
-
Permalink:
cachekit-io/cachekit-py@c9b075135b4d9863e9b39b1a0bfd22e7a97f014f -
Branch / Tag:
refs/heads/main - Owner: https://github.com/cachekit-io
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-please.yml@c9b075135b4d9863e9b39b1a0bfd22e7a97f014f -
Trigger Event:
push
-
Statement type:
File details
Details for the file cachekit-0.2.1-cp313-cp313-macosx_10_12_x86_64.whl.
File metadata
- Download URL: cachekit-0.2.1-cp313-cp313-macosx_10_12_x86_64.whl
- Upload date:
- Size: 464.3 kB
- Tags: CPython 3.13, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d0e3c418ae3f3ad91d8503b13ba05ee065be7dce41a6403f73257419a29084e0
|
|
| MD5 |
8996140774c54ff5cdfa3e8e81b2257c
|
|
| BLAKE2b-256 |
d59e1aedaa190bdf11e310815525b1d8d157532fa26e2b975acc38591206c97f
|
Provenance
The following attestation bundles were made for cachekit-0.2.1-cp313-cp313-macosx_10_12_x86_64.whl:
Publisher:
release-please.yml on cachekit-io/cachekit-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cachekit-0.2.1-cp313-cp313-macosx_10_12_x86_64.whl -
Subject digest:
d0e3c418ae3f3ad91d8503b13ba05ee065be7dce41a6403f73257419a29084e0 - Sigstore transparency entry: 769368750
- Sigstore integration time:
-
Permalink:
cachekit-io/cachekit-py@c9b075135b4d9863e9b39b1a0bfd22e7a97f014f -
Branch / Tag:
refs/heads/main - Owner: https://github.com/cachekit-io
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-please.yml@c9b075135b4d9863e9b39b1a0bfd22e7a97f014f -
Trigger Event:
push
-
Statement type:
File details
Details for the file cachekit-0.2.1-cp312-cp312-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: cachekit-0.2.1-cp312-cp312-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 459.5 kB
- Tags: CPython 3.12, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
deaea52a4478bde87369498ab74bc598c8c59245302b3c2414f6246d70cb9856
|
|
| MD5 |
9c44acc7efbc502e9433551fed7edba5
|
|
| BLAKE2b-256 |
8e1dea8e6895485a7c59120fcb6118527e08650fdf8ca01b1d71abca42769b9c
|
Provenance
The following attestation bundles were made for cachekit-0.2.1-cp312-cp312-manylinux_2_28_aarch64.whl:
Publisher:
release-please.yml on cachekit-io/cachekit-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cachekit-0.2.1-cp312-cp312-manylinux_2_28_aarch64.whl -
Subject digest:
deaea52a4478bde87369498ab74bc598c8c59245302b3c2414f6246d70cb9856 - Sigstore transparency entry: 769368754
- Sigstore integration time:
-
Permalink:
cachekit-io/cachekit-py@c9b075135b4d9863e9b39b1a0bfd22e7a97f014f -
Branch / Tag:
refs/heads/main - Owner: https://github.com/cachekit-io
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-please.yml@c9b075135b4d9863e9b39b1a0bfd22e7a97f014f -
Trigger Event:
push
-
Statement type:
File details
Details for the file cachekit-0.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: cachekit-0.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 481.0 kB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d9fa8455062e71f7e8d5fa0085a61fe2bc4466c41c37fc3a5607bce1517393c6
|
|
| MD5 |
256f41f43d7889c7012538722a5da13c
|
|
| BLAKE2b-256 |
b1416ab5d1035b94e83310a94b9a9e3daa1bd2314e3af8f21e36560c1db66a43
|
Provenance
The following attestation bundles were made for cachekit-0.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
release-please.yml on cachekit-io/cachekit-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cachekit-0.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
d9fa8455062e71f7e8d5fa0085a61fe2bc4466c41c37fc3a5607bce1517393c6 - Sigstore transparency entry: 769368714
- Sigstore integration time:
-
Permalink:
cachekit-io/cachekit-py@c9b075135b4d9863e9b39b1a0bfd22e7a97f014f -
Branch / Tag:
refs/heads/main - Owner: https://github.com/cachekit-io
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-please.yml@c9b075135b4d9863e9b39b1a0bfd22e7a97f014f -
Trigger Event:
push
-
Statement type:
File details
Details for the file cachekit-0.2.1-cp311-cp311-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: cachekit-0.2.1-cp311-cp311-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 460.2 kB
- Tags: CPython 3.11, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b5fff8ce07f8f5c837fb895779aa4c76a63e66f731fb899aa3d307bdaeef4a63
|
|
| MD5 |
dc05cca132b9684305efe92f45a06cdc
|
|
| BLAKE2b-256 |
70cab9c9ca2f3edd6b931fc3afb5a0a1a7e167f9c8f5602c93579d63e38661d8
|
Provenance
The following attestation bundles were made for cachekit-0.2.1-cp311-cp311-manylinux_2_28_aarch64.whl:
Publisher:
release-please.yml on cachekit-io/cachekit-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cachekit-0.2.1-cp311-cp311-manylinux_2_28_aarch64.whl -
Subject digest:
b5fff8ce07f8f5c837fb895779aa4c76a63e66f731fb899aa3d307bdaeef4a63 - Sigstore transparency entry: 769368716
- Sigstore integration time:
-
Permalink:
cachekit-io/cachekit-py@c9b075135b4d9863e9b39b1a0bfd22e7a97f014f -
Branch / Tag:
refs/heads/main - Owner: https://github.com/cachekit-io
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-please.yml@c9b075135b4d9863e9b39b1a0bfd22e7a97f014f -
Trigger Event:
push
-
Statement type:
File details
Details for the file cachekit-0.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: cachekit-0.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 480.8 kB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
edc9d165c72b7c712e049f8cd3303e9d849f65af1632b3f6f2e9be4b4b8de409
|
|
| MD5 |
634af37eecc40f108e436a59a78ac4dc
|
|
| BLAKE2b-256 |
566ba9d682a1e9b3363f5e19f698824b99d2a1628c08690e21d172073d244cbb
|
Provenance
The following attestation bundles were made for cachekit-0.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
release-please.yml on cachekit-io/cachekit-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cachekit-0.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
edc9d165c72b7c712e049f8cd3303e9d849f65af1632b3f6f2e9be4b4b8de409 - Sigstore transparency entry: 769368717
- Sigstore integration time:
-
Permalink:
cachekit-io/cachekit-py@c9b075135b4d9863e9b39b1a0bfd22e7a97f014f -
Branch / Tag:
refs/heads/main - Owner: https://github.com/cachekit-io
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-please.yml@c9b075135b4d9863e9b39b1a0bfd22e7a97f014f -
Trigger Event:
push
-
Statement type:
File details
Details for the file cachekit-0.2.1-cp310-cp310-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: cachekit-0.2.1-cp310-cp310-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 460.5 kB
- Tags: CPython 3.10, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
71355cf16c2ab25619505b9aa8b0b56e9554de57c924e3149ccda8c951fe4716
|
|
| MD5 |
2888b0579bfeabce796a6aa3f63b5d7a
|
|
| BLAKE2b-256 |
d35dc0dc1ac7415c0a4c79676d3f97b28f69879638ab8e936039f52cbb9ad9eb
|
Provenance
The following attestation bundles were made for cachekit-0.2.1-cp310-cp310-manylinux_2_28_aarch64.whl:
Publisher:
release-please.yml on cachekit-io/cachekit-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cachekit-0.2.1-cp310-cp310-manylinux_2_28_aarch64.whl -
Subject digest:
71355cf16c2ab25619505b9aa8b0b56e9554de57c924e3149ccda8c951fe4716 - Sigstore transparency entry: 769368739
- Sigstore integration time:
-
Permalink:
cachekit-io/cachekit-py@c9b075135b4d9863e9b39b1a0bfd22e7a97f014f -
Branch / Tag:
refs/heads/main - Owner: https://github.com/cachekit-io
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-please.yml@c9b075135b4d9863e9b39b1a0bfd22e7a97f014f -
Trigger Event:
push
-
Statement type:
File details
Details for the file cachekit-0.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: cachekit-0.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 481.0 kB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
89b465116604b09a99b1cc3db23d28458279b41040d2795614f246861a407cf7
|
|
| MD5 |
adfd335df169848ea47accd2dffc0d76
|
|
| BLAKE2b-256 |
7f25c838db2008672c65e3878e9b7e4d402fa3462158169828b140db4644dadf
|
Provenance
The following attestation bundles were made for cachekit-0.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
release-please.yml on cachekit-io/cachekit-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cachekit-0.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
89b465116604b09a99b1cc3db23d28458279b41040d2795614f246861a407cf7 - Sigstore transparency entry: 769368724
- Sigstore integration time:
-
Permalink:
cachekit-io/cachekit-py@c9b075135b4d9863e9b39b1a0bfd22e7a97f014f -
Branch / Tag:
refs/heads/main - Owner: https://github.com/cachekit-io
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-please.yml@c9b075135b4d9863e9b39b1a0bfd22e7a97f014f -
Trigger Event:
push
-
Statement type:
File details
Details for the file cachekit-0.2.1-cp39-cp39-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: cachekit-0.2.1-cp39-cp39-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 460.6 kB
- Tags: CPython 3.9, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
34d32e6e5317cf98237c689294b755ff772f0c62589ee7e1e67a47d1b1541bf7
|
|
| MD5 |
b1c7b6a6664ba4c963954151a1626974
|
|
| BLAKE2b-256 |
1bb4d5e3dae704618285312757ca5113f3a249fa5a48b6fb80607cc431baa562
|
Provenance
The following attestation bundles were made for cachekit-0.2.1-cp39-cp39-manylinux_2_28_aarch64.whl:
Publisher:
release-please.yml on cachekit-io/cachekit-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cachekit-0.2.1-cp39-cp39-manylinux_2_28_aarch64.whl -
Subject digest:
34d32e6e5317cf98237c689294b755ff772f0c62589ee7e1e67a47d1b1541bf7 - Sigstore transparency entry: 769368748
- Sigstore integration time:
-
Permalink:
cachekit-io/cachekit-py@c9b075135b4d9863e9b39b1a0bfd22e7a97f014f -
Branch / Tag:
refs/heads/main - Owner: https://github.com/cachekit-io
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-please.yml@c9b075135b4d9863e9b39b1a0bfd22e7a97f014f -
Trigger Event:
push
-
Statement type:
File details
Details for the file cachekit-0.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: cachekit-0.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 481.2 kB
- Tags: CPython 3.9, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
46e375be45b90882ba5fd7f2968dd593cc2085738e110e7ebe51660b54a8b0d6
|
|
| MD5 |
89c454a7b9e2e0b3a551f9e42c405089
|
|
| BLAKE2b-256 |
df4c99c4193de248edcaf2005d411c2dbad9266505ef4f006d200cd127ee8f69
|
Provenance
The following attestation bundles were made for cachekit-0.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
release-please.yml on cachekit-io/cachekit-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cachekit-0.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
46e375be45b90882ba5fd7f2968dd593cc2085738e110e7ebe51660b54a8b0d6 - Sigstore transparency entry: 769368745
- Sigstore integration time:
-
Permalink:
cachekit-io/cachekit-py@c9b075135b4d9863e9b39b1a0bfd22e7a97f014f -
Branch / Tag:
refs/heads/main - Owner: https://github.com/cachekit-io
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-please.yml@c9b075135b4d9863e9b39b1a0bfd22e7a97f014f -
Trigger Event:
push
-
Statement type: