dependabot[bot] opened a new pull request, #3139:
URL: https://github.com/apache/iceberg-python/pull/3139

   Bumps [duckdb](https://github.com/duckdb/duckdb-python) from 1.4.4 to 1.5.0.
   <details>
   <summary>Release notes</summary>
   <p><em>Sourced from <a 
href="https://github.com/duckdb/duckdb-python/releases";>duckdb's 
releases</a>.</em></p>
   <blockquote>
   <h2>DuckDB Python 1.5.0 &quot;Variegata&quot;</h2>
   <p>This is the 1.5.0 release of DuckDB's Python bindings. For a list of 
changes in DuckDB core, have a look at the <a 
href="https://github.com/duckdb/duckdb/releases/tag/v1.5.0";>DuckDB release 
notes</a> and <a 
href="https://duckdb.org/2026/03/09/announcing-duckdb-150.html";>the 
blogpost</a>.</p>
   <h3>Breaking Changes</h3>
   <ul>
   <li><strong>Dropped Python 3.9 support.</strong> The minimum supported 
version is now Python 3.10.</li>
   <li><strong>Removed deprecated <code>duckdb.typing</code> and 
<code>duckdb.functional</code> modules.</strong> These were deprecated in 
1.4.0. Use <code>duckdb.sqltypes</code> and <code>duckdb.func</code> 
instead.</li>
   <li><strong>Renamed <code>column</code> parameter to 
<code>expression</code></strong> in relational API functions (e.g., 
<code>min</code>, <code>max</code>, <code>sum</code>, <code>mean</code>, etc.) 
to better reflect that these accept expressions, not just column names.</li>
   <li><strong>Deprecated <code>fetch_arrow_table()</code> and 
<code>fetch_record_batch()</code></strong> on connections and relations. Use 
the new <code>to_arrow_table()</code> and <code>to_arrow_reader()</code> 
methods instead.</li>
   </ul>
   <h3>New Features</h3>
   <ul>
   <li><strong>Polars LazyFrame projection and filter pushdown.</strong> DuckDB 
can now push down projections and filters when scanning Polars LazyFrames, 
including support for cast nodes and unstrict casts.</li>
   <li><strong>Polars Int128 / UInt128 support.</strong></li>
   <li><strong>VARIANT type support</strong> — Python conversion, NumPy array 
wrapping, and type stubs.</li>
   <li><strong>TIME_NS type support</strong> — nanosecond-precision time values 
across Python, NumPy, and Spark type systems.</li>
   <li><strong>Profiling API</strong> — new <code>get_profiling_info()</code> 
and <code>get_profiling_json()</code> methods on connections, plus a refactored 
<code>query_graph</code> module with improved HTML visualization (dark mode, 
expandable phases, depth).</li>
   <li><strong><code>to_arrow_table()</code> and 
<code>to_arrow_reader()</code></strong> — new methods on connections and 
relations as the preferred Arrow export API.</li>
   </ul>
   <h3>Performance</h3>
   <ul>
   <li><strong><code>__arrow_c_stream__</code> on relations</strong> — 
relations now export via the Arrow PyCapsule interface using 
<code>PhysicalArrowCollector</code> for zero-copy streaming.</li>
   <li><strong>Unified Arrow stream scanning</strong> via 
<code>__arrow_c_stream__</code>, with filter pushdown only when pyarrow is 
present.</li>
   <li><strong>Arrow schema caching</strong> to avoid repeated lookups during 
scanning.</li>
   <li><strong>Arrow object type caching</strong> to avoid repeated 
detection.</li>
   <li><strong>Empty params treated as None for <code>.sql()</code></strong> — 
avoids unnecessary parameter binding overhead.</li>
   <li><strong>Simplified GIL management</strong> for 
<code>FetchRow</code>.</li>
   </ul>
   <h3>Bug Fixes</h3>
   <ul>
   <li><strong>Fixed Python object leak in scalar UDFs</strong> — 
<code>PyObject_CallObject</code> return values are now properly stolen to avoid 
reference count leaks.</li>
   <li><strong>Fixed reference cycle</strong> between connections and relations 
that could prevent garbage collection.</li>
   <li><strong>Relations now hold a reference to their connection</strong>, 
preventing premature connection closure.</li>
   <li><strong>Fixed fsspec race condition</strong> in the Python filesystem 
implementation.</li>
   <li><strong>Fixed numeric conversion logic</strong> — improved handling of 
large integers (fallback to VARCHAR) and UNION types.</li>
   <li><strong><code>pyarrow.dataset</code> import is now optional</strong> — 
no longer fails if pyarrow is installed without the dataset module.</li>
   <li><strong>Thrown a reasonable error</strong> when an Arrow array stream 
has already been consumed.</li>
   </ul>
   <h3>Build &amp; Packaging</h3>
   <ul>
   <li><strong>jemalloc enabled on Linux x86_64 only</strong> (aligned with 
DuckDB core), removed as a separately bundled extension.</li>
   <li><strong>MSVC runtime linked statically</strong> on Windows — eliminates 
the VS2019 workaround from <a 
href="https://redirect.github.com/duckdb/duckdb/issues/17991";>duckdb/duckdb#17991</a>.</li>
   </ul>
   </blockquote>
   </details>
   <details>
   <summary>Commits</summary>
   <ul>
   <li><a 
href="https://github.com/duckdb/duckdb-python/commit/87e7928a47eced6b72d6fc95c2d860f769390038";><code>87e7928</code></a>
 pin release</li>
   <li><a 
href="https://github.com/duckdb/duckdb-python/commit/a85f289a46d1b48a41c78f0c0a5151d8386aa11f";><code>a85f289</code></a>
 [duckdb-labs bot] Bump DuckDB submodule (<a 
href="https://redirect.github.com/duckdb/duckdb-python/issues/365";>#365</a>)</li>
   <li><a 
href="https://github.com/duckdb/duckdb-python/commit/e0ebd50b2a94e093ca7cb0b77504b503e0968719";><code>e0ebd50</code></a>
 Bump submodule</li>
   <li><a 
href="https://github.com/duckdb/duckdb-python/commit/2955da9102259c6cd924d38afff342b6d63f8cae";><code>2955da9</code></a>
 [duckdb-labs bot] Bump DuckDB submodule (<a 
href="https://redirect.github.com/duckdb/duckdb-python/issues/360";>#360</a>)</li>
   <li><a 
href="https://github.com/duckdb/duckdb-python/commit/7ca17e51d2b1c8d3bb891148022d3e4847389276";><code>7ca17e5</code></a>
 Bump submodule</li>
   <li><a 
href="https://github.com/duckdb/duckdb-python/commit/fb7cee85510e7bc01078fa12e29c2e24b64cbff7";><code>fb7cee8</code></a>
 Pin submodule to release hash</li>
   <li><a 
href="https://github.com/duckdb/duckdb-python/commit/6b092b00b94bf46c1671829255c5c7bc115214cd";><code>6b092b0</code></a>
 [duckdb-labs bot] Bump DuckDB submodule (<a 
href="https://redirect.github.com/duckdb/duckdb-python/issues/355";>#355</a>)</li>
   <li><a 
href="https://github.com/duckdb/duckdb-python/commit/3e7a6d3ea62d2d28a092f0ba48d91a809f268f44";><code>3e7a6d3</code></a>
 Bump submodule</li>
   <li><a 
href="https://github.com/duckdb/duckdb-python/commit/55013e18c8e29e5ee23e38cc9eddf54351808d7f";><code>55013e1</code></a>
 Allow strict casts of literals only in polars lazyframe pushdown (<a 
href="https://redirect.github.com/duckdb/duckdb-python/issues/348";>#348</a>)</li>
   <li><a 
href="https://github.com/duckdb/duckdb-python/commit/b8d19d0688a0ec31db16c82bf353fba5cda58dcd";><code>b8d19d0</code></a>
 Fix failing tests</li>
   <li>Additional commits viewable in <a 
href="https://github.com/duckdb/duckdb-python/compare/v1.4.4...v1.5.0";>compare 
view</a></li>
   </ul>
   </details>
   <br />
   
   
   [![Dependabot compatibility 
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=duckdb&package-manager=uv&previous-version=1.4.4&new-version=1.5.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
   
   Dependabot will resolve any conflicts with this PR as long as you don't 
alter it yourself. You can also trigger a rebase manually by commenting 
`@dependabot rebase`.
   
   [//]: # (dependabot-automerge-start)
   [//]: # (dependabot-automerge-end)
   
   ---
   
   <details>
   <summary>Dependabot commands and options</summary>
   <br />
   
   You can trigger Dependabot actions by commenting on this PR:
   - `@dependabot rebase` will rebase this PR
   - `@dependabot recreate` will recreate this PR, overwriting any edits that 
have been made to it
   - `@dependabot show <dependency name> ignore conditions` will show all of 
the ignore conditions of the specified dependency
   - `@dependabot ignore this major version` will close this PR and stop 
Dependabot creating any more for this major version (unless you reopen the PR 
or upgrade to it yourself)
   - `@dependabot ignore this minor version` will close this PR and stop 
Dependabot creating any more for this minor version (unless you reopen the PR 
or upgrade to it yourself)
   - `@dependabot ignore this dependency` will close this PR and stop 
Dependabot creating any more for this dependency (unless you reopen the PR or 
upgrade to it yourself)
   
   
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to