This release is a pre-release and may not be stable for production use.
storage-kernel-core
Shared Storage Kernel implementation: portable path handling, directory selection, stream helpers, observability and provider error normalization.
This distribution belongs to the Storage Kernel package family. It sits
between storage-kernel-contracts and the provider distributions.
Install it when you build a provider or reuse the kernel helpers directly. If you
only need to type a storage client or catch storage errors, depend on
storage-kernel-contracts alone.
Install
pip install storage-kernel-core storage-kernel-contracts
Usage
from storage_kernel.contracts import StoragePathNotFoundError
from storage_kernel.core import normalize_storage_path, normalize_provider_error
key = normalize_storage_path("./reports//2026.csv")
try:
read_object(key)
except Exception as error:
raise normalize_provider_error(error, "aws-s3", key) from error
What it provides
| Module | Responsibility |
|---|---|
options |
client option defaults, location and overwrite resolution |
path |
portable path normalization, traversal rejection, path and URL joins |
text |
text encoding and line handling |
content_type |
content type inferred from the path extension |
directory |
recursive and non-recursive directory entry selection |
streams |
the readable stream providers return, the shared send_stream, stream collection, buffered upload stream |
logging |
one log line written to the logger's method for its level |
error_normalization |
provider failures mapped onto the kernel error contract |
client_behavior |
client decoration with observability and error normalization |
Error normalization
Not-found and permission failures are normalized, because a caller must branch on
them without knowing which provider is behind the contract. Every other failure
keeps the provider message and gains provider, path and code, with the
original exception preserved in cause and in the exception chain.
An exception that already is a StorageKernelError keeps its class and instance.
Only the context it is missing is filled in.
License
MIT
Metadata
Release files for storage-kernel-core 0.1.0a4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| storage_kernel_core-0.1.0a4.tar.gz | 12.6 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| storage_kernel_core-0.1.0a4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 29.3 kB
Release files / storage_kernel_core-0.1.0a4.tar.gz
| Download URL | storage_kernel_core-0.1.0a4.tar.gz |
|---|---|
| Size | 12.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f0b78505c5d3cdfce7250c54023d515b355b3e41be1f914df1e815d612d29ec5
|
|
BLAKE2b-256 checksum How to use checksums |
7e95b7ece7eff72c9c45ac8df9e34b02717096a30c73ba2cf75ad33a168f1d7e
|
| 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_core-0.1.0a4-py3-none-any.whl
| Download URL | storage_kernel_core-0.1.0a4-py3-none-any.whl |
|---|---|
| Size | 16.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0fc8d6a2379522b5420f93afb80c3ebd16286159bc8b3f97fdd90dd3aaba2661
|
|
BLAKE2b-256 checksum How to use checksums |
3494f67ec535f6dd8b000ad10dd560fdee87ab468f14ea63c91a8c5095d7c87e
|
| 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-core 0.1.0a4
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.