You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
IIUC the pyiceberg CLI only supports configuration of a REST catalog's {prefix} path parameter via configuration file or environment variable PYICEBERG_CATALOG__DEFAULT__PREFIX. It would be great to have a flag for that (similar to --uri).
I just started to wonder the same thing, but I'm still a bit torn:
Doesn't the config response from the server still use the "prefix" configuration key to tell the client which {prefix} to use (via default or overrides)?
EDIT: from that point of view, we may need to distinguish between two configurations
prefix which is used to build the endpoints, but can be overridden from a catalog's /v1/config response
warehouse which can be used to influence the catalog's /v1/config response
Ah, I misunderstood the PR. I agree that passing in the prefix is less valuable. Often the prefix is used to distinguish between different workspaces/organisations, but not sure if that's valuable for users to pass in by hand.
I think warehouse makes more sense, but not in a REST context. In Hive/Hadoop this actually points to the location where the data lives. Yay for re-using parameter names :D
Activity
kevinjqliu commentedon Feb 17, 2026
sounds like a great idea! thanks!
feat(cli): add --prefix option for REST catalog (apache#3059)
Add `--prefix` option for REST catalog (apache#3061)
kevinjqliu commentedon Feb 18, 2026
Taking another look at this, i think we might want to change this to
--warehouse. The REST spec handshake expects awarehouseparameter for v1/config, https://github.com/apache/iceberg/blob/d06e6c22fecf00be81f2eb399f090fae320560a4/open-api/rest-catalog-open-api.yaml#L64-L78iceberg-python/pyiceberg/catalog/rest/__init__.py
Lines 617 to 620 in ec0a451
for which the server then customize the
prefixkevinjqliu commentedon Feb 18, 2026
cc @DerGut @mrutunjay-kinagi @Fokko
mrutunjay-kinagi commentedon Feb 18, 2026
@kevinjqliu Does this need a PR ?
DerGut commentedon Feb 18, 2026
I just started to wonder the same thing, but I'm still a bit torn:
Doesn't the config response from the server still use the
"prefix"configuration key to tell the client which{prefix}to use (via default or overrides)?EDIT: from that point of view, we may need to distinguish between two configurations
prefixwhich is used to build the endpoints, but can be overridden from a catalog's/v1/configresponsewarehousewhich can be used to influence the catalog's/v1/configresponsekevinjqliu commentedon Feb 18, 2026
Yea it is confusing. I realized this when looking at my
.pyiceberg.yamlconfig file. We allowwarehouseparam to be configurable for IRC https://py.iceberg.apache.org/configuration/#rest-catalogThe flow / "handshake" is:
warehouseparameterprefixin the /v1/config responseprefixfor all subsequent requests to IRCThe main point here is that the client (pyiceberg) doesn't specify
prefixdirectly, the server to configures theprefixfor the client.We technically could let the client (pyiceberg) to override
prefixbut doing so might be error proneFokko commentedon Feb 18, 2026
Ah, I misunderstood the PR. I agree that passing in the
prefixis less valuable. Often the prefix is used to distinguish between different workspaces/organisations, but not sure if that's valuable for users to pass in by hand.kevinjqliu commentedon Feb 18, 2026
i also got confused until i saw the
warehouseparam in my.pyiceberg.yamlfile 😄Fokko commentedon Feb 18, 2026
I think warehouse makes more sense, but not in a REST context. In Hive/Hadoop this actually points to the location where the data lives. Yay for re-using parameter names :D
kevinjqliu commentedon Feb 22, 2026
Opened #3080 to replace prefix with warehouse.
@DerGut double checking that this still works for your use case