Skip to main content
Pre-release

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_url is 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)

Source distribution for storage-kernel-provider-sftp 0.1.0a4
File Size Uploaded Provenance
storage_kernel_provider_sftp-0.1.0a4.tar.gz 11.9 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for storage-kernel-provider-sftp 0.1.0a4
File Interpreter ABI Platform
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.

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