{"id":44798,"library":"duckdb-extension-iceberg","title":"DuckDB Iceberg Extension","description":"A DuckDB extension for reading and writing Apache Iceberg tables. Version 1.5.3 supports Iceberg spec v2, time travel, schema evolution, and integration with DuckDB's SQL engine. Released approximately monthly.","status":"active","version":"1.5.3","language":"python","source_language":"en","source_url":"https://github.com/santosh-d3vpl3x/duckdb_extensions","tags":["duckdb","iceberg","extension","data-format","lakehouse"],"install":[{"cmd":"pip install duckdb-extension-iceberg","lang":"bash","label":"Install from PyPI"}],"dependencies":[{"reason":"Required to load the extension; must be installed separately.","package":"duckdb","optional":false}],"imports":[{"note":"Use an alias to avoid name collision, but direct import works as well.","wrong":"import duckdb_extension_iceberg","symbol":"iceberg_ext","correct":"import duckdb_extension_iceberg as iceberg_ext"}],"quickstart":{"code":"import duckdb\nimport duckdb_extension_iceberg\n\ncon = duckdb.connect()\ncon.execute(\"LOAD iceberg\")\n# Read a local Iceberg table\ncon.execute(\"SELECT * FROM iceberg_scan('path/to/iceberg/metadata') LIMIT 5\").show()","lang":"python","description":"Load the extension and query an Iceberg table using iceberg_scan."},"warnings":[{"fix":"Always run con.execute('LOAD iceberg') after installing the extension.","message":"The extension must be loaded via 'LOAD iceberg' even after importing duckdb_extension_iceberg. Failing to do so results in unrecognized function errors.","severity":"gotcha","affected_versions":"all"},{"fix":"Migrate the DuckDB database using the new extension version, or re-import the iceberge tables.","message":"Iceberg tables written in an older version of the extension may not be readable after upgrading DuckDB without re-creating the database.","severity":"breaking","affected_versions":">=0.8.0,<1.0.0"},{"fix":"Replace iceberg_list_snapshots(...) with iceberg_snapshots(...).","message":"The 'iceberg_list_snapshots' function is deprecated in favor of 'iceberg_snapshots'.","severity":"deprecated","affected_versions":">=1.5.0"}],"env_vars":null,"search_vec":"'1.5.3':15 'apach':11 'approxim':32 'data':38 'data-format':37 'duckdb':1,5,27,34 'engin':30 'evolut':23 'extens':3,6,36 'format':39 'iceberg':2,12,17,35 'integr':25 'lakehous':40 'month':33 'read':8 'releas':31 'schema':22 'spec':18 'sql':29 'support':16 'tabl':13 'time':20 'travel':21 'v2':19 'version':14 'write':10","created_at":"2026-06-07T12:51:52.965911+00:00","updated_at":"2026-06-07T12:51:52.965911+00:00","problems":[{"fix":"pip install duckdb-extension-iceberg and ensure duckdb is also installed.","cause":"duckdb-extension-iceberg not installed or not importable.","error":"Error: LOAD failed: could not find 'iceberg' extension"},{"fix":"Run 'LOAD iceberg' after connecting: con.execute('LOAD iceberg').","cause":"Extension not loaded with 'LOAD iceberg'.","error":"Binder Error: Function 'iceberg_scan' not found"},{"fix":"Provide the full path to the Iceberg metadata folder (contains version-hint.text, metadata/ directory).","cause":"Incorrect file path or non-existent metadata file.","error":"Catalog Error: Table with name iceberg_metadata does not exist"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://github.com/santosh-d3vpl3x/duckdb_extensions","github":"https://github.com/santosh-d3vpl3x/duckdb_extensions","docs":null,"changelog":null,"pypi":null,"npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["database"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"passing","verified_at":"2026-06-29","last_verified":"2026-06-29","next_check":"2026-07-29","install_tag":null}}