This release is a pre-release and may not be stable for production use.
storage-kernel-provider-sftp
SFTP provider for Storage Kernel.
This provider maps StorageLocation.directory to a remote root directory and
StorageLocation.prefix to a namespace below that root.
Install
uv add storage-kernel-contracts storage-kernel-provider-sftp
Usage
from storage_kernel.contracts import StorageClientOptions, StorageLocation
from storage_kernel.provider_sftp import SftpStorageProviderOptions, create_sftp_storage_client
storage = create_sftp_storage_client(
StorageClientOptions(location=StorageLocation(directory="/upload", prefix="prod")),
SftpStorageProviderOptions(
host="sftp.example.com",
username="storage",
password="secret",
known_hosts_path="/etc/ssh/storage_known_hosts",
),
)
await storage.send_content("docs/readme.txt", "Hello")
Signed URLs are not supported by SFTP and raise a normalized capability error.
Provider Options
| Option | Purpose |
|---|---|
host |
SFTP server host |
port |
SFTP server port, defaulting to 22 |
username |
Username for authentication |
password |
Password authentication or private-key passphrase companion |
private_key |
Private key content as str or bytes |
private_key_path |
Path to a private key file |
passphrase |
Private key passphrase |
known_hosts_path |
OpenSSH known_hosts verification file |
host_key_sha256 |
OpenSSH SHA256:<base64> host fingerprint |
host_verifier |
Custom host-key verification callable |
dangerously_disable_host_key_verification |
Explicit unsafe bypass |
root_directory |
Fallback root when StorageLocation.directory is absent |
public_base_url |
Enables get_public_url for externally served files |
client |
Optional caller-owned SFTP client |
Capabilities
- full binary and text reads/writes
- remote read streams and writable upload streams
- recursive directory reads and deletes
- same-provider native copy through the SFTP client
- password, private-key and passphrase-protected private-key authentication
- explicit known-host, fingerprint or custom host-key verification
- public URLs when
public_base_urlis configured
Exactly one host identity policy is required when the provider creates the
paramiko client. An injected client owns its connection policy. Set
dangerously_disable_host_key_verification=True only for controlled
environments where host identity verification is intentionally bypassed, such
as disposable local integration servers.
When private_key is provided, invalid key content or a wrong passphrase fails
as a configuration error; the provider does not silently discard the key and
fall back to another credential source.
Metadata
Release files for storage-kernel-provider-sftp 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_provider_sftp-0.1.0a4.tar.gz | 11.9 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| storage_kernel_provider_sftp-0.1.0a4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 27.6 kB
Release files / storage_kernel_provider_sftp-0.1.0a4.tar.gz
| Download URL | storage_kernel_provider_sftp-0.1.0a4.tar.gz |
|---|---|
| Size | 11.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
82fde12ef3bba7debc1366ec88b7c0611009c006e1883a73caff58cbbcb5e67f
|
|
BLAKE2b-256 checksum How to use checksums |
77ffe07de8ad5e8b29a306e662f5aae7c5487dd5ecc3faecf49cbd9a45ac51d7
|
| 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_provider_sftp-0.1.0a4-py3-none-any.whl
| Download URL | storage_kernel_provider_sftp-0.1.0a4-py3-none-any.whl |
|---|---|
| Size | 15.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
baf4f2db48068bd5fbecbbe6d8af290f205bae8edc13e1b3ba11dce8f13469eb
|
|
BLAKE2b-256 checksum How to use checksums |
64408fb8eb156cce641101e6bf8a624cbeeb035081921b8ad707c2122af852fb
|
| 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-provider-sftp 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.