Skip to content

feat: add Iceberg read support via source_format - #1100

Merged
gadomski merged 2 commits into
stac-utils:mainfrom
jjcfrancisco:iceberg-read-support
Aug 27, 2026
Merged

feat: add Iceberg read support via source_format#1100
gadomski merged 2 commits into
stac-utils:mainfrom
jjcfrancisco:iceberg-read-support

Conversation

@jjcfrancisco

@jjcfrancisco jjcfrancisco commented Aug 2, 2026

Copy link
Copy Markdown
Contributor

Closes #942

Description

Add support for reading Iceberg via DuckDB. Driven by a new enum to choose between source format Parquet and Iceberg. Some hiccups around default enable_geoparquet_conversion as Iceberg (v2) declares geometry binary but DuckDB transforms to native geometry per geoparquet 1.2 (see apply_source_format_settings).

Checklist

  • Unit tests
  • Documentation, including doctests
  • Pull request title follows conventional commits
  • Pre-commit hooks pass (prek run --all-files)

@jjcfrancisco
jjcfrancisco force-pushed the iceberg-read-support branch from 1b722c2 to a937950 Compare August 8, 2026 20:32
@jjcfrancisco
jjcfrancisco marked this pull request as ready for review August 8, 2026 20:34
@jjcfrancisco
jjcfrancisco requested a review from gadomski as a code owner August 8, 2026 20:34

@gadomski gadomski left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This is great, thanks! One refactor (using a setter), then some nit-picky suggestions to remove inline comments and a couple other tweaks — thanks for tolerating my nits 🙇🏼!

Comment thread crates/duckdb/scripts/generate-iceberg-fixture
Comment thread crates/duckdb/scripts/generate-iceberg-fixture.py Outdated
Comment thread crates/duckdb/scripts/generate-iceberg-fixture.py Outdated
Comment thread crates/duckdb/scripts/generate-iceberg-fixture.py Outdated
Comment thread crates/duckdb/scripts/generate-iceberg-fixture.py Outdated
Comment thread crates/duckdb/src/client.rs Outdated
Comment thread crates/duckdb/src/client.rs Outdated
Comment thread crates/duckdb/src/client.rs Outdated
@gadomski
gadomski self-requested a review August 17, 2026 11:18

@gadomski gadomski left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Awesome, let's :shipit: ! Thanks for the contribution!

@gadomski
gadomski enabled auto-merge (squash) August 27, 2026 22:52
@gadomski
gadomski merged commit aae9ec3 into stac-utils:main Aug 27, 2026
12 checks passed
@stac-utils-release-bot stac-utils-release-bot Bot mentioned this pull request Aug 27, 2026
gadomski pushed a commit that referenced this pull request Aug 27, 2026
## 🤖 New release

* `stac`: 0.17.4 -> 0.17.5 (✓ API compatible changes)
* `stac-duckdb`: 0.3.11 -> 0.3.12
* `stac-io`: 0.3.2 -> 0.3.3
* `stac-server`: 0.5.6 -> 0.5.7
* `stac-validate`: 0.6.12 -> 0.6.13
* `rustac`: 0.2.14 -> 0.2.15
* `stac-extensions`: 0.1.14 -> 0.1.15

<details><summary><i><b>Changelog</b></i></summary><p>

## `stac`

<blockquote>

##
[0.17.5](stac-v0.17.4...stac-v0.17.5)
- 2026-08-27

### Other

- update Cargo.toml dependencies
</blockquote>

## `stac-duckdb`

<blockquote>

##
[0.3.12](stac-duckdb-v0.3.11...stac-duckdb-v0.3.12)
- 2026-08-27

### Added

- add Iceberg read support via source_format
([#1100](#1100))
</blockquote>

## `stac-io`

<blockquote>

##
[0.3.3](stac-io-v0.3.2...stac-io-v0.3.3)
- 2026-08-27

### Other

- updated the following local packages: stac
</blockquote>

## `stac-server`

<blockquote>

##
[0.5.7](stac-server-v0.5.6...stac-server-v0.5.7)
- 2026-08-27

### Other

- updated the following local packages: stac, stac-duckdb
</blockquote>

## `stac-validate`

<blockquote>

##
[0.6.13](stac-validate-v0.6.12...stac-validate-v0.6.13)
- 2026-08-27

### Other

- updated the following local packages: stac
</blockquote>

## `rustac`

<blockquote>

##
[0.2.15](rustac-v0.2.14...rustac-v0.2.15)
- 2026-08-27

### Other

- updated the following local packages: stac, stac-duckdb, stac-io,
stac-server, stac-validate
</blockquote>

## `stac-extensions`

<blockquote>

##
[0.1.15](stac-extensions-v0.1.14...stac-extensions-v0.1.15)
- 2026-08-27

### Other

- updated the following local packages: stac
</blockquote>


</p></details>

---
This PR was generated with
[release-plz](https://github.com/release-plz/release-plz/).

Co-authored-by: stac-utils-release-bot[bot] <249776822+stac-utils-release-bot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Apache Iceberg read support

3 participants