Describe the bug
Most of the Iceberg ecosystem supports nested namespaces - e.g., a table's fully qualified name can be prod.nested.table.
When adding a data source with such an Iceberg catalog, the data source browser panel only shows top level namespaces, and nothing in them:
The simplest option would be to show fully-qualified names for all the nested namespaces. The more fancy one would be to support nesting in the tree as well - possibly only fetching sub-namespaces or tables when a given namespace is being expanded, as there could be a lot.
Will you submit a PR?
Environment
Details
{
"marimo": "0.23.8",
"editable": false,
"location": "/Users/notebooks/.venv/lib/python3.12/site-packages/marimo",
"OS": "Darwin",
"OS Version": "25.4.0",
"Processor": "arm",
"Python Version": "3.12.13",
"Locale": "C/en_US",
"Binaries": {
"Browser": "149.0.7827.103",
"Node": "--",
"uv": "0.11.17 (a33a629d6 2026-05-28 aarch64-apple-darwin)"
},
"Dependencies": {
"click": "8.4.1",
"docutils": "0.23",
"itsdangerous": "2.2.0",
"jedi": "0.19.2",
"markdown": "3.10.2",
"narwhals": "2.22.0",
"packaging": "26.2",
"psutil": "7.2.2",
"pygments": "2.20.0",
"pymdown-extensions": "10.21.3",
"pyyaml": "6.0.3",
"starlette": "1.2.1",
"tomlkit": "0.15.0",
"typing-extensions": "4.15.0",
"uvicorn": "0.48.0",
"websockets": "16.0"
},
"Optional Dependencies": {
"loro": "1.10.3",
"pandas": "3.0.3",
"pyarrow": "24.0.0"
},
"Experimental Flags": {}
}
Code to reproduce
@app.cell
def _():
import pyarrow as pa
from pyiceberg.catalog import load_catalog
warehouse_path = "/tmp/"
test_catalog = load_catalog(
"default",
**{
'type': 'sql',
"uri": f"sqlite:///{warehouse_path}/pyiceberg_catalog.db",
"warehouse": f"file://{warehouse_path}",
},
)
# Nested namespace
test_catalog.create_namespace_if_not_exists("top.nested")
table = test_catalog.create_table(
"top.nested.table",
schema=pa.schema([
('some_int', pa.int32()),
('some_string', pa.string())
])
)
return
Describe the bug
Most of the Iceberg ecosystem supports nested namespaces - e.g., a table's fully qualified name can be
prod.nested.table.When adding a data source with such an Iceberg catalog, the data source browser panel only shows top level namespaces, and nothing in them:
The simplest option would be to show fully-qualified names for all the nested namespaces. The more fancy one would be to support nesting in the tree as well - possibly only fetching sub-namespaces or tables when a given namespace is being expanded, as there could be a lot.
Will you submit a PR?
Environment
Details
{
"marimo": "0.23.8",
"editable": false,
"location": "/Users/notebooks/.venv/lib/python3.12/site-packages/marimo",
"OS": "Darwin",
"OS Version": "25.4.0",
"Processor": "arm",
"Python Version": "3.12.13",
"Locale": "C/en_US",
"Binaries": {
"Browser": "149.0.7827.103",
"Node": "--",
"uv": "0.11.17 (a33a629d6 2026-05-28 aarch64-apple-darwin)"
},
"Dependencies": {
"click": "8.4.1",
"docutils": "0.23",
"itsdangerous": "2.2.0",
"jedi": "0.19.2",
"markdown": "3.10.2",
"narwhals": "2.22.0",
"packaging": "26.2",
"psutil": "7.2.2",
"pygments": "2.20.0",
"pymdown-extensions": "10.21.3",
"pyyaml": "6.0.3",
"starlette": "1.2.1",
"tomlkit": "0.15.0",
"typing-extensions": "4.15.0",
"uvicorn": "0.48.0",
"websockets": "16.0"
},
"Optional Dependencies": {
"loro": "1.10.3",
"pandas": "3.0.3",
"pyarrow": "24.0.0"
},
"Experimental Flags": {}
}
Code to reproduce