S3 Tables Buckets

Catalog endpoints

Each table bucket is a catalog. Which endpoint serves it depends on the format it holds.

ICEBERG http://localhost:8181/v1
LANCE http://localhost:9101
Total Buckets
0
Last Updated
2026-09-06 13:09
Iceberg REST Port
8181
Table Buckets
NameFormatOwnerARNCatalog EndpointCreatedPolicyActions
No table buckets found

Create your first S3 Tables bucket to get started.

Client Examples
ICEBERGDuckDB
INSTALL iceberg;
LOAD iceberg;

CREATE SECRET (
    TYPE ICEBERG,
    ENDPOINT 'http://localhost:8181',
    SCOPE 's3://my-table-bucket/'
);

SELECT * FROM iceberg_scan('s3://my-table-bucket/my-namespace/my-table');
ICEBERGPython (PyIceberg)
from pyiceberg.catalog import load_catalog

catalog = load_catalog(
    name="seaweedfs",
    **{
        "type": "rest",
        "uri": "http://localhost:8181",
        "warehouse": "s3://my-table-bucket/",
    }
)

namespaces = catalog.list_namespaces()
LANCEPython (lance-namespace)
from lance_namespace import connect

ns = connect("rest", {"uri": "http://localhost:9101"})

ns.list_namespaces(id=["my-table-bucket"])
ns.describe_table(id=["my-table-bucket", "my-namespace", "my-table"])
LANCEPython (pylance)
import lance
from lance_namespace import connect

ns = connect("rest", {"uri": "http://localhost:9101"})
table = ns.describe_table(id=["my-table-bucket", "my-namespace", "my-table"])

# The namespace vends both the location and the credentials to read it.
dataset = lance.dataset(table.location, storage_options=table.storage_options)