Files
python-sdk/pkg/hanzo-s3/README.md
T
zeekay c4b36e12ce refactor(s3): back hanzo-s3 with boto3 over hanzoai/s3, drop minio
hanzoai/s3 (SeaweedFS fork w/ consensus+ZAP) is the canonical object
store; the minio pip package and its branding are gone. hanzo-s3 is now
a thin native boto3 adapter exposing a stable surface (S3Client + Bucket/
Object/Stat) so the hanzo s3 CLI and s3 MCP tool are unchanged. Removed
the dead MinioAdmin re-export (no consumer) and all MinIO naming.

CLI (7) + MCP S3Tool (14) tests green; ruff clean.
2026-06-24 13:50:24 -07:00

1.4 KiB

hanzo-s3

Hanzo S3 -- Python client for S3-compatible object storage.

Backed by hanzoai/s3 (a SeaweedFS fork with Hanzo consensus + ZAP) at s3.hanzo.ai. The S3 wire protocol is standard, so this is a thin native adapter over boto3 exposing a small, stable surface.

Install

pip install hanzo-s3
# or
uv add hanzo-s3

Quick start

from hanzo_s3 import S3Client

client = S3Client(
    "s3.hanzo.ai",
    access_key="YOUR-ACCESS-KEY",
    secret_key="YOUR-SECRET-KEY",
)

# List buckets
for bucket in client.list_buckets():
    print(bucket.name, bucket.creation_date)

# List objects
for obj in client.list_objects("my-bucket", prefix="logs/", recursive=True):
    print(obj.object_name, obj.size)

# Stat and presign
stat = client.stat_object("my-bucket", "remote/path.txt")
url = client.presigned_get_object("my-bucket", "remote/path.txt")

API

Name Purpose
S3Client / Client Buckets and objects: list_buckets, make_bucket, remove_bucket, list_objects, stat_object, remove_object, presigned_get_object
Bucket / Object / Stat Result types
S3Error / Error / S3Exception Errors