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.0a7

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.0a7
File Size Uploaded Provenance
storage_kernel_contracts-0.1.0a7.tar.gz 8.6 kB Without provenance Details

Built distribution (wheel)

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

Total release size: 20.2 kB

Release files / storage_kernel_contracts-0.1.0a7.tar.gz

Download URL storage_kernel_contracts-0.1.0a7.tar.gz
Size 8.6 kB
Tags Source
SHA-256 checksum
How to use checksums
153d40219ac41c18607ff8f3bff9c15fdc1d8a470b0f7550eae6d19db9b0f405
BLAKE2b-256 checksum
How to use checksums
8c6b030b5a71919f76230410aa53fcecf7e79ddd19f75926d9b0967ed32691f3
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.0a7-py3-none-any.whl

Download URL storage_kernel_contracts-0.1.0a7-py3-none-any.whl
Size 11.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b2a5419497539bf87688f94fce8afb57af2cf9e2645d4c1be19851c7d6122cb0
BLAKE2b-256 checksum
How to use checksums
fe69de61ff71c598ac50d4e22d5749dd7711eeed65c7e2a02941d3d452ac091f
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.0a7

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