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

   Bumps [pyo3-build-config](https://github.com/pyo3/pyo3) from 0.20.2 to 
0.21.1.
   <details>
   <summary>Release notes</summary>
   <p><em>Sourced from <a 
href="https://github.com/pyo3/pyo3/releases";>pyo3-build-config's 
releases</a>.</em></p>
   <blockquote>
   <h2>PyO3 0.21.1</h2>
   <p>This release is a set of touch-ups to PyO3 0.21 to fix cases found as 
adoption of PyO3 0.21.0 progressed.</p>
   <p>The new <code>PyBackedStr</code> and <code>PyBackedBytes</code> types 
have had a large range of standard traits implemented, including 
<code>Clone</code>, <code>PartialEq</code>, <code>Hash</code>, 
<code>PartialOrd</code>, <code>Display</code>, <code>Debug</code>, 
<code>Send</code> and <code>Sync</code>.</p>
   <p>The argument to a <code>#[setter]</code> function now accepts the full 
range of input types as any other function argument in a 
<code>#[pymethods]</code> block, and will now correctly handle a 
<code>#[pyo3(from_py_with = &quot;...&quot;)]</code> annotation.</p>
   <p>Some procedural macro output has been adjusted to reuse more code and 
make it easier to reach complete code coverage in projects using PyO3. The 
<code>import_exception_bound!</code> macro has been added to further assist 
with coverage during migration, by skipping generating code which is only 
needed to use the exception as a GIL Ref.</p>
   <p>Finally, the <code>experimental-async</code> feature now correctly 
handles <code>async fn</code> in <code>#[pymethods]</code> which have a 
<code>&amp;self</code> or <code>&amp;mut self</code> receiver plus additional 
arguments.</p>
   <p>Thank you to the following users for the improvements:</p>
   <p><a href="https://github.com/alex";><code>@​alex</code></a>
   <a href="https://github.com/davidhewitt";><code>@​davidhewitt</code></a>
   <a href="https://github.com/geo7";><code>@​geo7</code></a>
   <a href="https://github.com/Icxolu";><code>@​Icxolu</code></a>
   <a href="https://github.com/reswqa";><code>@​reswqa</code></a>
   <a href="https://github.com/rikushoney";><code>@​rikushoney</code></a>
   <a href="https://github.com/tisonkun";><code>@​tisonkun</code></a></p>
   <h2>PyO3 0.21.0</h2>
   <p>This release introduces a substantial new direction for PyO3's API. The 
<code>Bound&lt;'py, T&gt;</code> smart pointer type has been added that 
replaces &quot;GIL Refs&quot; such as <code>&amp;'py PyAny</code> and 
<code>&amp;'py PyList</code> with smart-pointer forms <code>Bound&lt;'py, 
PyAny&gt;</code> and <code>Bound&lt;'py, PyList&gt;</code>. This new smart 
pointer brings ownership out of PyO3's internals and into user control. This 
has been done for sake of both performance and soundness.</p>
   <p>The <a href="https://pyo3.rs/v0.21.0/migration.html";>migration guide</a> 
extensively details the intended transition to the new API. To allow users a 
more graceful upgrade path, PyO3 0.21 and 0.22 will maintain backwards 
compatibility support for the existing &quot;GIL Refs&quot; API.</p>
   <p>As well as the Bound API, highlights of PyO3 0.21 include:</p>
   <ul>
   <li>Support for compiling for GraalPy</li>
   <li>Extended <code>chrono</code> / datetime conversions, including support 
for the <code>abi3</code> feature and the <code>chrono-tz</code> crate</li>
   <li>Simplifications to <code>__next__</code> and <code>__anext__</code> 
methods</li>
   </ul>
   <p>PyO3 0.21 also includes two new experimental features:</p>
   <ul>
   <li><code>experimental-async</code> for a simple <code>async fn</code> 
integration between Rust and Python.</li>
   <li><code>experimental-declarative-modules</code> for a new simpler 
<code>#[pymodule]</code> syntax.</li>
   </ul>
   <p>There have been numerous other smaller improvements, changes and fixes. 
For full details see the <a 
href="https://pyo3.rs/v0.21.0/changelog.html";>CHANGELOG</a>.</p>
   <p>Please consult the <a 
href="https://pyo3.rs/v0.21.0/migration.html";>migration guide</a> for help 
upgrading.</p>
   <p>Thank you to everyone who contributed code, documentation, design ideas, 
bug reports, and feedback. The following users' commits are included in this 
release:</p>
   <p><a href="https://github.com/acceptacross";><code>@​acceptacross</code></a>
   <a href="https://github.com/adamreichold";><code>@​adamreichold</code></a>
   <a href="https://github.com/aldanor";><code>@​aldanor</code></a>
   <a href="https://github.com/alex";><code>@​alex</code></a>
   <a href="https://github.com/alonme";><code>@​alonme</code></a>
   <a href="https://github.com/alxhill";><code>@​alxhill</code></a>
   <a href="https://github.com/birkenfeld";><code>@​birkenfeld</code></a>
   <a href="https://github.com/btel";><code>@​btel</code></a>
   <a href="https://github.com/daemontus";><code>@​daemontus</code></a></p>
   <!-- raw HTML omitted -->
   </blockquote>
   <p>... (truncated)</p>
   </details>
   <details>
   <summary>Changelog</summary>
   <p><em>Sourced from <a 
href="https://github.com/PyO3/pyo3/blob/main/CHANGELOG.md";>pyo3-build-config's 
changelog</a>.</em></p>
   <blockquote>
   <h2>[0.21.1] - 2024-04-01</h2>
   <h3>Added</h3>
   <ul>
   <li>Implement <code>Send</code> and <code>Sync</code> for 
<code>PyBackedStr</code> and <code>PyBackedBytes</code>. <a 
href="https://redirect.github.com/PyO3/pyo3/pull/4007";>#4007</a></li>
   <li>Implement <code>Clone</code>, <code>Debug</code>, 
<code>PartialEq</code>, <code>Eq</code>, <code>PartialOrd</code>, 
<code>Ord</code> and <code>Hash</code> implementation for 
<code>PyBackedBytes</code> and <code>PyBackedStr</code>, and 
<code>Display</code> for <code>PyBackedStr</code>. <a 
href="https://redirect.github.com/PyO3/pyo3/pull/4020";>#4020</a></li>
   <li>Add <code>import_exception_bound!</code> macro to import exception types 
without generating GIL Ref functionality for them. <a 
href="https://redirect.github.com/PyO3/pyo3/pull/4027";>#4027</a></li>
   </ul>
   <h3>Changed</h3>
   <ul>
   <li>Emit deprecation warning for uses of GIL Refs as <code>#[setter]</code> 
function arguments. <a 
href="https://redirect.github.com/PyO3/pyo3/pull/3998";>#3998</a></li>
   <li>Add <code>#[inline]</code> hints on many <code>Bound</code> and 
<code>Borrowed</code> methods. <a 
href="https://redirect.github.com/PyO3/pyo3/pull/4024";>#4024</a></li>
   </ul>
   <h3>Fixed</h3>
   <ul>
   <li>Handle <code>#[pyo3(from_py_with = &quot;&quot;)]</code> in 
<code>#[setter]</code> methods <a 
href="https://redirect.github.com/PyO3/pyo3/pull/3995";>#3995</a></li>
   <li>Allow extraction of <code>&amp;Bound</code> in <code>#[setter]</code> 
methods. <a 
href="https://redirect.github.com/PyO3/pyo3/pull/3998";>#3998</a></li>
   <li>Fix some uncovered code blocks emitted by <code>#[pymodule]</code>, 
<code>#[pyfunction]</code> and <code>#[pyclass]</code> macros. <a 
href="https://redirect.github.com/PyO3/pyo3/pull/4009";>#4009</a></li>
   <li>Fix typo in the panic message when a class referenced in 
<code>pyo3::import_exception!</code> does not exist. <a 
href="https://redirect.github.com/PyO3/pyo3/pull/4012";>#4012</a></li>
   <li>Fix compile error when using an async <code>#[pymethod]</code> with a 
receiver and additional arguments. <a 
href="https://redirect.github.com/PyO3/pyo3/pull/4015";>#4015</a></li>
   </ul>
   <h2>[0.21.0] - 2024-03-25</h2>
   <h3>Added</h3>
   <ul>
   <li>Add support for GraalPy (24.0 and up). <a 
href="https://redirect.github.com/PyO3/pyo3/pull/3247";>#3247</a></li>
   <li>Add <code>PyMemoryView</code> type. <a 
href="https://redirect.github.com/PyO3/pyo3/pull/3514";>#3514</a></li>
   <li>Allow <code>async fn</code> in for <code>#[pyfunction]</code> and 
<code>#[pymethods]</code>, with the <code>experimental-async</code> feature. <a 
href="https://redirect.github.com/PyO3/pyo3/pull/3540";>#3540</a> <a 
href="https://redirect.github.com/PyO3/pyo3/pull/3588";>#3588</a> <a 
href="https://redirect.github.com/PyO3/pyo3/pull/3599";>#3599</a> <a 
href="https://redirect.github.com/PyO3/pyo3/pull/3931";>#3931</a></li>
   <li>Implement <code>PyTypeInfo</code> for <code>PyEllipsis</code>, 
<code>PyNone</code> and <code>PyNotImplemented</code>. <a 
href="https://redirect.github.com/PyO3/pyo3/pull/3577";>#3577</a></li>
   <li>Support <code>#[pyclass]</code> on enums that have non-unit variants. <a 
href="https://redirect.github.com/PyO3/pyo3/pull/3582";>#3582</a></li>
   <li>Support <code>chrono</code> feature with <code>abi3</code> feature. <a 
href="https://redirect.github.com/PyO3/pyo3/pull/3664";>#3664</a></li>
   <li><code>FromPyObject</code>, <code>IntoPy&lt;PyObject&gt;</code> and 
<code>ToPyObject</code> are implemented on <code>std::duration::Duration</code> 
<a href="https://redirect.github.com/PyO3/pyo3/pull/3670";>#3670</a></li>
   <li>Add <code>PyString::to_cow</code>. Add 
<code>Py&lt;PyString&gt;::to_str</code>, 
<code>Py&lt;PyString&gt;::to_cow</code>, and 
<code>Py&lt;PyString&gt;::to_string_lossy</code>, as ways to access Python 
string data safely beyond the GIL lifetime. <a 
href="https://redirect.github.com/PyO3/pyo3/pull/3677";>#3677</a></li>
   <li>Add <code>Bound&lt;T&gt;</code> and <code>Borrowed&lt;T&gt;</code> smart 
pointers as a new API for accessing Python objects. <a 
href="https://redirect.github.com/PyO3/pyo3/pull/3686";>#3686</a></li>
   <li>Add <code>PyNativeType::as_borrowed</code> to convert &quot;GIL 
refs&quot; to the new <code>Bound</code> smart pointer. <a 
href="https://redirect.github.com/PyO3/pyo3/pull/3692";>#3692</a></li>
   <li>Add <code>FromPyObject::extract_bound</code> method, to migrate 
<code>FromPyObject</code> implementations to the Bound API. <a 
href="https://redirect.github.com/PyO3/pyo3/pull/3706";>#3706</a></li>
   <li>Add <code>gil-refs</code> feature to allow continued use of the 
deprecated GIL Refs APIs. <a 
href="https://redirect.github.com/PyO3/pyo3/pull/3707";>#3707</a></li>
   <li>Add methods to <code>PyAnyMethods</code> for binary operators 
(<code>add</code>, <code>sub</code>, etc.) <a 
href="https://redirect.github.com/PyO3/pyo3/pull/3712";>#3712</a></li>
   <li>Add <code>chrono-tz</code> feature allowing conversion between 
<code>chrono_tz::Tz</code> and <code>zoneinfo.ZoneInfo</code> <a 
href="https://redirect.github.com/PyO3/pyo3/pull/3730";>#3730</a></li>
   <li>Add FFI definition <code>PyType_GetModuleByDef</code>. <a 
href="https://redirect.github.com/PyO3/pyo3/pull/3734";>#3734</a></li>
   <li>Conversion between <code>std::time::SystemTime</code> and 
<code>datetime.datetime</code> <a 
href="https://redirect.github.com/PyO3/pyo3/pull/3736";>#3736</a></li>
   <li>Add <code>Py::as_any</code> and <code>Py::into_any</code>. <a 
href="https://redirect.github.com/PyO3/pyo3/pull/3785";>#3785</a></li>
   <li>Add <code>PyStringMethods::encode_utf8</code>. <a 
href="https://redirect.github.com/PyO3/pyo3/pull/3801";>#3801</a></li>
   <li>Add <code>PyBackedStr</code> and <code>PyBackedBytes</code>, as 
alternatives to <code>&amp;str</code> and <code>&amp;bytes</code> where a 
Python object owns the data. <a 
href="https://redirect.github.com/PyO3/pyo3/pull/3802";>#3802</a> <a 
href="https://redirect.github.com/PyO3/pyo3/pull/3991";>#3991</a></li>
   <li>Allow <code>#[pymodule]</code> macro on Rust <code>mod</code> blocks, 
with the <code>experimental-declarative-modules</code> feature. <a 
href="https://redirect.github.com/PyO3/pyo3/pull/3815";>#3815</a></li>
   <li>Implement <code>ExactSizeIterator</code> for <code>set</code> and 
<code>frozenset</code> iterators on <code>abi3</code> feature. <a 
href="https://redirect.github.com/PyO3/pyo3/pull/3849";>#3849</a></li>
   <li>Add <code>Py::drop_ref</code> to explicitly drop a `Py`` and immediately 
decrease the Python reference count if the GIL is already held. <a 
href="https://redirect.github.com/PyO3/pyo3/pull/3871";>#3871</a></li>
   <li>Allow <code>#[pymodule]</code> macro on single argument functions that 
take <code>&amp;Bound&lt;'_, PyModule&gt;</code>. <a 
href="https://redirect.github.com/PyO3/pyo3/pull/3905";>#3905</a></li>
   <li>Implement <code>FromPyObject</code> for <code>Cow&lt;str&gt;</code>. <a 
href="https://redirect.github.com/PyO3/pyo3/pull/3928";>#3928</a></li>
   </ul>
   <!-- raw HTML omitted -->
   </blockquote>
   <p>... (truncated)</p>
   </details>
   <details>
   <summary>Commits</summary>
   <ul>
   <li><a 
href="https://github.com/PyO3/pyo3/commit/4168d0585accd94d13ffe6480c540c721de4d3e4";><code>4168d05</code></a>
 release: 0.21.1</li>
   <li><a 
href="https://github.com/PyO3/pyo3/commit/8cabd2619c349ffede8e141c09e540c0c83adb79";><code>8cabd26</code></a>
 docs: updates to guide for PyO3 0.21 feedback (<a 
href="https://redirect.github.com/pyo3/pyo3/issues/4031";>#4031</a>)</li>
   <li><a 
href="https://github.com/PyO3/pyo3/commit/8f87b8636df73ef7d1690bd848389382280aa335";><code>8f87b86</code></a>
 refactor <code>#[setter]</code> argument extraction (<a 
href="https://redirect.github.com/pyo3/pyo3/issues/4002";>#4002</a>)</li>
   <li><a 
href="https://github.com/PyO3/pyo3/commit/63ba371db021985e01818694cc0987ee213fd4b9";><code>63ba371</code></a>
 added various std traits for <code>PyBackedStr</code> and 
<code>PyBackedBytes</code> (<a 
href="https://redirect.github.com/pyo3/pyo3/issues/4020";>#4020</a>)</li>
   <li><a 
href="https://github.com/PyO3/pyo3/commit/336b1c982b081aff45468ac64eac374cd79f3683";><code>336b1c9</code></a>
 add <code>import_exception_bound!</code> macro (<a 
href="https://redirect.github.com/pyo3/pyo3/issues/4027";>#4027</a>)</li>
   <li><a 
href="https://github.com/PyO3/pyo3/commit/3af9a1f4e06216ad7b14a401d3cfcdc66eed12d7";><code>3af9a1f</code></a>
 docs: fix example in types.md (<a 
href="https://redirect.github.com/pyo3/pyo3/issues/4028";>#4028</a>)</li>
   <li><a 
href="https://github.com/PyO3/pyo3/commit/cff4aa3cc81aa14cfee3fa45c0faea191f38be7e";><code>cff4aa3</code></a>
 ci: defer test-debug to the merge queue (<a 
href="https://redirect.github.com/pyo3/pyo3/issues/4023";>#4023</a>)</li>
   <li><a 
href="https://github.com/PyO3/pyo3/commit/9d932c1061c06000c9424c6542f7c3f266d32836";><code>9d932c1</code></a>
 add <code>#[inline]</code> hints on many <code>Bound</code> and 
<code>Borrowed</code> methods (<a 
href="https://redirect.github.com/pyo3/pyo3/issues/4024";>#4024</a>)</li>
   <li><a 
href="https://github.com/PyO3/pyo3/commit/22e8dd10e1667c46c258c56a7aeb8ecf2e4fad30";><code>22e8dd1</code></a>
 add benchmark for class / method calls (<a 
href="https://redirect.github.com/pyo3/pyo3/issues/4016";>#4016</a>)</li>
   <li><a 
href="https://github.com/PyO3/pyo3/commit/74d9d23ba0d6d0866650bc105e9611bc8ca6d03b";><code>74d9d23</code></a>
 async method should allow args not only receiver (<a 
href="https://redirect.github.com/pyo3/pyo3/issues/4015";>#4015</a>)</li>
   <li>Additional commits viewable in <a 
href="https://github.com/pyo3/pyo3/compare/v0.20.2...v0.21.1";>compare 
view</a></li>
   </ul>
   </details>
   <br />
   
   
   [![Dependabot compatibility 
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pyo3-build-config&package-manager=cargo&previous-version=0.20.2&new-version=0.21.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>


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

To unsubscribe, e-mail: [email protected]

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

Reply via email to