Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 46 additions & 0 deletions mkdocs/docs/api.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,15 @@ Or, list existing namespaces:
ns = catalog.list_namespaces()

assert ns == [("docs_example",)]

# Load namespace properties
properties = catalog.load_namespace_properties("docs_example")

# Update namespace properties
catalog.update_namespace_properties("docs_example", updates={"owner": "iceberg"})
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: not blocking but maybe we can add that we can remove properties with the removals param:

catalog.update_namespace_properties("docs_example", removals={"remove-meee!"}, updates={"owner": "iceberg"})


# Drop a namespace
# catalog.drop_namespace("docs_example")
```

## Create a table
Expand Down Expand Up @@ -165,8 +174,20 @@ with catalog.create_table_transaction(identifier="docs_example.bids", schema=sch
update_spec.add_identity("symbol")

txn.set_properties(test_a="test_aa", test_b="test_b", test_c="test_c")

Copy link
Contributor

@geruh geruh Jan 27, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's a markdown syntax issue here, and we lost the closing back ticks. I'd suggest deploying the docs and comparing to current site

## Register a table

To register a table using existing metadata:

```python
catalog.register_table(
identifier="docs_example.bids",
metadata_location="s3://warehouse/path/to/metadata.json"
)
```

```python
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think there is an orphaned code block here

Image


## Load a table

There are two ways of reading an Iceberg table; through a catalog, and by pointing at the Iceberg metadata directly. Reading through a catalog is preferred, and directly pointing at the metadata is read-only.
Expand Down Expand Up @@ -216,6 +237,31 @@ catalog.table_exists("docs_example.bids")

Returns `True` if the table already exists.

## Rename a table

To rename a table:

```python
catalog.rename_table(
from_identifier="docs_example.bids",
to_identifier="docs_example.bids_backup"
)
```

## Drop a table

To drop a table:

```python
catalog.drop_table("docs_example.bids")
```

To drop a table and purge all data and metadata files:

```python
catalog.purge_table("docs_example.bids")
```

## Write to a table

Reading and writing is being done using [Apache Arrow](https://arrow.apache.org/). Arrow is an in-memory columnar format for fast data interchange and in-memory analytics. Let's consider the following Arrow Table:
Expand Down