Skip to content

Conversation

@kevinjqliu
Copy link
Owner

Rationale for this change

Are these changes tested?

Are there any user-facing changes?

manuzhang and others added 30 commits August 15, 2025 10:25
<!--
Thanks for opening a pull request!
-->

<!-- In the case this PR will resolve an issue, please replace
${GITHUB_ISSUE_ID} below with the actual Github issue id. -->
<!-- Closes #${GITHUB_ISSUE_ID} -->

# Rationale for this change

https://github.com/gaurav-nelson/github-action-markdown-link-check has
been deprecated since Apr 2025 and
https://github.com/tcort/github-action-markdown-link-check is
recommended.

# Are these changes tested?
GH action change.

# Are there any user-facing changes?
No.
<!-- In the case of user-facing changes, please add the changelog label.
-->
<!--
Thanks for opening a pull request!
-->

<!-- In the case this PR will resolve an issue, please replace
${GITHUB_ISSUE_ID} below with the actual Github issue id. -->
<!-- Closes #${GITHUB_ISSUE_ID} -->

# Rationale for this change

New OAuth2Manager implementation that makes use of AuthManager and more
closely follows https://datatracker.ietf.org/doc/html/rfc6749
recommendations. It injects the encoded secret into the `Basic ` header
against the authentication server, as recommended by the RFC instead of
injecting it into the request body, which is less secure.

Proactively refreshes the access token by checking the expiration.

# Are these changes tested?

Yes, both in unit and integration tests.

# Are there any user-facing changes?

No, this is a new feature.

<!-- In the case of user-facing changes, please add the changelog label.
-->

---------

Co-authored-by: Kevin Liu <[email protected]>
Co-authored-by: Kevin Liu <[email protected]>
Co-authored-by: Copilot <[email protected]>
<!--
Thanks for opening a pull request!
-->

<!-- In the case this PR will resolve an issue, please replace
${GITHUB_ISSUE_ID} below with the actual Github issue id. -->
<!-- Closes #${GITHUB_ISSUE_ID} -->

# Rationale for this change
Empty Decimal columns fail to rescale (apache#2263)
# Are these changes tested?
Yes.  Linting and tests were ran.
# Are there any user-facing changes?
No.
<!-- In the case of user-facing changes, please add the changelog label.
-->

Closes apache#2263
<!--
Thanks for opening a pull request!
-->

<!-- In the case this PR will resolve an issue, please replace
${GITHUB_ISSUE_ID} below with the actual Github issue id. -->
<!-- Closes #${GITHUB_ISSUE_ID} -->

# Rationale for this change
Currently, it is not possible to configure `anonymous` in the underlying
`s3fs` client (`False` by default).

Resolves apache#2126

# Are these changes tested?
Yes, unit tests added to confirm the setting is used when the property
is set.

# Are there any user-facing changes?
Yes, users can now set the property `s3.anonymous` to True to enable. If
not set, the behavior will be the same as it currently is.

<!-- In the case of user-facing changes, please add the changelog label.
-->

---------

Co-authored-by: garrett.weaver <[email protected]>
## Summary

Related Issue: apache#2132

1. This PR enhances the documentation for the add_files API by:
2. Adding a parameter table to clarify the required and optional inputs
and outputs.
3. Providing a complete example that includes all parameters, such as
snapshot_properties and check_duplicate_files.
4. Strengthening the warning regarding the default setting of
check_duplicate_files=True and the associated risks of disabling it.

---------

Co-authored-by: “Zhibin <[email protected]>
<!--
Thanks for opening a pull request!
-->

<!-- In the case this PR will resolve an issue, please replace
${GITHUB_ISSUE_ID} below with the actual Github issue id. -->
<!-- Closes #${GITHUB_ISSUE_ID} -->

# Rationale for this change
Closes apache#2328

Pass `token` string as `credential` in `AzureBlobFileSystem`,
https://fsspec.github.io/adlfs/api/
This is a known workaround as described by
Azure/azure-sdk-for-python#9075 (comment)

I've also made a feature request for java implementation
apache/iceberg#13818

Note,
[`pyarrow.fs.AzureFileSystem`](https://arrow.apache.org/docs/python/generated/pyarrow.fs.AzureFileSystem.html)
does not currently expose credential as a parameter

# Are these changes tested?
Yes, manually since azurite does not integrate with entra. 

heres a repro script
```
from azure.identity import DefaultAzureCredential
import pyarrow as pa

credential = DefaultAzureCredential()
token = credential.get_token("https://storage.azure.com/.default").token

warehouse = "abfss://[email protected]/kevinliu_demo_lh.Lakehouse/Files"
account_name = "daily-onelake"
account_host = f"{account_name}.blob.fabric.microsoft.com"

catalog = load_catalog("default", **{
    "type": "in-memory", 
    "warehouse": warehouse,
    "adls.account-name": account_name,
    "adls.account-host": account_host,
    "adls.token": token,
})

catalog.create_namespace_if_not_exists("default")
try:
    catalog.drop_table("default.test")
except:
    ...


TEST_DATA = {
    "id": [1, 2, 3, 1, 1],
    "name": ["AB", "CD", "EF", "CD", "EF"],
}
arrow_table = pa.Table.from_pydict(TEST_DATA)
tbl = catalog.create_table_if_not_exists("default.test", schema=arrow_table.schema)
tbl.append(arrow_table)
tbl.scan().to_arrow()
```



# Are there any user-facing changes?

<!-- In the case of user-facing changes, please add the changelog label.
-->
<!--
Thanks for opening a pull request!
-->

<!-- In the case this PR will resolve an issue, please replace
${GITHUB_ISSUE_ID} below with the actual Github issue id. -->
<!-- Closes #${GITHUB_ISSUE_ID} -->

# Rationale for this change
Related to apache#2326

We added support for `adls.account-host` in apache#2016 but this option is
only available in fsspec's `AzureBlobFileSystem` implementation for
version >=2024.7.0
See
fsspec/adlfs@126ffc0

# Are these changes tested?

# Are there any user-facing changes?

<!-- In the case of user-facing changes, please add the changelog label.
-->
<!--
Thanks for opening a pull request!
-->

<!-- In the case this PR will resolve an issue, please replace
${GITHUB_ISSUE_ID} below with the actual Github issue id. -->
<!-- Closes #${GITHUB_ISSUE_ID} -->

# Rationale for this change

Hive catalog returned a `NoSuchNamespaceError` when it tried to rename
to a table that already exists in the catalog. This change will first
check for the destination table existence before executing the alter
table.

# Are these changes tested?

Yes, added one unit test and one integration test

# Are there any user-facing changes?

Yes? Users using the hive catalog will get a new exception for this edge
case.

<!-- In the case of user-facing changes, please add the changelog label.
-->
<!--
Thanks for opening a pull request!
-->

<!-- In the case this PR will resolve an issue, please replace
${GITHUB_ISSUE_ID} below with the actual Github issue id. -->
<!-- Closes #${GITHUB_ISSUE_ID} -->

# Rationale for this change

Fixes apache#792

# Are these changes tested?

# Are there any user-facing changes?

Add `BETWEEN` operator

<!-- In the case of user-facing changes, please add the changelog label.
-->
… entry (apache#2266)

<!--
Thanks for opening a pull request!
-->
<!-- In the case this PR will resolve an issue, please replace
${GITHUB_ISSUE_ID} below with the actual Github issue id. -->
<!-- Closes #${GITHUB_ISSUE_ID} -->

# Rationale for this change

Based on iceberg spec, when a manifest entry is marked as deleted, the
snapshot id for when the entry was deleted should be used.
https://iceberg.apache.org/spec/?h=deletes#manifest-entry-fields
```
When a file is replaced or deleted from the dataset, its manifest entry fields store the snapshot ID in which the file was deleted and status 2 (deleted). The file may be deleted from the file system when the snapshot in which it was deleted is garbage collected, assuming that older snapshots have also been garbage collected [1].
```


https://github.com/apache/iceberg/blob/main/core/src/main/java/org/apache/iceberg/ManifestWriter.java#L178-L179

Incorrect snapshot id could lead to data being deleted during garbage
collection when not supposed to.

# Are these changes tested?

Added in `test_deletes.py`

# Are there any user-facing changes?

<!-- In the case of user-facing changes, please add the changelog label.
-->

No

---------

Co-authored-by: Leon Lin <[email protected]>
Co-authored-by: Fokko Driesprong <[email protected]>
All the transforms support Arrow, so we can remove the check; less code
is more!
Bumps [coverage](https://github.com/nedbat/coveragepy) from 7.10.3 to
7.10.4.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/nedbat/coveragepy/blob/master/CHANGES.rst">coverage's
changelog</a>.</em></p>
<blockquote>
<h2>Version 7.10.4 — 2025-08-16</h2>
<ul>
<li>
<p>Added <code>patch = fork</code> for times when the built-in forking
support is
insufficient.</p>
</li>
<li>
<p>Fix: <code>patch = execv</code> also inherits the entire coverage
configuration now.</p>
</li>
</ul>
<p>.. _changes_7-10-3:</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/nedbat/coveragepy/commit/1cd29f24ce3859c9b2d824959031b9142c218904"><code>1cd29f2</code></a>
docs: sample HTML for 7.10.4</li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/92a91e9cbbde7ea05a960b4c85bfc9d16b4a8d33"><code>92a91e9</code></a>
docs: prep for 7.10.4</li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/9ee6390200e1946ba5458e86d6e9f46adace4751"><code>9ee6390</code></a>
debug: more details in debug messages</li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/6af8a5d13314eba82c2c5974b2fbf133f09b51d0"><code>6af8a5d</code></a>
feat: patch=fork</li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/0eb292d24d3790ec46f2961cd05136e9e5f5d0c6"><code>0eb292d</code></a>
refactor: a nicer way to inject config from the environment</li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/183cd9b5358d41fc67210c66df9169a9e495df0b"><code>183cd9b</code></a>
build: tweaks to how the python build is bannered for tox</li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/6c2fb87e14e0d18859cac4763577ef4f717c2f38"><code>6c2fb87</code></a>
chore: make upgrade</li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/a22436cb0e17397a79ae480be0ce6f19b98b3188"><code>a22436c</code></a>
test: since 62434e79 we don't need to account for .tox</li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/4ab4bb04db299cee912d1f930dcab59f01317f54"><code>4ab4bb0</code></a>
test: add a test for env var truncation</li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/bf1a9706b3eb2a1c27743815e475ab6d966a6d6f"><code>bf1a970</code></a>
refactor: better style for constants</li>
<li>Additional commits viewable in <a
href="https://github.com/nedbat/coveragepy/compare/7.10.3...7.10.4">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=coverage&package-manager=pip&previous-version=7.10.3&new-version=7.10.4)](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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@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>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material)
from 9.6.16 to 9.6.17.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/squidfunk/mkdocs-material/releases">mkdocs-material's
releases</a>.</em></p>
<blockquote>
<h2>mkdocs-material-9.6.17</h2>
<ul>
<li>Fixed <a
href="https://redirect.github.com/squidfunk/mkdocs-material/issues/8396">#8396</a>:
Videos do not autoplay when inside a content tab</li>
<li>Fixed <a
href="https://redirect.github.com/squidfunk/mkdocs-material/issues/8394">#8394</a>:
Stroke width not effective in Mermaid.js diagrams</li>
<li>Fixed disappearing version selector when hiding page title</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG">mkdocs-material's
changelog</a>.</em></p>
<blockquote>
<p>mkdocs-material-9.6.17 (2025-08-15)</p>
<ul>
<li>Fixed <a
href="https://redirect.github.com/squidfunk/mkdocs-material/issues/8396">#8396</a>:
Videos do not autoplay when inside a content tab</li>
<li>Fixed <a
href="https://redirect.github.com/squidfunk/mkdocs-material/issues/8394">#8394</a>:
Stroke width not effective in Mermaid.js diagrams</li>
<li>Fixed disappearing version selector when hiding page title</li>
</ul>
<p>mkdocs-material-9.6.16 (2025-07-26)</p>
<ul>
<li>Fixed <a
href="https://redirect.github.com/squidfunk/mkdocs-material/issues/8349">#8349</a>:
Info plugin doesn't correctly detect virtualenv in some cases</li>
<li>Fixed <a
href="https://redirect.github.com/squidfunk/mkdocs-material/issues/8334">#8334</a>:
Find-in-page detects matches in hidden search result list</li>
</ul>
<p>mkdocs-material-9.6.15 (2025-07-01)</p>
<ul>
<li>Updated Mongolian translations</li>
<li>Improved semantic markup of &quot;edit this page&quot; button</li>
<li>Improved info plugin virtual environment resolution</li>
<li>Fixed <a
href="https://redirect.github.com/squidfunk/mkdocs-material/issues/8291">#8291</a>:
Large font size setting throws of breakpoints in JavaScript</li>
</ul>
<p>mkdocs-material-9.6.14 (2025-05-13)</p>
<ul>
<li>Fixed <a
href="https://redirect.github.com/squidfunk/mkdocs-material/issues/8215">#8215</a>:
Social plugin crashes when CairoSVG is updated to 2.8</li>
</ul>
<p>mkdocs-material-9.6.13 (2025-05-10)</p>
<ul>
<li>Fixed <a
href="https://redirect.github.com/squidfunk/mkdocs-material/issues/8204">#8204</a>:
Annotations showing list markers in print view</li>
<li>Fixed <a
href="https://redirect.github.com/squidfunk/mkdocs-material/issues/8153">#8153</a>:
Improve style of cardinality symbols in Mermaid.js ER diagrams</li>
</ul>
<p>mkdocs-material-9.6.12 (2025-04-17)</p>
<ul>
<li>Fixed <a
href="https://redirect.github.com/squidfunk/mkdocs-material/issues/8158">#8158</a>:
Flip footnote back reference icon for right-to-left languages</li>
</ul>
<p>mkdocs-material-9.6.11 (2025-04-01)</p>
<ul>
<li>Updated Docker image to latest Alpine Linux</li>
<li>Bump required Jinja version to 3.1</li>
<li>Fixed <a
href="https://redirect.github.com/squidfunk/mkdocs-material/issues/8133">#8133</a>:
Jinja filter <code>items</code> not available (9.6.10 regression)</li>
<li>Fixed <a
href="https://redirect.github.com/squidfunk/mkdocs-material/issues/8128">#8128</a>:
Search plugin not entirely disabled via enabled setting</li>
</ul>
<p>mkdocs-material-9.6.10 (2025-03-30)</p>
<p>This version is a pure refactoring release, and does not contain new
features
or bug fixes. It strives to improve the compatibility of our templates
with
alternative Jinja-like template engines that we're currently exploring,
including minijinja.</p>
<p>Additionally, it replaces several instances of Python function
invocations
with idiomatic use of template filters. All instances where variables
have
been mutated inside templates have been replaced. Most changes have been
made
in partials, and only a few in blocks, and all of them are fully
backward
compatible, so no changes to overrides are necessary.</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/squidfunk/mkdocs-material/commit/6fb115b1a8c32f90da5742c9b314621ad40f7551"><code>6fb115b</code></a>
Prepare 9.6.17 release</li>
<li><a
href="https://github.com/squidfunk/mkdocs-material/commit/f3bf8b340b306ff81ac3363cf490f3466a7ca6ed"><code>f3bf8b3</code></a>
Fixed linter errors</li>
<li><a
href="https://github.com/squidfunk/mkdocs-material/commit/b1ad1bc8f5d05aac2946a19c5c9dd623625b7bd4"><code>b1ad1bc</code></a>
Updated dependencies</li>
<li><a
href="https://github.com/squidfunk/mkdocs-material/commit/83055c1157ca1aa736a404ccf84e222cf4f1823d"><code>83055c1</code></a>
Fixed linter errors</li>
<li><a
href="https://github.com/squidfunk/mkdocs-material/commit/9b1f4ef1b786028086b5c9bfec524990fba527b9"><code>9b1f4ef</code></a>
Fixed videos with autoplay not playing in content tabs</li>
<li><a
href="https://github.com/squidfunk/mkdocs-material/commit/1f7c404a078b6e668494c3f94e3e81bc90fa8009"><code>1f7c404</code></a>
Fixed stroke width not effective in Mermaid.js diagrams</li>
<li><a
href="https://github.com/squidfunk/mkdocs-material/commit/08fd86935b350002ffb0150cd2ac40ad164aad0d"><code>08fd869</code></a>
Fixed disappearing version selector when hiding page title</li>
<li><a
href="https://github.com/squidfunk/mkdocs-material/commit/d52b04b7ffe58099a1d9b7ed52c438650c9086af"><code>d52b04b</code></a>
Temporarily pin click&lt;8.2.2</li>
<li><a
href="https://github.com/squidfunk/mkdocs-material/commit/8f7b0dd919bc545bfc7cdd2bdbb366c58dd723a3"><code>8f7b0dd</code></a>
Documentation</li>
<li><a
href="https://github.com/squidfunk/mkdocs-material/commit/479b60ef3d47e822996a9f793a3dff529eaa8172"><code>479b60e</code></a>
Updated dependencies</li>
<li>Additional commits viewable in <a
href="https://github.com/squidfunk/mkdocs-material/compare/9.6.16...9.6.17">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=mkdocs-material&package-manager=pip&previous-version=9.6.16&new-version=9.6.17)](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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@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>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [requests](https://github.com/psf/requests) from 2.32.4 to 2.32.5.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/psf/requests/releases">requests's
releases</a>.</em></p>
<blockquote>
<h2>v2.32.5</h2>
<h2>2.32.5 (2025-08-18)</h2>
<p><strong>Bugfixes</strong></p>
<ul>
<li>The SSLContext caching feature originally introduced in 2.32.0 has
created
a new class of issues in Requests that have had negative impact across a
number
of use cases. The Requests team has decided to revert this feature as
long term
maintenance of it is proving to be unsustainable in its current
iteration.</li>
</ul>
<p><strong>Deprecations</strong></p>
<ul>
<li>Added support for Python 3.14.</li>
<li>Dropped support for Python 3.8 following its end of support.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/psf/requests/blob/main/HISTORY.md">requests's
changelog</a>.</em></p>
<blockquote>
<h2>2.32.5 (2025-08-18)</h2>
<p><strong>Bugfixes</strong></p>
<ul>
<li>The SSLContext caching feature originally introduced in 2.32.0 has
created
a new class of issues in Requests that have had negative impact across a
number
of use cases. The Requests team has decided to revert this feature as
long term
maintenance of it is proving to be unsustainable in its current
iteration.</li>
</ul>
<p><strong>Deprecations</strong></p>
<ul>
<li>Added support for Python 3.14.</li>
<li>Dropped support for Python 3.8 following its end of support.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/psf/requests/commit/b25c87d7cb8d6a18a37fa12442b5f883f9e41741"><code>b25c87d</code></a>
v2.32.5</li>
<li><a
href="https://github.com/psf/requests/commit/131e506079d97606e4214cc4d87b780ac478de7a"><code>131e506</code></a>
Merge pull request <a
href="https://redirect.github.com/psf/requests/issues/7010">#7010</a>
from psf/dependabot/github_actions/actions/checkout-...</li>
<li><a
href="https://github.com/psf/requests/commit/b336cb2bc616a63a93c6470c558fc1f576b77f90"><code>b336cb2</code></a>
Bump actions/checkout from 4.2.0 to 5.0.0</li>
<li><a
href="https://github.com/psf/requests/commit/46e939b5525d9c72b677340985582b04b128478a"><code>46e939b</code></a>
Update publish workflow to use <code>artifact-id</code> instead of
<code>name</code></li>
<li><a
href="https://github.com/psf/requests/commit/4b9c546aa3f35fca6ca24945376fe7462bb007c4"><code>4b9c546</code></a>
Merge pull request <a
href="https://redirect.github.com/psf/requests/issues/6999">#6999</a>
from psf/dependabot/github_actions/step-security/har...</li>
<li><a
href="https://github.com/psf/requests/commit/7618dbef01d333f23ba4b9c4d97397b06dd89cb6"><code>7618dbe</code></a>
Bump step-security/harden-runner from 2.12.0 to 2.13.0</li>
<li><a
href="https://github.com/psf/requests/commit/2edca11103c1c27dd8b572dab544b7f48cf3b446"><code>2edca11</code></a>
Add support for Python 3.14 and drop support for Python 3.8 (<a
href="https://redirect.github.com/psf/requests/issues/6993">#6993</a>)</li>
<li><a
href="https://github.com/psf/requests/commit/fec96cd5976ad763e45bac9a033d62cca1877a00"><code>fec96cd</code></a>
Update Makefile rules (<a
href="https://redirect.github.com/psf/requests/issues/6996">#6996</a>)</li>
<li><a
href="https://github.com/psf/requests/commit/d58d8aa2f45c3575268d6d5250745ef69f9cf8b7"><code>d58d8aa</code></a>
docs: clarify timeout parameter uses seconds in Session.request (<a
href="https://redirect.github.com/psf/requests/issues/6994">#6994</a>)</li>
<li><a
href="https://github.com/psf/requests/commit/91a3eabd3dcc4d7f36dd8249e4777a90ef9b4305"><code>91a3eab</code></a>
Bump github/codeql-action from 3.28.5 to 3.29.0</li>
<li>Additional commits viewable in <a
href="https://github.com/psf/requests/compare/v2.32.4...v2.32.5">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=requests&package-manager=pip&previous-version=2.32.4&new-version=2.32.5)](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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@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>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps
[mypy-boto3-dynamodb](https://github.com/youtype/mypy_boto3_builder)
from 1.40.0 to 1.40.10.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/youtype/mypy_boto3_builder/releases">mypy-boto3-dynamodb's
releases</a>.</em></p>
<blockquote>
<h2>8.8.0 - Python 3.8 runtime is back</h2>
<h3>Changed</h3>
<ul>
<li><code>[services]</code> <code>install_requires</code> section is
calculated based on dependencies in use, so
<code>typing-extensions</code> version is set properly</li>
<li><code>[all]</code> Replaced <code>typing</code> imports with
<code>collections.abc</code> with a fallback to <code>typing</code> for
Python &lt;3.9</li>
<li><code>[all]</code> Added aliases for <code>builtins.list</code>,
<code>builtins.set</code>, <code>builtins.dict</code>, and
<code>builtins.type</code>, so Python 3.8 runtime should work as
expected again (reported by <a
href="https://github.com/YHallouard"><code>@​YHallouard</code></a> in <a
href="https://redirect.github.com/youtype/mypy_boto3_builder/issues/340">#340</a>
and <a
href="https://github.com/Omri-Ben-Yair"><code>@​Omri-Ben-Yair</code></a>
in <a
href="https://redirect.github.com/youtype/mypy_boto3_builder/issues/336">#336</a>)</li>
<li><code>[all]</code> Unions use the same type annotations as the rest
of the structures due to proper fallbacks</li>
</ul>
<h3>Fixed</h3>
<ul>
<li><code>[services]</code> Universal input/output shapes were not
replaced properly in service subresources</li>
<li><code>[docs]</code> Simplified doc links rendering for services</li>
<li><code>[services]</code> Cleaned up unnecessary imports in
<code>client.pyi</code></li>
<li><code>[builder]</code> Import records with fallback are always
rendered</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/youtype/mypy_boto3_builder/commits">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=mypy-boto3-dynamodb&package-manager=pip&previous-version=1.40.0&new-version=1.40.10)](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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@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>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [zstandard](https://github.com/indygreg/python-zstandard) from
0.23.0 to 0.24.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/indygreg/python-zstandard/releases">zstandard's
releases</a>.</em></p>
<blockquote>
<h2>0.24.0</h2>
<h1>Backwards Compatibility Notes</h1>
<ul>
<li>Support for Python 3.8 has been dropped because it reached end of
life. Python 3.9 is the minimum supported Python version. The code
should still be compatible with Python 3.8 and removing of version
checks from <code>setup.py</code> will likely yield a working install.
However, this is not officially supported.</li>
</ul>
<h1>Changes</h1>
<ul>
<li>Bundled zstd library upgraded from 1.5.6 to 1.5.7. (<a
href="https://redirect.github.com/indygreg/python-zstandard/issues/255">#255</a>)</li>
<li>We now use and require cffi 1.17.0 or newer. Previously, the
constraint was &gt;=1.11.0 on Python &lt;3.13.</li>
<li>The <code>pyproject.toml</code> file now defines a
<code>[project]</code> section.</li>
<li>We now use GitHub's native ARM Linux runners to build wheels and run
tests. Previously, Linux ARM wheels were built inside a QEMU virtualized
environment and we didn't run tests on this platform.</li>
<li>We now use GitHub's native ARM Windows runners to build wheels and
run tests. Previously, Windows ARM wheels were cross compiled from an
x86-64 runner and we never ran tests for the Windows ARM platform.</li>
<li>We now <code>collections.abs.Buffer</code> on Python 3.12+ instead
of <code>typing.ByteString</code>, as <code>typing.ByteString</code> was
deprecated and later removed. (<a
href="https://redirect.github.com/indygreg/python-zstandard/issues/238">#238</a>,
<a
href="https://redirect.github.com/indygreg/python-zstandard/issues/262">#262</a>)</li>
<li>PyO3 Rust crate upgraded from 0.21 to 0.22 (<a
href="https://redirect.github.com/indygreg/python-zstandard/issues/257">#257</a>)
and later to 0.24.</li>
<li>Removed CI coverage for PyPy 3.9.</li>
<li>Added CI coverage for PyPy 3.11.</li>
<li>Anaconda Windows CI builds have been disabled because we're running
into an apparent conda bug.</li>
<li>Added CI coverage for Anaconda 3.12 and 3.13 on Linux and Windows
x86-64 (but the Windows builds no-op due to above issue).</li>
<li><code>get_frame_parameters()</code> now accepts an optional
<code>format</code> argument defining the zstandard frame type. You can
pass e.g. <code>zstandard.FORMAT_ZSTD1_MAGICLESS</code> to decode frames
without header magic. (<a
href="https://redirect.github.com/indygreg/python-zstandard/issues/217">#217</a>)</li>
<li>Initial Python 3.14 support. We build wheels and have CI test
coverage.</li>
</ul>
<h1>Source Archive Publishing Error</h1>
<p>During the release process of this version, we uploaded the source
archive to PyPI after some wheels. PyPI rejected the source archive
because of presence of a <code>license-file</code> entry while using
metadata version 2.4. We manually generated the source distribution
locally. The source distribution on PyPI therefore does not match what
GitHub Actions produced.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/indygreg/python-zstandard/blob/main/docs/news.rst">zstandard's
changelog</a>.</em></p>
<blockquote>
<h1>0.24.0 (released 2025-08-17)</h1>
<h2>Changes</h2>
<ul>
<li>Bundled zstd library upgraded from 1.5.6 to 1.5.7. (<a
href="https://redirect.github.com/indygreg/python-zstandard/issues/255">#255</a>)</li>
<li>We now use and require cffi 1.17.0 or newer. Previously, the
constraint
was &gt;=1.11.0 on Python &lt;3.13.</li>
<li>The <code>pyproject.toml</code> file now defines a
<code>[project]</code> section.</li>
<li>We now use GitHub's native ARM Linux runners to build wheels and run
tests.
Previously, Linux ARM wheels were built inside a QEMU virtualized
environment
and we didn't run tests on this platform.</li>
<li>We now use GitHub's native ARM Windows runners to build wheels and
run tests.
Previously, Windows ARM wheels were cross-compiled from an x86-64 runner
and
we never ran tests for the Windows ARM platform.</li>
<li>We now <code>collections.abs.Buffer</code> on Python 3.12+ instead
of <code>typing.ByteString</code>,
as <code>typing.ByteString</code> was deprecated and later removed. (<a
href="https://redirect.github.com/indygreg/python-zstandard/issues/238">#238</a>,
<a
href="https://redirect.github.com/indygreg/python-zstandard/issues/262">#262</a>)</li>
<li>PyO3 Rust crate upgraded from 0.21 to 0.22 (<a
href="https://redirect.github.com/indygreg/python-zstandard/issues/257">#257</a>)
and later to 0.24.</li>
<li>Removed CI coverage for PyPy 3.9.</li>
<li>Added CI coverage for PyPy 3.11.</li>
<li>Anaconda Windows CI builds have been disabled because we're running
into
an apparant conda bug.</li>
<li>Added CI coverage for Anaconda 3.12 and 3.13 on Linux and Windows
x86-64
(but the Windows builds no-op due to above issue).</li>
<li><code>get_frame_parameters()</code> now accepts an optional
<code>format</code> argument
defining the zstandard frame type. You can pass e.g.
<code>zstandard.FORMAT_ZSTD1_MAGICLESS</code> to decode frames without
header magic.
(<a
href="https://redirect.github.com/indygreg/python-zstandard/issues/217">#217</a>)</li>
<li>Initial Python 3.14 support. We build wheels and have CI test
coverage.</li>
</ul>
<h2>Backwards Compatibility Notes</h2>
<ul>
<li>Support for Python 3.8 has been dropped because it reached end of
life.
Python 3.9 is the minimum supported Python version. The code should
still be
compatible with Python 3.7 and removing of version checks from
<code>setup.py</code>
will likely yield a working install. However, this is not officially
supported.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/indygreg/python-zstandard/commit/9223924b1db8f36cf1c7c2dcd55232093890d145"><code>9223924</code></a>
global: release 0.24.0</li>
<li><a
href="https://github.com/indygreg/python-zstandard/commit/b63f21e75c85537feb6e9ede6b515ce1f109ac6e"><code>b63f21e</code></a>
ci: remove cibuildwheel from <code>requirements.txt</code></li>
<li><a
href="https://github.com/indygreg/python-zstandard/commit/724df3df0ff524d6f6278e7ac1e72061f6b5bc62"><code>724df3d</code></a>
build: require cffi 1.17.0</li>
<li><a
href="https://github.com/indygreg/python-zstandard/commit/58fca18a3aaa9a520c33cc874517fc10d36957f7"><code>58fca18</code></a>
build: use static dependency metadata</li>
<li><a
href="https://github.com/indygreg/python-zstandard/commit/fd9553600d91626ed2070eb721bb01780cb37310"><code>fd95536</code></a>
docs: move the potential 1.0 feature list from <code>news.rst</code> to
`missing_feature...</li>
<li><a
href="https://github.com/indygreg/python-zstandard/commit/a32e7a6ee530c37e665b97a4ac6cabeccfb1ec79"><code>a32e7a6</code></a>
docs: fix incorrect <code>dict_id()</code> reference</li>
<li><a
href="https://github.com/indygreg/python-zstandard/commit/4110f711ca658e43b8ab03fd350ee80d22c59596"><code>4110f71</code></a>
ci: add Python 3.14 wheels and test coverage</li>
<li><a
href="https://github.com/indygreg/python-zstandard/commit/c950bbf5c86a9641bbab7d232cc5371475c7e025"><code>c950bbf</code></a>
ci: upgrade macOS wheel environment to Python 3.13</li>
<li><a
href="https://github.com/indygreg/python-zstandard/commit/075f8ca4eefd366f89f642037e44685953bcf1cf"><code>075f8ca</code></a>
docs: add top-level docs section for One-Shot APIs</li>
<li><a
href="https://github.com/indygreg/python-zstandard/commit/7312fae803fb33758f9ef6f9fafd5d33f912007f"><code>7312fae</code></a>
frameparams: support defining frame format for
<code>get_frame_parameters()</code></li>
<li>Additional commits viewable in <a
href="https://github.com/indygreg/python-zstandard/compare/0.23.0...0.24.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=zstandard&package-manager=pip&previous-version=0.23.0&new-version=0.24.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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@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>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [griffe](https://github.com/mkdocstrings/griffe) from 1.11.1 to
1.12.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/mkdocstrings/griffe/releases">griffe's
releases</a>.</em></p>
<blockquote>
<h2>1.12.1</h2>
<h2><a
href="https://github.com/mkdocstrings/griffe/releases/tag/1.12.1">1.12.1</a>
- 2025-08-14</h2>
<p><!-- raw HTML omitted --><a
href="https://github.com/mkdocstrings/griffe/compare/1.12.0...1.12.1">Compare
with 1.12.0</a><!-- raw HTML omitted --></p>
<h3>Code Refactoring</h3>
<ul>
<li>Reduce size of JSON dumps by removing keys with null values (<a
href="https://github.com/mkdocstrings/griffe/commit/58227eb377fee66ef66237d7cbed35156ff1fed1">58227eb</a>
by Timothée Mazzucotelli). <a
href="https://redirect.github.com/mkdocstrings/griffe/issues/403">Issue-403</a></li>
<li>Add fields to aliases when serializing (<a
href="https://github.com/mkdocstrings/griffe/commit/5c9fee2b0c6e4f4e63c7648fa41b2e540f2ecc7f">5c9fee2</a>
by Timothée Mazzucotelli).</li>
<li>Also add the option to ignore missing type to the Sphinx parser (<a
href="https://github.com/mkdocstrings/griffe/commit/8c9f803e748a659905b06445a349a6cfea948c1c">8c9f803</a>
by Timothée Mazzucotelli).</li>
</ul>
<h2>1.12.0</h2>
<h2><a
href="https://github.com/mkdocstrings/griffe/releases/tag/1.12.0">1.12.0</a>
- 2025-08-14</h2>
<p><!-- raw HTML omitted --><a
href="https://github.com/mkdocstrings/griffe/compare/1.11.1...1.12.0">Compare
with 1.11.1</a><!-- raw HTML omitted --></p>
<h3>Features</h3>
<ul>
<li>Allow disabling &quot;missing type/annotation&quot; warnings (<a
href="https://github.com/mkdocstrings/griffe/commit/07564b43524220342c3078ece406459c08b80a86">07564b4</a>
by Timothée Mazzucotelli). <a
href="https://redirect.github.com/mkdocstrings/mkdocstrings/issues/437">Issue-mkdocstrings-437</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/mkdocstrings/griffe/blob/main/CHANGELOG.md">griffe's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/mkdocstrings/griffe/releases/tag/1.12.1">1.12.1</a>
- 2025-08-14</h2>
<p><!-- raw HTML omitted --><a
href="https://github.com/mkdocstrings/griffe/compare/1.12.0...1.12.1">Compare
with 1.12.0</a><!-- raw HTML omitted --></p>
<h3>Code Refactoring</h3>
<ul>
<li>Reduce size of JSON dumps by removing keys with null values (<a
href="https://github.com/mkdocstrings/griffe/commit/58227eb377fee66ef66237d7cbed35156ff1fed1">58227eb</a>
by Timothée Mazzucotelli). <a
href="https://redirect.github.com/mkdocstrings/griffe/issues/403">Issue-403</a></li>
<li>Add fields to aliases when serializing (<a
href="https://github.com/mkdocstrings/griffe/commit/5c9fee2b0c6e4f4e63c7648fa41b2e540f2ecc7f">5c9fee2</a>
by Timothée Mazzucotelli).</li>
<li>Also add the option to ignore missing type to the Sphinx parser (<a
href="https://github.com/mkdocstrings/griffe/commit/8c9f803e748a659905b06445a349a6cfea948c1c">8c9f803</a>
by Timothée Mazzucotelli).</li>
</ul>
<h2><a
href="https://github.com/mkdocstrings/griffe/releases/tag/1.12.0">1.12.0</a>
- 2025-08-14</h2>
<p><!-- raw HTML omitted --><a
href="https://github.com/mkdocstrings/griffe/compare/1.11.1...1.12.0">Compare
with 1.11.1</a><!-- raw HTML omitted --></p>
<h3>Features</h3>
<ul>
<li>Allow disabling &quot;missing type/annotation&quot; warnings (<a
href="https://github.com/mkdocstrings/griffe/commit/07564b43524220342c3078ece406459c08b80a86">07564b4</a>
by Timothée Mazzucotelli). <a
href="https://redirect.github.com/mkdocstrings/mkdocstrings/issues/437">Issue-mkdocstrings-437</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/mkdocstrings/griffe/commit/d1899ecf00f823a75af80ea186b8a1ca30898b55"><code>d1899ec</code></a>
chore: Prepare release 1.12.1</li>
<li><a
href="https://github.com/mkdocstrings/griffe/commit/58227eb377fee66ef66237d7cbed35156ff1fed1"><code>58227eb</code></a>
refactor: Reduce size of JSON dumps by removing keys with null
values</li>
<li><a
href="https://github.com/mkdocstrings/griffe/commit/5c9fee2b0c6e4f4e63c7648fa41b2e540f2ecc7f"><code>5c9fee2</code></a>
refactor: Add fields to aliases when serializing</li>
<li><a
href="https://github.com/mkdocstrings/griffe/commit/8c9f803e748a659905b06445a349a6cfea948c1c"><code>8c9f803</code></a>
refactor: Also add the option to ignore missing type to the Sphinx
parser</li>
<li><a
href="https://github.com/mkdocstrings/griffe/commit/41921c5609dfb67e8b5c6b59429676155d24309b"><code>41921c5</code></a>
chore: Prepare release 1.12.0</li>
<li><a
href="https://github.com/mkdocstrings/griffe/commit/07564b43524220342c3078ece406459c08b80a86"><code>07564b4</code></a>
feat: Allow disabling &quot;missing type/annotation&quot; warnings</li>
<li>See full diff in <a
href="https://github.com/mkdocstrings/griffe/compare/1.11.1...1.12.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=griffe&package-manager=pip&previous-version=1.11.1&new-version=1.12.1)](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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@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>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [daft](https://github.com/Eventual-Inc/Daft) from 0.5.18 to
0.5.19.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/Eventual-Inc/Daft/releases">daft's
releases</a>.</em></p>
<blockquote>
<h2>v0.5.19</h2>
<h2>What's Changed 🚀</h2>
<p>We have a pretty crazy release this time around. Some especially
notable features include:</p>
<ul>
<li>Interactive DataFrames in Jupyter Notebooks, with special support
for some multimodal types</li>
<li>An async API for LLM text generation, particularly with OpenAI</li>
<li>A new <code>.into_batches</code> DataFrame API, the modern
alternative to <code>.into_partitions</code></li>
<li>Adding support for <code>.offset</code> / <code>OFFSET</code>
operator across the engine. Thanks <a
href="https://github.com/plotor"><code>@​plotor</code></a> for the great
work!</li>
<li>Various Flotilla performance and reliability improvements</li>
<li>Various casting improvements</li>
</ul>
<h2>✨ Features</h2>
<ul>
<li>feat: Async open ai llm generate <a
href="https://github.com/colin-ho"><code>@​colin-ho</code></a> (<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/4879">#4879</a>)</li>
<li>feat: Add offset syntax support to SQL <a
href="https://github.com/plotor"><code>@​plotor</code></a> (<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/4707">#4707</a>)</li>
<li>feat: adds support for SQL GROUP BY column position <a
href="https://github.com/rchowell"><code>@​rchowell</code></a> (<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/4955">#4955</a>)</li>
<li>feat: better dtype type inference <a
href="https://github.com/universalmind303"><code>@​universalmind303</code></a>
(<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/4973">#4973</a>)</li>
<li>feat: Casting from Python into struct or list types <a
href="https://github.com/srilman"><code>@​srilman</code></a> (<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/4957">#4957</a>)</li>
<li>feat: support creating partitioned tables in Iceberg via the Catalog
interface. <a
href="https://github.com/redpheonixx"><code>@​redpheonixx</code></a> (<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/4951">#4951</a>)</li>
<li>feat: implement into_batches operator on flotilla distrubted engine
<a href="https://github.com/ohbh"><code>@​ohbh</code></a> (<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/4958">#4958</a>)</li>
<li>feat: literal variants for (pretty much) all types <a
href="https://github.com/kevinzwang"><code>@​kevinzwang</code></a> (<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/4947">#4947</a>)</li>
<li>feat: Add offset support to Flotilla Engine <a
href="https://github.com/plotor"><code>@​plotor</code></a> (<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/4918">#4918</a>)</li>
<li>feat: implement into_batches on the swordfish native daft runner <a
href="https://github.com/ohbh"><code>@​ohbh</code></a> (<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/4935">#4935</a>)</li>
<li>feat: Flotilla broadcast join <a
href="https://github.com/colin-ho"><code>@​colin-ho</code></a> (<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/4867">#4867</a>)</li>
</ul>
<h2>🐛 Bug Fixes</h2>
<ul>
<li>fix: Always just use actor for flotilla scheduler <a
href="https://github.com/colin-ho"><code>@​colin-ho</code></a> (<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/4978">#4978</a>)</li>
<li>fix: Add handle for swordfish runtime stats manager <a
href="https://github.com/colin-ho"><code>@​colin-ho</code></a> (<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/4970">#4970</a>)</li>
<li>fix: Dudep lance read required columns <a
href="https://github.com/xloya"><code>@​xloya</code></a> (<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/4967">#4967</a>)</li>
<li>fix: Don't use wildcard for logical plan match in pushdown rules <a
href="https://github.com/colin-ho"><code>@​colin-ho</code></a> (<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/4945">#4945</a>)</li>
<li>fix: Coerce arrow schema for parquet decoding <a
href="https://github.com/colin-ho"><code>@​colin-ho</code></a> (<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/4948">#4948</a>)</li>
<li>fix: use associate type for swordfish into_batches operator state <a
href="https://github.com/ohbh"><code>@​ohbh</code></a> (<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/4956">#4956</a>)</li>
<li>fix: raise error on invalid cross join parameters <a
href="https://github.com/rchowell"><code>@​rchowell</code></a> (<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/4952">#4952</a>)</li>
<li>fix: interactive html fixes <a
href="https://github.com/colin-ho"><code>@​colin-ho</code></a> (<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/4943">#4943</a>)</li>
</ul>
<h2>♻️ Refactor</h2>
<ul>
<li>refactor: Use associate type for swordfish operator state <a
href="https://github.com/colin-ho"><code>@​colin-ho</code></a> (<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/4921">#4921</a>)</li>
</ul>
<h2>📖 Documentation</h2>
<ul>
<li>docs: update links in document processing example <a
href="https://github.com/ccmao1130"><code>@​ccmao1130</code></a> (<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/4946">#4946</a>)</li>
<li>docs: improve daft.func documentation and type inference <a
href="https://github.com/universalmind303"><code>@​universalmind303</code></a>
(<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/4942">#4942</a>)</li>
<li>docs: fix link for pandas <a
href="https://github.com/universalmind303"><code>@​universalmind303</code></a>
(<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/4941">#4941</a>)</li>
</ul>
<h2>👷 CI</h2>
<ul>
<li>ci: add 3.11 to matrix and always include typing_extensions <a
href="https://github.com/rchowell"><code>@​rchowell</code></a> (<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/4950">#4950</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/Eventual-Inc/Daft/commit/23549cddfe55ba928c21fc9db3f6d3e1ea6af918"><code>23549cd</code></a>
fix: Always just use actor for flotilla scheduler (<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/4978">#4978</a>)</li>
<li><a
href="https://github.com/Eventual-Inc/Daft/commit/4f14d6ab6b725f21abbf24051137eac7b7e2d70d"><code>4f14d6a</code></a>
fix: Add handle for swordfish runtime stats manager (<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/4970">#4970</a>)</li>
<li><a
href="https://github.com/Eventual-Inc/Daft/commit/45332571ae51d140acfc5234733052e089305592"><code>4533257</code></a>
feat: Async open ai llm generate (<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/4879">#4879</a>)</li>
<li><a
href="https://github.com/Eventual-Inc/Daft/commit/012900890becb0689003c176c3cca8397ec55db1"><code>0129008</code></a>
feat: Add offset syntax support to SQL (<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/4707">#4707</a>)</li>
<li><a
href="https://github.com/Eventual-Inc/Daft/commit/5c7baae08ef6facb311277c23f29cd531a0f925e"><code>5c7baae</code></a>
feat: adds support for SQL GROUP BY column position (<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/4955">#4955</a>)</li>
<li><a
href="https://github.com/Eventual-Inc/Daft/commit/acb838a0d96bc5474db58517d0378e7f5c41813e"><code>acb838a</code></a>
feat: better dtype type inference (<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/4973">#4973</a>)</li>
<li><a
href="https://github.com/Eventual-Inc/Daft/commit/c555b0c4d935fbbae06b2066b32e6571e04ee703"><code>c555b0c</code></a>
fix: Dudep lance read required columns (<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/4967">#4967</a>)</li>
<li><a
href="https://github.com/Eventual-Inc/Daft/commit/5a7f4b0b21205723a474768d5107fe91ced8f1d2"><code>5a7f4b0</code></a>
feat: Casting from Python into struct or list types (<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/4957">#4957</a>)</li>
<li><a
href="https://github.com/Eventual-Inc/Daft/commit/99020728355ce4b9c984901fefe560573c395d74"><code>9902072</code></a>
feat: support creating partitioned tables in Iceberg via the Catalog
interfac...</li>
<li><a
href="https://github.com/Eventual-Inc/Daft/commit/7fc5d47efc7317135363909fc3aedaecd044f86a"><code>7fc5d47</code></a>
feat: implement into_batches operator on flotilla distrubted engine (<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/4958">#4958</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/Eventual-Inc/Daft/compare/v0.5.18...v0.5.19">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=daft&package-manager=pip&previous-version=0.5.18&new-version=0.5.19)](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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@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>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [cython](https://github.com/cython/cython) from 3.1.2 to 3.1.3.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/cython/cython/blob/master/CHANGES.rst">cython's
changelog</a>.</em></p>
<blockquote>
<h1>3.1.3 (2025-??-??)</h1>
<h2>Bugs fixed</h2>
<ul>
<li>
<p>Some method calls with 0 or 1 argument failed to use
<code>PyObject_VectorCallMethod()</code>.</p>
</li>
<li>
<p><code>cython.pythread_type_lock</code> (also used as fallback for
<code>cython.pymutex</code>)
could stall on heavily contended locks.
(Github issue :issue:<code>6999</code>)</p>
</li>
<li>
<p>C string arrays (not pointers) always coerced to the Python default
string type,
even on explicit casts to other string types.
(Github issue :issue:<code>7020</code>)</p>
</li>
<li>
<p>An internal C function was not marked as <code>static</code> and
leaked a linker symbol.
(Github issue :issue:<code>6957</code>)</p>
</li>
<li>
<p>Compatibility with PyPy3.8 was lost by accident.</p>
</li>
<li>
<p>The Linux binary wheels of 3.1.2 used SSSE3 CPU instructions which
are not available on some CPUs.
(Github issue :issue:<code>7038</code>)</p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/cython/cython/commit/8a1b3c10260fa9f9a91475819d737bce59b1a3d0"><code>8a1b3c1</code></a>
Build: Explicitly exclude GraalPython and Freethreaded Python wheels
because ...</li>
<li><a
href="https://github.com/cython/cython/commit/c1a622f927b57eb35284e12319e73df008b855c5"><code>c1a622f</code></a>
Update changelog.</li>
<li><a
href="https://github.com/cython/cython/commit/68ff5dc8c621552b06b5a5a280ad695f72d988c8"><code>68ff5dc</code></a>
Fix code-generation with walrus+literals (<a
href="https://redirect.github.com/cython/cython/issues/6989">GH-6989</a>)</li>
<li><a
href="https://github.com/cython/cython/commit/85aeae1246962e6b13db40a9357804bf9dd81fd8"><code>85aeae1</code></a>
Fix bug with tokenizing apparent named character literals in raw string
(<a
href="https://redirect.github.com/cython/cython/issues/7057">#7057</a>)</li>
<li><a
href="https://github.com/cython/cython/commit/308c3f92a8cdb8fccbbf0df309c7fdf6c3925199"><code>308c3f9</code></a>
Build: Exclude freethreading Python wheels in 3.1.x because we currently
use ...</li>
<li><a
href="https://github.com/cython/cython/commit/0edc6736ce262be242448f86ae27c861a8803e0a"><code>0edc673</code></a>
Build: Fix matrix generation.</li>
<li><a
href="https://github.com/cython/cython/commit/f95a8ba8b863e6745d34ee145b4d40e12103f5fa"><code>f95a8ba</code></a>
Build: Use latest cibuildwheel to include Py3.14.</li>
<li><a
href="https://github.com/cython/cython/commit/968aecf17d8ddf931c5df824427589d92b8122dc"><code>968aecf</code></a>
Prepare release of 3.1.3.</li>
<li><a
href="https://github.com/cython/cython/commit/9cee731d5f341723fa2e43693b35c510c855cbb0"><code>9cee731</code></a>
Update changelog.</li>
<li><a
href="https://github.com/cython/cython/commit/d4cb2fda6ee90d7204cefe83d225771ac11900f7"><code>d4cb2fd</code></a>
Build: Do not require wheel for building (<a
href="https://redirect.github.com/cython/cython/issues/7084">GH-7084</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/cython/cython/compare/3.1.2...3.1.3">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=cython&package-manager=pip&previous-version=3.1.2&new-version=3.1.3)](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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@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>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [polars](https://github.com/pola-rs/polars) from 1.32.2 to 1.32.3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pola-rs/polars/releases">polars's
releases</a>.</em></p>
<blockquote>
<h2>Python Polars 1.32.3</h2>
<h2>🚀 Performance improvements</h2>
<ul>
<li>Lower .sort(maintain_order=True).head() to streaming top_k (<a
href="https://redirect.github.com/pola-rs/polars/issues/24014">#24014</a>)</li>
<li>Lower top-k to streaming engine (<a
href="https://redirect.github.com/pola-rs/polars/issues/23979">#23979</a>)</li>
<li>Allow order pass through Filters and relax to row-seperable instead
of elementwise (<a
href="https://redirect.github.com/pola-rs/polars/issues/23969">#23969</a>)</li>
</ul>
<h2>✨ Enhancements</h2>
<ul>
<li>Add native streaming for <code>peaks_{min,max}</code> (<a
href="https://redirect.github.com/pola-rs/polars/issues/24039">#24039</a>)</li>
<li>IR graph arrows, monospace font, box nodes (<a
href="https://redirect.github.com/pola-rs/polars/issues/24021">#24021</a>)</li>
<li>Add <code>DataTypeExpr.default_value</code> (<a
href="https://redirect.github.com/pola-rs/polars/issues/23973">#23973</a>)</li>
<li>Lower <code>rle</code> to a native streaming engine node (<a
href="https://redirect.github.com/pola-rs/polars/issues/23929">#23929</a>)</li>
<li>Add support for <code>Int128</code> to pyo3-polars (<a
href="https://redirect.github.com/pola-rs/polars/issues/23959">#23959</a>)</li>
</ul>
<h2>🐞 Bug fixes</h2>
<ul>
<li>Scan of multiple sources with <code>null</code> datatype (<a
href="https://redirect.github.com/pola-rs/polars/issues/24065">#24065</a>)</li>
<li>Categorical in nested data in row encoding (<a
href="https://redirect.github.com/pola-rs/polars/issues/24051">#24051</a>)</li>
<li>Missing length update in builder for pl.Array repetition (<a
href="https://redirect.github.com/pola-rs/polars/issues/24055">#24055</a>)</li>
<li>Race condition in global categories init (<a
href="https://redirect.github.com/pola-rs/polars/issues/24045">#24045</a>)</li>
<li>Revert &quot;fix: Don't encode entire CategoricalMapping when going
to Arrow (<a
href="https://redirect.github.com/pola-rs/polars/issues/24036">#24036</a>)&quot;
(<a
href="https://redirect.github.com/pola-rs/polars/issues/24044">#24044</a>)</li>
<li>Error when using named functions (<a
href="https://redirect.github.com/pola-rs/polars/issues/24041">#24041</a>)</li>
<li>Don't encode entire CategoricalMapping when going to Arrow (<a
href="https://redirect.github.com/pola-rs/polars/issues/24036">#24036</a>)</li>
<li>Fix cast on arithmetic with <code>lit</code> (<a
href="https://redirect.github.com/pola-rs/polars/issues/23941">#23941</a>)</li>
<li>Incorrect slice-slice pushdown (<a
href="https://redirect.github.com/pola-rs/polars/issues/24032">#24032</a>)</li>
<li>Dedup common cache subplan in IR graph (<a
href="https://redirect.github.com/pola-rs/polars/issues/24028">#24028</a>)</li>
<li>Allow join on Decimal in in-memory engine (<a
href="https://redirect.github.com/pola-rs/polars/issues/24026">#24026</a>)</li>
<li>Fix datatypes for <code>eval.list</code> in aggregation context (<a
href="https://redirect.github.com/pola-rs/polars/issues/23911">#23911</a>)</li>
<li>Allocator capsule fallback panic (<a
href="https://redirect.github.com/pola-rs/polars/issues/24022">#24022</a>)</li>
<li>Accept another zlib &quot;magic header&quot; file signature (<a
href="https://redirect.github.com/pola-rs/polars/issues/24013">#24013</a>)</li>
<li>Fix <code>truediv</code> dtypes so <code>cast</code> in
<code>list.eval</code> is not dropped (<a
href="https://redirect.github.com/pola-rs/polars/issues/23936">#23936</a>)</li>
<li>Don't reuse cached <code>return_dtype</code> for expanded map
expressions (<a
href="https://redirect.github.com/pola-rs/polars/issues/24010">#24010</a>)</li>
<li>Cache id is not a valid dot node id (<a
href="https://redirect.github.com/pola-rs/polars/issues/24005">#24005</a>)</li>
<li>Align <code>map_elements</code> with and without
<code>return_dtype</code> (<a
href="https://redirect.github.com/pola-rs/polars/issues/24007">#24007</a>)</li>
<li>Fix column dtype lifetime for <code>csv_write</code> segfault on
<code>Categorical</code> (<a
href="https://redirect.github.com/pola-rs/polars/issues/23986">#23986</a>)</li>
<li>Allow serializing <code>LazyGroupBy.map_groups</code> (<a
href="https://redirect.github.com/pola-rs/polars/issues/23964">#23964</a>)</li>
<li>Correct allocator name in <code>PyCapsule</code> (<a
href="https://redirect.github.com/pola-rs/polars/issues/23968">#23968</a>)</li>
<li>Mismatched types for <code>write</code> function for windows (<a
href="https://redirect.github.com/pola-rs/polars/issues/23915">#23915</a>)</li>
<li>Fix <code>unpivot</code> panic when <code>index=</code> column not
found (<a
href="https://redirect.github.com/pola-rs/polars/issues/23958">#23958</a>)</li>
</ul>
<h2>📖 Documentation</h2>
<ul>
<li>Fix a typo in &quot;lazy/execution&quot; user-guide page (<a
href="https://redirect.github.com/pola-rs/polars/issues/23983">#23983</a>)</li>
</ul>
<h2>🛠️ Other improvements</h2>
<ul>
<li>Update pyo3-polars versions (<a
href="https://redirect.github.com/pola-rs/polars/issues/24031">#24031</a>)</li>
<li>Remove insert_error_function (<a
href="https://redirect.github.com/pola-rs/polars/issues/24023">#24023</a>)</li>
<li>Remove cache hits, clean up in-mem prefill (<a
href="https://redirect.github.com/pola-rs/polars/issues/24019">#24019</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pola-rs/polars/commit/2468e6fa51d7b84d2ccbacd659cc6f8031939d0c"><code>2468e6f</code></a>
feat: Add native streaming for <code>peaks_{min,max}</code> (<a
href="https://redirect.github.com/pola-rs/polars/issues/24039">#24039</a>)</li>
<li><a
href="https://github.com/pola-rs/polars/commit/ad73fccde52b87b82382604ace07b887556b1696"><code>ad73fcc</code></a>
fix: Scan of multiple sources with <code>null</code> datatype (<a
href="https://redirect.github.com/pola-rs/polars/issues/24065">#24065</a>)</li>
<li><a
href="https://github.com/pola-rs/polars/commit/401dd8739869f19c9a41f7256dbea8d5a18d29e2"><code>401dd87</code></a>
fix: Categorical in nested data in row encoding (<a
href="https://redirect.github.com/pola-rs/polars/issues/24051">#24051</a>)</li>
<li><a
href="https://github.com/pola-rs/polars/commit/e958bbdc3fa8071c9cb6ef6cdfd9ebdc75542fc2"><code>e958bbd</code></a>
fix: Missing length update in builder for pl.Array repetition (<a
href="https://redirect.github.com/pola-rs/polars/issues/24055">#24055</a>)</li>
<li><a
href="https://github.com/pola-rs/polars/commit/0031e4e21a95b2e2d23ef3f270cee64a7f4bb02b"><code>0031e4e</code></a>
fix: Race condition in global categories init (<a
href="https://redirect.github.com/pola-rs/polars/issues/24045">#24045</a>)</li>
<li><a
href="https://github.com/pola-rs/polars/commit/6974e074167f7f6b4ebad329bd73a64bd3db5f94"><code>6974e07</code></a>
fix: Revert &quot;fix: Don't encode entire CategoricalMapping when going
to Arrow ...</li>
<li><a
href="https://github.com/pola-rs/polars/commit/864f4ac5a257b99c782e57d0ac09f7007753e049"><code>864f4ac</code></a>
fix: Error when using named functions (<a
href="https://redirect.github.com/pola-rs/polars/issues/24041">#24041</a>)</li>
<li><a
href="https://github.com/pola-rs/polars/commit/d9ca548dd2eceb4bd5033409fd69716d7be22cdd"><code>d9ca548</code></a>
fix: Don't encode entire CategoricalMapping when going to Arrow (<a
href="https://redirect.github.com/pola-rs/polars/issues/24036">#24036</a>)</li>
<li><a
href="https://github.com/pola-rs/polars/commit/df13b0ab817a3ee4211d28b9d547c4912afe6a05"><code>df13b0a</code></a>
Python Release 1.32.3 (<a
href="https://redirect.github.com/pola-rs/polars/issues/24040">#24040</a>)</li>
<li><a
href="https://github.com/pola-rs/polars/commit/b6eb8b12874b2b4494dd212185680aba2b9878ab"><code>b6eb8b1</code></a>
fix: Fix cast on arithmetic with <code>lit</code> (<a
href="https://redirect.github.com/pola-rs/polars/issues/23941">#23941</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/pola-rs/polars/compare/py-1.32.2...py-1.32.3">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=polars&package-manager=pip&previous-version=1.32.2&new-version=1.32.3)](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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@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>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [mypy-boto3-glue](https://github.com/youtype/mypy_boto3_builder)
from 1.40.5 to 1.40.11.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/youtype/mypy_boto3_builder/releases">mypy-boto3-glue's
releases</a>.</em></p>
<blockquote>
<h2>8.8.0 - Python 3.8 runtime is back</h2>
<h3>Changed</h3>
<ul>
<li><code>[services]</code> <code>install_requires</code> section is
calculated based on dependencies in use, so
<code>typing-extensions</code> version is set properly</li>
<li><code>[all]</code> Replaced <code>typing</code> imports with
<code>collections.abc</code> with a fallback to <code>typing</code> for
Python &lt;3.9</li>
<li><code>[all]</code> Added aliases for <code>builtins.list</code>,
<code>builtins.set</code>, <code>builtins.dict</code>, and
<code>builtins.type</code>, so Python 3.8 runtime should work as
expected again (reported by <a
href="https://github.com/YHallouard"><code>@​YHallouard</code></a> in <a
href="https://redirect.github.com/youtype/mypy_boto3_builder/issues/340">#340</a>
and <a
href="https://github.com/Omri-Ben-Yair"><code>@​Omri-Ben-Yair</code></a>
in <a
href="https://redirect.github.com/youtype/mypy_boto3_builder/issues/336">#336</a>)</li>
<li><code>[all]</code> Unions use the same type annotations as the rest
of the structures due to proper fallbacks</li>
</ul>
<h3>Fixed</h3>
<ul>
<li><code>[services]</code> Universal input/output shapes were not
replaced properly in service subresources</li>
<li><code>[docs]</code> Simplified doc links rendering for services</li>
<li><code>[services]</code> Cleaned up unnecessary imports in
<code>client.pyi</code></li>
<li><code>[builder]</code> Import records with fallback are always
rendered</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/youtype/mypy_boto3_builder/commits">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=mypy-boto3-glue&package-manager=pip&previous-version=1.40.5&new-version=1.40.11)](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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@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>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
<!--
Thanks for opening a pull request!
-->
Closes apache#2270 

This adds the rest of the _convert_schema_if_needed calls.

# Rationale for this change

# Are these changes tested?

# Are there any user-facing changes?

<!-- In the case of user-facing changes, please add the changelog label.
-->
<!--
Thanks for opening a pull request!
-->

<!-- In the case this PR will resolve an issue, please replace
${GITHUB_ISSUE_ID} below with the actual Github issue id. -->
<!-- Closes #${GITHUB_ISSUE_ID} -->

# Rationale for this change
[AddSchemaUpdate openapi
spec](https://github.com/apache/iceberg/blob/6017fec2b67884424f152e497424e48414c4a4f3/open-api/rest-catalog-open-api.yaml#L2759-L2767)

# Are these changes tested?

# Are there any user-facing changes?

<!-- In the case of user-facing changes, please add the changelog label.
-->
)

<!--
Thanks for opening a pull request!
-->

<!-- In the case this PR will resolve an issue, please replace
${GITHUB_ISSUE_ID} below with the actual Github issue id. -->
<!-- Closes #${GITHUB_ISSUE_ID} -->

# Rationale for this change
This PR fix reading pyarrow timestamp as Iceberg timestamptz type. It
mirrors the pyarrow logic for dealing with pyarrow timestamp types
[here](https://github.com/apache/iceberg-python/blob/8b43eb88fcc80b4980ce16b71852d211d7e93b13/pyiceberg/io/pyarrow.py#L1330-L1353)

Two changes were made to `ArrowProjectionVisitor._cast_if_needed`
1. reorder the logic so that we handle dealing with timestamp first.
Otherwise, it will try to `promote()` timestamp to timestamptz and fail.
2. allow casting when the pyarrow's value has `None` timezone. This is
allowed because we gate on the target type has "UTC" timezone. It
mirrors the java logic for reading with default UTC timezone
([1](https://github.com/apache/iceberg/blob/856cbf6eb8a85dee01c65ae6291274b700f76746/core/src/main/java/org/apache/iceberg/data/avro/GenericReaders.java#L107-L116),
[2](https://github.com/apache/iceberg/blob/856cbf6eb8a85dee01c65ae6291274b700f76746/api/src/main/java/org/apache/iceberg/util/DateTimeUtil.java#L35))

### Context
I ran into an interesting edge case while testing metadata
virtualization between delta and iceberg.

Delta has both [TIMESTAMP and TIMESTAMP_NTZ data
types](https://docs.databricks.com/aws/en/sql/language-manual/sql-ref-datatypes).
TIMESTAMP has a timezone while TIMESTAMP_NTZ has no timezone.
While Iceberg has [timestamp and
timestamptz](https://iceberg.apache.org/spec/#primitive-types).
timestamp has no timezone and timestamptz has a timezone.

So Delta's TIMESTAMP -> Iceberg timestamptz and Delta's TIMESTAMP_NTZ ->
Iceberg timestamp.

Regardless of delta or iceberg, the [parquet file stores timestamp
without the timezone
information](https://github.com/apache/parquet-format/blob/1dbc814b97c9307687a2e4bee55545ab6a2ef106/LogicalTypes.md#timestamp)

So I end up a parquet file with timestamp column, and an iceberg table
with timestamptz column, and pyiceberg cannot read this table.
Its hard to recreate the scenario but i did trace it to the
`_to_requested_schema` function. I added a unit test for this case.

The issue is that `ArrowProjectionVisitor._cast_if_needed` will try to
promote `timestamp` to `timstamptz` and this is not a valid promotion.
```
E           pyiceberg.exceptions.ResolveError: Cannot promote timestamp to timestamptz
```

https://github.com/apache/iceberg-python/blob/640c592b705db01199020db8e5f2b6e2c67f06bf/pyiceberg/io/pyarrow.py#L1779-L1782

The `elif` case below that can handle this case
https://github.com/apache/iceberg-python/blob/640c592b705db01199020db8e5f2b6e2c67f06bf/pyiceberg/io/pyarrow.py#L1800-L1806

So maybe we just need to switch the order of execution...

This was also an interesting read..
https://arrow.apache.org/docs/python/timestamps.html

# Are these changes tested?

# Are there any user-facing changes?

<!-- In the case of user-facing changes, please add the changelog label.
-->
# Rationale for this change

This was added way ago, but I don't think it makes any sense for two
reasons:

- It was never updated properly :)
- The spec is not versioned with the Java release

Better to clean this up


# Are these changes tested?

# Are there any user-facing changes?

<!-- In the case of user-facing changes, please add the changelog label.
-->
…to null in json (apache#2343)

Closes apache#2342

# Rationale for this change

The OpenAPI spec specifies that `snapshot-id` is required [1], even if
it's `null`. The current code omits the field b/c `exclude_none=True` is
set for all models that extend `IcebergBaseModel`. Setting
`exclude=False` on the field doesn't override the behavior and thus the
model needs to control it's own serialization. This is the only model I
know of so far that has this "required null" problem so I held back from
making another class for this model to extend.

# Are these changes tested?

Yes

# Are there any user-facing changes?

Set `snapshot-id: null` when committing tables that don't have a current
snapshot-id.

[1]:
https://github.com/apache/iceberg/blob/main/open-api/rest-catalog-open-api.yaml#L3138-L3155

---------

Co-authored-by: Fokko Driesprong <[email protected]>
Co-authored-by: Kevin Liu <[email protected]>
issue apache#2341 

In this PR i update only `pre-commit-hooks` (updating `v5.0.0 ->
v6.0.0`) in `.pre-commit-config.yaml` file.

i tested it with 'make lint' command and it  looks good to me.
<img width="969" height="263" alt="image"
src="https://github.com/user-attachments/assets/77a80965-ad22-472e-87a0-4174ef0bf2ee"
/>
issue apache#2341 

In this PR, I update `ruff-pre-commit` (updating `v0.11.13 -> v0.12.9`)
in `.pre-commit-config.yaml` file and verify it with running `make lint`
command.
issue apache#2341 

In this PR I update `mirrors-mypy` (from `v1.16.0 -> v1.17.1`) in
`.pre-commit-config.yaml` file.
After the update, I ran make lint, and it executed successfully without
any issues.

<img width="1022" height="313" alt="Screenshot from 2025-08-20 22-01-55"
src="https://github.com/user-attachments/assets/5e5c6884-2301-4c2c-80bd-70f31874afca"
/>
Closes [apache#2272](apache#2272)
Collaborator: @geruh 
# Rationale for this change
Implements the validation logic described in
[apache#2272](apache#2272) to match
Java and Rust behavior for partition field name conflicts with schema
fields.
This mirrors the method in Java checkAndAddPartitionName():

https://github.com/apache/iceberg/blob/4dbc7f578eee7ceb9def35ebfa1a4cc236fb598f/api/src/main/java/org/apache/iceberg/PartitionSpec.java#L392-L416

**Identity transforms** (`sourceColumnID != null`)- Allow schema field
name conflicts only when sourced form the same field
**Non-identity** (`sourceColumnID == null`)- Disallow any schema field
name conflicts.

In this PR `isinstance(transform, (IdentityTransform, VoidTransform))`
is used to achieve the same logic as Java’s `sourceColumnID` check.

# Are these changes tested?
Yes, all existing tests pass and added a test covering validation
scenarios.

# Are there any user-facing changes?
Yes. Non-identity transforms can no longer use schema field names as
partition field names.

---------

Co-authored-by: Kevin Liu <[email protected]>
Co-authored-by: Kevin Liu <[email protected]>
Co-authored-by: Fokko Driesprong <[email protected]>
dependabot bot and others added 23 commits August 26, 2025 11:43
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material)
from 9.6.17 to 9.6.18.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/squidfunk/mkdocs-material/releases">mkdocs-material's
releases</a>.</em></p>
<blockquote>
<h2>mkdocs-material-9.6.18</h2>
<ul>
<li>Updated Azerbaijani translations</li>
<li>Fixed last compat issues with <a
href="https://github.com/mitsuhiko/minijinja">minijinja</a>, now 100%
compatible</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG">mkdocs-material's
changelog</a>.</em></p>
<blockquote>
<p>mkdocs-material-9.6.18 (2025-08-22)</p>
<ul>
<li>Updated Azerbaijani translations</li>
<li>Fixed last compat issues with [minijinja], now 100% compatible</li>
</ul>
<p>mkdocs-material-9.6.17 (2025-08-15)</p>
<ul>
<li>Fixed <a
href="https://redirect.github.com/squidfunk/mkdocs-material/issues/8396">#8396</a>:
Videos do not autoplay when inside a content tab</li>
<li>Fixed <a
href="https://redirect.github.com/squidfunk/mkdocs-material/issues/8394">#8394</a>:
Stroke width not effective in Mermaid.js diagrams</li>
<li>Fixed disappearing version selector when hiding page title</li>
</ul>
<p>mkdocs-material-9.6.16 (2025-07-26)</p>
<ul>
<li>Fixed <a
href="https://redirect.github.com/squidfunk/mkdocs-material/issues/8349">#8349</a>:
Info plugin doesn't correctly detect virtualenv in some cases</li>
<li>Fixed <a
href="https://redirect.github.com/squidfunk/mkdocs-material/issues/8334">#8334</a>:
Find-in-page detects matches in hidden search result list</li>
</ul>
<p>mkdocs-material-9.6.15 (2025-07-01)</p>
<ul>
<li>Updated Mongolian translations</li>
<li>Improved semantic markup of &quot;edit this page&quot; button</li>
<li>Improved info plugin virtual environment resolution</li>
<li>Fixed <a
href="https://redirect.github.com/squidfunk/mkdocs-material/issues/8291">#8291</a>:
Large font size setting throws of breakpoints in JavaScript</li>
</ul>
<p>mkdocs-material-9.6.14 (2025-05-13)</p>
<ul>
<li>Fixed <a
href="https://redirect.github.com/squidfunk/mkdocs-material/issues/8215">#8215</a>:
Social plugin crashes when CairoSVG is updated to 2.8</li>
</ul>
<p>mkdocs-material-9.6.13 (2025-05-10)</p>
<ul>
<li>Fixed <a
href="https://redirect.github.com/squidfunk/mkdocs-material/issues/8204">#8204</a>:
Annotations showing list markers in print view</li>
<li>Fixed <a
href="https://redirect.github.com/squidfunk/mkdocs-material/issues/8153">#8153</a>:
Improve style of cardinality symbols in Mermaid.js ER diagrams</li>
</ul>
<p>mkdocs-material-9.6.12 (2025-04-17)</p>
<ul>
<li>Fixed <a
href="https://redirect.github.com/squidfunk/mkdocs-material/issues/8158">#8158</a>:
Flip footnote back reference icon for right-to-left languages</li>
</ul>
<p>mkdocs-material-9.6.11 (2025-04-01)</p>
<ul>
<li>Updated Docker image to latest Alpine Linux</li>
<li>Bump required Jinja version to 3.1</li>
<li>Fixed <a
href="https://redirect.github.com/squidfunk/mkdocs-material/issues/8133">#8133</a>:
Jinja filter <code>items</code> not available (9.6.10 regression)</li>
<li>Fixed <a
href="https://redirect.github.com/squidfunk/mkdocs-material/issues/8128">#8128</a>:
Search plugin not entirely disabled via enabled setting</li>
</ul>
<p>mkdocs-material-9.6.10 (2025-03-30)</p>
<p>This version is a pure refactoring release, and does not contain new
features
or bug fixes. It strives to improve the compatibility of our templates
with
alternative Jinja-like template engines that we're currently exploring,
including minijinja.</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/squidfunk/mkdocs-material/commit/51bc7ba063d3e97f9e7bf1e7acfd107e32ac92b7"><code>51bc7ba</code></a>
Prepare 9.6.18 release</li>
<li><a
href="https://github.com/squidfunk/mkdocs-material/commit/fe4a4314d3c39274de8dd3bb8ab1120520d839cc"><code>fe4a431</code></a>
Updated dependencies</li>
<li><a
href="https://github.com/squidfunk/mkdocs-material/commit/3b3c632c4e1308ebc597290192f0f435ca6e3a6c"><code>3b3c632</code></a>
Updated Azerbaijani translations</li>
<li><a
href="https://github.com/squidfunk/mkdocs-material/commit/26d6e5e3828172bc11502d73f1ccfc8760ea0588"><code>26d6e5e</code></a>
Improved compatibility with minijinja</li>
<li><a
href="https://github.com/squidfunk/mkdocs-material/commit/c79364a7e0af950022cb4d2c0528e11beaccdbf8"><code>c79364a</code></a>
Fixed last minijinja compat issues in templates</li>
<li><a
href="https://github.com/squidfunk/mkdocs-material/commit/c89a66bf39bb7f472e925753367ff8e464e0d683"><code>c89a66b</code></a>
Updated changelog</li>
<li>See full diff in <a
href="https://github.com/squidfunk/mkdocs-material/compare/9.6.17...9.6.18">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=mkdocs-material&package-manager=pip&previous-version=9.6.17&new-version=9.6.18)](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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@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>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [pandas](https://github.com/pandas-dev/pandas) from 2.3.1 to
2.3.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pandas-dev/pandas/releases">pandas's
releases</a>.</em></p>
<blockquote>
<h2>Pandas 2.3.2</h2>
<p>We are pleased to announce the release of pandas 2.3.2.
This release includes some improvements and fixes to the future string
data type (preview feature for the upcoming pandas 3.0). We recommend
that all users upgrade to this version.</p>
<p>See the <a
href="https://pandas.pydata.org/pandas-docs/version/2.3/whatsnew/v2.3.2.html">full
whatsnew</a> for a list of all the changes.
Pandas 2.3.2 supports Python 3.9 and higher.</p>
<p>The release will be available on the conda-forge channel:</p>
<pre><code>conda install pandas --channel conda-forge
</code></pre>
<p>Or via PyPI:</p>
<pre><code>python3 -m pip install --upgrade pandas
</code></pre>
<p>Please report any issues with the release on the <a
href="https://github.com/pandas-dev/pandas/issues">pandas issue
tracker</a>.</p>
<p>Thanks to all the contributors who made this release possible.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pandas-dev/pandas/commit/4665c10899bc413b639194f6fb8665a5c70f7db5"><code>4665c10</code></a>
RLS: 2.3.2</li>
<li><a
href="https://github.com/pandas-dev/pandas/commit/633c68b91808441eba7d73b630a82b713ba19da8"><code>633c68b</code></a>
DOC: fix syntax in whatsnew file</li>
<li><a
href="https://github.com/pandas-dev/pandas/commit/456ad4702cb017aab36e2d09a4029b1b085198f5"><code>456ad47</code></a>
Backport PR <a
href="https://redirect.github.com/pandas-dev/pandas/issues/62152">#62152</a>
on branch 2.3.x (DOC: prepare 2.3.2 whatsnew notes for rel...</li>
<li><a
href="https://github.com/pandas-dev/pandas/commit/6cae6444444ed7943ceffbd5990cd8249dd5b47c"><code>6cae644</code></a>
[backport 2.3.x] DOC: move and reword whatsnew note for replace fix (<a
href="https://redirect.github.com/pandas-dev/pandas/issues/57865">GH-57865</a>...</li>
<li><a
href="https://github.com/pandas-dev/pandas/commit/a91c50a58c372cddf104fd60241c7284bbf8fc80"><code>a91c50a</code></a>
Backport PR <a
href="https://redirect.github.com/pandas-dev/pandas/issues/62147">#62147</a>
on branch 2.3.x (DOC: correct and rewrite string migration...</li>
<li><a
href="https://github.com/pandas-dev/pandas/commit/f7a2cfdf2ed08016167ae6c5e577c54949a849b2"><code>f7a2cfd</code></a>
[backport 2.3.x] BUG/DEPR: logical operation with bool and string (<a
href="https://redirect.github.com/pandas-dev/pandas/issues/61995">#61995</a>)
(#...</li>
<li><a
href="https://github.com/pandas-dev/pandas/commit/7981a43db4339826a3ce5020e9b1b931e604e5bd"><code>7981a43</code></a>
Backport PR <a
href="https://redirect.github.com/pandas-dev/pandas/issues/62124">#62124</a>
on branch 2.3.x (CI/BLD: don't use strict xfail for '%m.%Y...</li>
<li><a
href="https://github.com/pandas-dev/pandas/commit/fafbcbd03d1721830f4df8255abdab341db2a583"><code>fafbcbd</code></a>
[backport 2.3.x] BUG(CoW): also raise for chained assignment for .at /
.iat (...</li>
<li><a
href="https://github.com/pandas-dev/pandas/commit/3ac64a714886d917ca24ba637a85c4aaf563fc1b"><code>3ac64a7</code></a>
[backport 2.3.x] BUG: Fix Series.str.contains with compiled regex on
Arrow st...</li>
<li><a
href="https://github.com/pandas-dev/pandas/commit/1f2dc4fd8a2503773b6f90cb5e8cc5c3172c3c11"><code>1f2dc4f</code></a>
[backport 2.3.x] BUG: fix Series.str.fullmatch() and Series.str.match()
with ...</li>
<li>Additional commits viewable in <a
href="https://github.com/pandas-dev/pandas/compare/v2.3.1...v2.3.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pandas&package-manager=pip&previous-version=2.3.1&new-version=2.3.2)](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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@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>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [coverage](https://github.com/nedbat/coveragepy) from 7.10.4 to
7.10.5.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/nedbat/coveragepy/blob/master/CHANGES.rst">coverage's
changelog</a>.</em></p>
<blockquote>
<h2>Version 7.10.5 — 2025-08-23</h2>
<ul>
<li>Big speed improvements for <code>coverage combine</code>: it's now
about twice as
fast! Huge thanks to Alex Gaynor for pull requests <code>2032 &lt;pull
2032_&gt;</code><em>,
<code>2033 &lt;pull 2033_&gt;</code></em>, and <code>2034 &lt;pull
2034_&gt;</code>_.</li>
</ul>
<p>.. _pull 2032: <a
href="https://redirect.github.com/nedbat/coveragepy/pull/2032">nedbat/coveragepy#2032</a>
.. _pull 2033: <a
href="https://redirect.github.com/nedbat/coveragepy/pull/2033">nedbat/coveragepy#2033</a>
.. _pull 2034: <a
href="https://redirect.github.com/nedbat/coveragepy/pull/2034">nedbat/coveragepy#2034</a></p>
<p>.. _changes_7-10-4:</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/nedbat/coveragepy/commit/810abeb149fff925e49eab37ceaee60cb2878f7d"><code>810abeb</code></a>
chore: make upgrade</li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/3c8f1b518cf933040059fd85b482827ed205e0d1"><code>3c8f1b5</code></a>
build: use --universal to keep platform conditions in .pip files</li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/107ae05233005f8a5d497d8492c6410428dbbc28"><code>107ae05</code></a>
docs: sample HTML for 7.10.5</li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/b5bc6d409aefc11d0277fbf8af9c930bea686ed5"><code>b5bc6d4</code></a>
docs: prep for 7.10.5</li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/a5c18cc5eadc9df04005420207d53d74a94b9adf"><code>a5c18cc</code></a>
style: auto-generated changes shouldn't trigger ruff re-formatting</li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/1f9f84079aef5aab496381502aa818ea0574982a"><code>1f9f840</code></a>
build: tooling for ruff formatting</li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/9ee5b3e9e053168caa4e7bd32389b5592ad9b503"><code>9ee5b3e</code></a>
chore: make upgrade</li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/bfeb2aec1de7c298060b0c972f86d0f1f3e4da71"><code>bfeb2ae</code></a>
style: fix things so pylint is happy with ruff</li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/82467f72306efdb207af09ace27b6b3ed4c7ad6f"><code>82467f7</code></a>
chore: <code>ruff format .</code></li>
<li><a
href="https://github.com/nedbat/coveragepy/commit/0a7b73346bc498a089df8cc7d4168dab7a326a06"><code>0a7b733</code></a>
refactor: remove unused things from lab/</li>
<li>Additional commits viewable in <a
href="https://github.com/nedbat/coveragepy/compare/7.10.4...7.10.5">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=coverage&package-manager=pip&previous-version=7.10.4&new-version=7.10.5)](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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@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>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps
[mypy-boto3-dynamodb](https://github.com/youtype/mypy_boto3_builder)
from 1.40.10 to 1.40.14.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/youtype/mypy_boto3_builder/releases">mypy-boto3-dynamodb's
releases</a>.</em></p>
<blockquote>
<h2>8.8.0 - Python 3.8 runtime is back</h2>
<h3>Changed</h3>
<ul>
<li><code>[services]</code> <code>install_requires</code> section is
calculated based on dependencies in use, so
<code>typing-extensions</code> version is set properly</li>
<li><code>[all]</code> Replaced <code>typing</code> imports with
<code>collections.abc</code> with a fallback to <code>typing</code> for
Python &lt;3.9</li>
<li><code>[all]</code> Added aliases for <code>builtins.list</code>,
<code>builtins.set</code>, <code>builtins.dict</code>, and
<code>builtins.type</code>, so Python 3.8 runtime should work as
expected again (reported by <a
href="https://github.com/YHallouard"><code>@​YHallouard</code></a> in <a
href="https://redirect.github.com/youtype/mypy_boto3_builder/issues/340">#340</a>
and <a
href="https://github.com/Omri-Ben-Yair"><code>@​Omri-Ben-Yair</code></a>
in <a
href="https://redirect.github.com/youtype/mypy_boto3_builder/issues/336">#336</a>)</li>
<li><code>[all]</code> Unions use the same type annotations as the rest
of the structures due to proper fallbacks</li>
</ul>
<h3>Fixed</h3>
<ul>
<li><code>[services]</code> Universal input/output shapes were not
replaced properly in service subresources</li>
<li><code>[docs]</code> Simplified doc links rendering for services</li>
<li><code>[services]</code> Cleaned up unnecessary imports in
<code>client.pyi</code></li>
<li><code>[builder]</code> Import records with fallback are always
rendered</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/youtype/mypy_boto3_builder/commits">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=mypy-boto3-dynamodb&package-manager=pip&previous-version=1.40.10&new-version=1.40.14)](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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@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>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [daft](https://github.com/Eventual-Inc/Daft) from 0.5.19 to
0.5.21.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/Eventual-Inc/Daft/releases">daft's
releases</a>.</em></p>
<blockquote>
<h2>v0.5.21</h2>
<h2>What's Changed 🚀</h2>
<h2>✨ Features</h2>
<ul>
<li>feat: Propagate morsel size top-down in swordfish <a
href="https://github.com/colin-ho"><code>@​colin-ho</code></a> (<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/4894">#4894</a>)</li>
<li>feat: DataFrame.write_huggingface <a
href="https://github.com/kevinzwang"><code>@​kevinzwang</code></a> (<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/5015">#5015</a>)</li>
</ul>
<h2>🐛 Bug Fixes</h2>
<ul>
<li>fix(blc): Attempt to fix the broken link checker. <a
href="https://github.com/rohitkulshreshtha"><code>@​rohitkulshreshtha</code></a>
(<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/5010">#5010</a>)</li>
<li>fix: Print UDF stdout and Daft logs above the progress bar <a
href="https://github.com/srilman"><code>@​srilman</code></a> (<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/4861">#4861</a>)</li>
</ul>
<h2>📖 Documentation</h2>
<ul>
<li>docs: Add audio transcription example card <a
href="https://github.com/desmondcheongzx"><code>@​desmondcheongzx</code></a>
(<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/5020">#5020</a>)</li>
<li>docs: improve audio transcription example <a
href="https://github.com/universalmind303"><code>@​universalmind303</code></a>
(<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/4990">#4990</a>)</li>
<li>docs: Spice up the examples page <a
href="https://github.com/desmondcheongzx"><code>@​desmondcheongzx</code></a>
(<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/5019">#5019</a>)</li>
</ul>
<h2>🔧 Maintenance</h2>
<ul>
<li>chore: Only test MacOS on Python 3.11 in CI <a
href="https://github.com/srilman"><code>@​srilman</code></a> (<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/5014">#5014</a>)</li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/Eventual-Inc/Daft/compare/v0.5.20...v0.5.21">https://github.com/Eventual-Inc/Daft/compare/v0.5.20...v0.5.21</a></p>
<h2>v0.5.20</h2>
<h2>What's Changed 🚀</h2>
<h2>💥 Breaking Changes</h2>
<ul>
<li>feat!: RowWiseUdf.eval for eager evaluation <a
href="https://github.com/kevinzwang"><code>@​kevinzwang</code></a> (<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/4998">#4998</a>)</li>
</ul>
<h2>✨ Features</h2>
<ul>
<li>feat: support count(1) in dataframe and choose the cheap column <a
href="https://github.com/huleilei"><code>@​huleilei</code></a> (<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/4977">#4977</a>)</li>
<li>feat: add clickhouse data sink <a
href="https://github.com/huleilei"><code>@​huleilei</code></a> (<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/4850">#4850</a>)</li>
<li>feat: implement distributed sort in flotilla engine <a
href="https://github.com/ohbh"><code>@​ohbh</code></a> (<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/4991">#4991</a>)</li>
<li>feat!: RowWiseUdf.eval for eager evaluation <a
href="https://github.com/kevinzwang"><code>@​kevinzwang</code></a> (<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/4998">#4998</a>)</li>
<li>feat: basic read_huggingface functionality <a
href="https://github.com/kevinzwang"><code>@​kevinzwang</code></a> (<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/4996">#4996</a>)</li>
<li>feat: support using max() and min() on list of boolean values <a
href="https://github.com/varun117"><code>@​varun117</code></a> (<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/4989">#4989</a>)</li>
<li>feat: Flotilla pre-shuffle merge <a
href="https://github.com/colin-ho"><code>@​colin-ho</code></a> (<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/4873">#4873</a>)</li>
<li>feat: Flotilla into partitions <a
href="https://github.com/colin-ho"><code>@​colin-ho</code></a> (<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/4963">#4963</a>)</li>
<li>feat(optimizer): Add Lance count() pushdown optimization <a
href="https://github.com/huleilei"><code>@​huleilei</code></a> (<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/4969">#4969</a>)</li>
<li>feat: adds video frame streaming source <a
href="https://github.com/rchowell"><code>@​rchowell</code></a> (<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/4979">#4979</a>)</li>
<li>feat: Add offset support to Spark Connect <a
href="https://github.com/plotor"><code>@​plotor</code></a> (<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/4962">#4962</a>)</li>
<li>feat: new <code>daft.File</code> datatype <a
href="https://github.com/universalmind303"><code>@​universalmind303</code></a>
(<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/4959">#4959</a>)</li>
<li>feat: unify all Daft type to Python type conversions <a
href="https://github.com/kevinzwang"><code>@​kevinzwang</code></a> (<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/4972">#4972</a>)</li>
</ul>
<h2>🐛 Bug Fixes</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/Eventual-Inc/Daft/commit/9017c8fcb3f0a1876dd7afcf0a7135a4bcb400b3"><code>9017c8f</code></a>
docs: Add audio transcription example card (<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/5020">#5020</a>)</li>
<li><a
href="https://github.com/Eventual-Inc/Daft/commit/dec381e2f3f247ea6b461a844b607d2d83855113"><code>dec381e</code></a>
feat: Propagate morsel size top-down in swordfish (<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/4894">#4894</a>)</li>
<li><a
href="https://github.com/Eventual-Inc/Daft/commit/a8b1556c7ddbb3060c180aa3f3757e25d58e929c"><code>a8b1556</code></a>
fix(blc): Attempt to fix the broken link checker. (<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/5010">#5010</a>)</li>
<li><a
href="https://github.com/Eventual-Inc/Daft/commit/543e5e56d26941ddaf9023e4d0ca02dd0a0de03c"><code>543e5e5</code></a>
docs: improve audio transcription example (<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/4990">#4990</a>)</li>
<li><a
href="https://github.com/Eventual-Inc/Daft/commit/69afe66758e1550b09b08341a95de58577da96fc"><code>69afe66</code></a>
docs: Spice up the examples page (<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/5019">#5019</a>)</li>
<li><a
href="https://github.com/Eventual-Inc/Daft/commit/daeb3b6ae220b681d23ffa6d9ca32e8b26b9947e"><code>daeb3b6</code></a>
feat: DataFrame.write_huggingface (<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/5015">#5015</a>)</li>
<li><a
href="https://github.com/Eventual-Inc/Daft/commit/6be67bf6aa82ab5c0cc301e0e431a78fde4ccc53"><code>6be67bf</code></a>
chore: Only test MacOS on Python 3.11 in CI (<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/5014">#5014</a>)</li>
<li><a
href="https://github.com/Eventual-Inc/Daft/commit/0fb39cf1277cc8de3061b04b5eb5f4cc2f82be35"><code>0fb39cf</code></a>
fix: Print UDF stdout and Daft logs above the progress bar (<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/4861">#4861</a>)</li>
<li><a
href="https://github.com/Eventual-Inc/Daft/commit/0bcaf35abf50c2d590e38e6ec673ff5e8fdbe0bc"><code>0bcaf35</code></a>
feat: support count(1) in dataframe and choose the cheap column (<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/4977">#4977</a>)</li>
<li><a
href="https://github.com/Eventual-Inc/Daft/commit/82d1f4fb90af1b39a0c343201b03a4ec83c425c9"><code>82d1f4f</code></a>
fix: Can translate sort in flotilla (<a
href="https://redirect.github.com/Eventual-Inc/Daft/issues/5005">#5005</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/Eventual-Inc/Daft/compare/v0.5.19...v0.5.21">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=daft&package-manager=pip&previous-version=0.5.19&new-version=0.5.21)](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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@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>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
<!--
Thanks for opening a pull request!
-->

<!-- In the case this PR will resolve an issue, please replace
${GITHUB_ISSUE_ID} below with the actual Github issue id. -->
<!-- Closes #${GITHUB_ISSUE_ID} -->

# Rationale for this change

Heading levels of subsections of `Code standards` are incorrect such
that subsection headings are rendered on the same level as `Code
standards`.

## Are these changes tested?

Doc changes only.

## Are there any user-facing changes?

<!-- In the case of user-facing changes, please add the changelog label.
-->
<!--
Thanks for opening a pull request!
-->

<!-- In the case this PR will resolve an issue, please replace
${GITHUB_ISSUE_ID} below with the actual Github issue id. -->
<!-- Closes #${GITHUB_ISSUE_ID} -->

# Rationale for this change
Minor quality of life changes to release docs

* Added a copy button to script lines
<img width="818" height="515" alt="Screenshot 2025-08-22 at 12 15 46 PM"
src="https://github.com/user-attachments/assets/87569d80-6a48-4dcd-b307-bd7b3ff84235"
/>

* `Apache PyIceberg` -> `PyIceberg`. "Apache PyIceberg" sounds like a
top-level, standalone project. I prefer we use use just "PyIceberg"

## Are these changes tested?

## Are there any user-facing changes?

<!-- In the case of user-facing changes, please add the changelog label.
-->
<!--
Thanks for opening a pull request!
-->

<!-- In the case this PR will resolve an issue, please replace
${GITHUB_ISSUE_ID} below with the actual Github issue id. -->
<!-- Closes #${GITHUB_ISSUE_ID} -->

# Rationale for this change

Now that [pyarrow FileIO supports
ADLS](apache#2111), we can update
the
[SCHEMA_TO_FILE_IO](https://github.com/apache/iceberg-python/blob/370e770383c9c129aff2fe24cc92a68981688159/pyiceberg/io/__init__.py#L307-L319)
mapping for `abfs` and `wasb` to use ARROW_FILE_IO, similar to how it’s
handled for s3

We’re keeping FsspecFileIO as the preferred default, since the
PyArrowFileIO implementation is only available in pyarrow >= 20.0.0

## Are these changes tested?

## Are there any user-facing changes?

Add mapping SCHEMA_TO_FILE_IO for `wasb` and `abfs` to `FsspecFileIO`
and `PyArrowFileIO`

<!-- In the case of user-facing changes, please add the changelog label.
-->
<!--
Thanks for opening a pull request!
-->

<!-- In the case this PR will resolve an issue, please replace
${GITHUB_ISSUE_ID} below with the actual Github issue id. -->
<!-- Closes #${GITHUB_ISSUE_ID} -->

# Rationale for this change
Relates to apache#2400
Disables importing bodo to allow us to make changes to PyArrowFileIO in
apache#2291

## Are these changes tested?

## Are there any user-facing changes?

<!-- In the case of user-facing changes, please add the changelog label.
-->
<!--
Thanks for opening a pull request!
-->

<!-- In the case this PR will resolve an issue, please replace
${GITHUB_ISSUE_ID} below with the actual Github issue id. -->
<!-- Closes #${GITHUB_ISSUE_ID} -->

# Rationale for this change
`s3fs.S3FileSystem` requires that we pass `anon` directly, it cannot be
passed through `config_kwargs`.

## Are these changes tested?
yes, unit tests updated.

## Are there any user-facing changes?
no

<!-- In the case of user-facing changes, please add the changelog label.
-->
# Rationale for this change

It looks like we downcast Arrow nanosecond types always to microseconds.

cc @sungwy @kevinjqliu 

## Are these changes tested?

## Are there any user-facing changes?

<!-- In the case of user-facing changes, please add the changelog label.
-->
…apache#2394)

# Rationale for this change

Request sessions could load `REQUESTS_CA_BUNDLE` or `CURL_CA_BUNDLE`
from OS environment such that cabundle passed in from the UT is not
used.

https://github.com/psf/requests/blob/88dce9d854797c05d0ff296b70e0430535ef8aaf/src/requests/sessions.py#L766-L771

## Are these changes tested?
Yes

## Are there any user-facing changes?
No

---------

Co-authored-by: Fokko Driesprong <[email protected]>
@kevinjqliu
Copy link
Owner Author

/gemini review

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Summary of Changes

Hello @kevinjqliu, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly expands PyIceberg's capabilities by introducing support for BigQuery as a catalog, enhancing file system interactions with new authentication options for S3 and ADLS, and refining REST catalog authentication with OAuth2. It also includes substantial improvements to schema and partition evolution logic, ensuring more robust data management and better performance for analytical operations.

Highlights

  • BigQuery Catalog Integration: Adds a new BigQuery Metastore Catalog, enabling PyIceberg to manage tables and namespaces directly within Google Cloud BigQuery.
  • Enhanced File System Connectivity: Introduces anonymous access for S3 and token-based authentication for ADLS, alongside broader support for various file system schemes in PyArrow.
  • OAuth2 for REST Catalog: Implements OAuth2 client credentials flow, providing a more secure and flexible authentication mechanism for REST-based catalogs.
  • Improved Schema & Partition Evolution: Enhances the robustness of schema and partition updates with new validation rules, including checks for naming conflicts and refined timestamp handling across different table format versions.
  • Performance Optimizations: Boosts the performance of inspect.partitions() by parallelizing the processing of manifest files.
  • BETWEEN Operator Support: Adds the ability to parse and utilize the BETWEEN operator in row filter expressions for more flexible data querying.
  • Resource Management for Catalogs: Introduces explicit close methods and context manager support for catalog implementations, ensuring proper cleanup of resources like database connections.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in issue comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request introduces a significant number of changes, including new features, dependency updates, documentation improvements, and bug fixes. The most notable additions are a new catalog implementation for Google BigQuery and support for OAuth2 authentication in the REST catalog. There are also several improvements to filesystem handling, such as anonymous S3 access and static token support for ADLS. The documentation has been extensively updated to reflect these new features and to improve clarity and consistency.

My feedback focuses on a couple of minor issues in the new BigQuery catalog implementation. Overall, this is a substantial and valuable contribution to the project.

)
self.client.create_dataset(dataset)
except Conflict as e:
raise NamespaceAlreadyExistsError("Namespace {database_name} already exists") from e

Choose a reason for hiding this comment

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

high

The error message is not formatted correctly. It should be an f-string to include the database_name variable. Without the f prefix, the string will be rendered literally as Namespace {database_name} already exists.

Suggested change
raise NamespaceAlreadyExistsError("Namespace {database_name} already exists") from e
raise NamespaceAlreadyExistsError(f"Namespace {database_name} already exists") from e

Comment on lines +196 to +197
database_name, table_name = self.identifier_to_database_and_table(identifier, NoSuchTableError)
dataset_name, table_name = self.identifier_to_database_and_table(identifier, NoSuchTableError)

Choose a reason for hiding this comment

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

medium

These two lines are redundant. The identifier_to_database_and_table method is called twice with the same arguments, and the results of the first call are overwritten. You can remove the first line.

Suggested change
database_name, table_name = self.identifier_to_database_and_table(identifier, NoSuchTableError)
dataset_name, table_name = self.identifier_to_database_and_table(identifier, NoSuchTableError)
dataset_name, table_name = self.identifier_to_database_and_table(identifier, NoSuchTableError)

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request introduces a substantial set of features and improvements, including a new BigQuery catalog, OAuth2 authentication for the REST catalog, and context manager support for catalogs. It also includes numerous enhancements to timestamp handling, partitioning, schema evolution, and dependency updates.

My main concern is with the new BigQueryMetastoreCatalog, which appears to be incomplete as several key methods like commit_table and rename_table are not implemented. There are also a couple of bugs in the implementation. These should be addressed before merging.

Overall, this is a significant contribution, but the scope is much larger than the title "Fix filesystem" suggests. A more descriptive title and potentially splitting this into smaller, more focused PRs would have been beneficial for review.

Comment on lines +196 to +197
database_name, table_name = self.identifier_to_database_and_table(identifier, NoSuchTableError)
dataset_name, table_name = self.identifier_to_database_and_table(identifier, NoSuchTableError)

Choose a reason for hiding this comment

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

high

The identifier_to_database_and_table method is called twice here with the same arguments. The second call is redundant and can be removed to improve code clarity and avoid unnecessary computation.

Suggested change
database_name, table_name = self.identifier_to_database_and_table(identifier, NoSuchTableError)
dataset_name, table_name = self.identifier_to_database_and_table(identifier, NoSuchTableError)
dataset_name, table_name = self.identifier_to_database_and_table(identifier, NoSuchTableError)

@kevinjqliu kevinjqliu closed this Aug 29, 2025
@kevinjqliu kevinjqliu deleted the fixFilesystem branch August 29, 2025 16:55
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.