Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

storage-kernel-contracts

Provider-agnostic contracts for Storage Kernel.

This package owns the portable public API: storage paths, locations, operation options, async client protocols, provider aliases, shared helpers and normalized errors.

Install

uv add storage-kernel-contracts

Usage

from storage_kernel.contracts import StorageLocation

location = StorageLocation(bucket="files", prefix="production")
path = "documents/readme.md"

Provider packages depend on this package. This package does not import provider SDKs.

Directory reads default to recursive=True and include_directories=True. A signed URL defaults to DEFAULT_SIGNED_URL_ACTION, StorageSignedUrlAction.READ, and to DEFAULT_SIGNED_URL_EXPIRES_IN_SECONDS, 900. StorageClientClass describes provider classes accepted by the generic factory. STORAGE_PROVIDER_ALIASES and STORAGE_PROVIDER_TARGET_BY_NAME are the canonical built-in registries. StorageStreamSource is what a streaming write accepts: text, bytes or an async byte iterable.

Observability

Clients write to StorageClientOptions.logger and nowhere else. Without one, or without the method for a line's level, the line is dropped, so a client with no logger is silent. logger=logging.getLogger("my-app") is a drop-in: a log line is one descriptive string, with no identifier and no context argument.

ObservedStorageClient applies the common behavior once at the public client boundary. Each line says what happened and where — Reading invoices/2026.pdf from aws-s3 bucket reports — and the two languages write the same sentences. Provider SDK paths and location metadata are not logged by this boundary.

decorate_client(client, options, provider) is the direct Python equivalent of the JavaScript client decorator. It is idempotent, preserves provider extension attributes, and lets the generic factory apply the same behavior to injected provider classes without requiring inheritance.

Metadata

Release files for storage-kernel-contracts 0.1.0a5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for storage-kernel-contracts 0.1.0a5
File Size Uploaded Provenance
storage_kernel_contracts-0.1.0a5.tar.gz 8.6 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for storage-kernel-contracts 0.1.0a5
File Interpreter ABI Platform
storage_kernel_contracts-0.1.0a5-py3-none-any.whl Python 3 none any Details

Total release size: 20.2 kB

Release files / storage_kernel_contracts-0.1.0a5.tar.gz

Download URL storage_kernel_contracts-0.1.0a5.tar.gz
Size 8.6 kB
Tags Source
SHA-256 checksum
How to use checksums
d806848d00dec8a6ed06439dee07dc6975443c1b7ca5dde7a47679827682bc3c
BLAKE2b-256 checksum
How to use checksums
d3a702664609152d3c1f90fc35832c6fc7e391dff127eaf004b65227de25ce1a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13

Release files / storage_kernel_contracts-0.1.0a5-py3-none-any.whl

Download URL storage_kernel_contracts-0.1.0a5-py3-none-any.whl
Size 11.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bd8c0c3d2f0a3d794c1b7f7bd9884389c484d8c6f3fe257c4e1c18c75ff14730
BLAKE2b-256 checksum
How to use checksums
e6cad4cc68d63c9c799681a370a5666bd593e40e2cc3c4a979e7d6e24e18c7b5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13

Security for storage-kernel-contracts 0.1.0a5

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page