The GitHub Actions job "uv in /. - Update #1255615733" on 
iceberg-python.git/main has failed.
Run started by GitHub user dependabot[bot] (triggered by dependabot[bot]).

Head commit for run:
09de79000f6b59fc36667a6e8e1ccb62ad554244 / jj.lee 
<[email protected]>
fix: show helpful error when hive catalog config is missing uri (#3077)

Closes #3069 

  # Rationale for this change

When a catalog is explicitly configured with `type: hive` but `uri` is
missing in `.pyiceberg.yaml`,
the CLI currently fails with a raw `KeyError('uri')`, which is surfaced
as just:

  `'uri'`

```bash
❯ cat .pyiceberg.yaml
catalog:
  my_hive_catalog:
    type: hive
    warehouse: warehouse_loc
❯ uv run pyiceberg --catalog my_hive_catalog list
'uri'
```

It's confusing for users because the command appears to return an
identifier-like value instead of
  a configuration error.

This change adds explicit validation for required catalog properties
when the catalog type is already
specified (e.g. `hive`, `rest`, `sql`), so users get a clear actionable
error message instead.

  ## Are these changes tested?

  Yes.

- Added a CLI regression test for `--catalog <name> list` with `type:
hive` and missing `uri`
- Verified the error output contains a helpful `URI missing...` message
and no longer prints `'uri'`

  ## Are there any user-facing changes?

  Yes.

  Users now see a clear error message (for example):

`URI missing, please provide using --uri, the config or environment
variable PYICEBERG_CATALOG__<CATALOG_NAME>__URI`

instead of a raw `'uri'` error when `type: hive` is configured without
`uri`.

Report URL: https://github.com/apache/iceberg-python/actions/runs/22329068692

With regards,
GitHub Actions via GitBox

Reply via email to