This is an automated email from the ASF dual-hosted git repository.
github-bot pushed a commit to branch asf-staging
in repository https://gitbox.apache.org/repos/asf/datafusion-python.git
The following commit(s) were added to refs/heads/asf-staging by this push:
new 9fbef8e9 Publish built docs triggered by
8ef2cd75d984758b3ae2db43629666da1a7bee19
9fbef8e9 is described below
commit 9fbef8e9552e44c0d8c324d2281b99353cab1492
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
AuthorDate: Fri Mar 6 16:50:09 2026 +0000
Publish built docs triggered by 8ef2cd75d984758b3ae2db43629666da1a7bee19
---
.../autoapi/datafusion/dataframe/index.rst.txt | 13 +++---
_sources/contributor-guide/ffi.rst.txt | 13 +++---
_sources/user-guide/upgrade-guides.rst.txt | 21 ++++++++++
autoapi/datafusion/dataframe/index.html | 18 ++++-----
contributor-guide/ffi.html | 13 +++---
searchindex.js | 2 +-
user-guide/common-operations/aggregations.html | 42 ++++++++++----------
user-guide/common-operations/basic-info.html | 46 +++++++++++-----------
user-guide/common-operations/functions.html | 20 +++++-----
user-guide/upgrade-guides.html | 21 ++++++++++
10 files changed, 126 insertions(+), 83 deletions(-)
diff --git a/_sources/autoapi/datafusion/dataframe/index.rst.txt
b/_sources/autoapi/datafusion/dataframe/index.rst.txt
index 70fa48ce..2214f392 100644
--- a/_sources/autoapi/datafusion/dataframe/index.rst.txt
+++ b/_sources/autoapi/datafusion/dataframe/index.rst.txt
@@ -285,19 +285,16 @@ Module Contents
Drop arbitrary amount of columns.
- Column names are case-sensitive and do not require double quotes like
- other operations such as `select`. Leading and trailing double quotes
- are allowed and will be automatically stripped if present.
+ Column names are case-sensitive and require double quotes to be dropped
+ if the original name is not strictly lower case.
- :param columns: Column names to drop from the dataframe. Both
``column_name``
- and ``"column_name"`` are accepted.
+ :param columns: Column names to drop from the dataframe.
:returns: DataFrame with those columns removed in the projection.
Example Usage::
-
- df.drop('ID_For_Students') # Works
- df.drop('"ID_For_Students"') # Also works (quotes stripped)
+ df.drop('a') # To drop a lower-cased column 'a'
+ df.drop('"a"') # To drop an upper-cased column 'A'
diff --git a/_sources/contributor-guide/ffi.rst.txt
b/_sources/contributor-guide/ffi.rst.txt
index 5006b0ca..e0158e0a 100644
--- a/_sources/contributor-guide/ffi.rst.txt
+++ b/_sources/contributor-guide/ffi.rst.txt
@@ -156,7 +156,7 @@ instead of mutating the container directly:
.. code-block:: rust
- #[pyclass(name = "Config", module = "datafusion", subclass, frozen)]
+ #[pyclass(from_py_object, name = "Config", module = "datafusion",
subclass, frozen)]
#[derive(Clone)]
pub(crate) struct PyConfig {
config: Arc<RwLock<ConfigOptions>>,
@@ -170,7 +170,7 @@ existing instance in place:
.. code-block:: rust
- #[pyclass(frozen, name = "SessionContext", module = "datafusion",
subclass)]
+ #[pyclass(from_py_object, frozen, name = "SessionContext", module =
"datafusion", subclass)]
#[derive(Clone)]
pub struct PySessionContext {
pub ctx: SessionContext,
@@ -186,7 +186,7 @@ field updates:
// TODO: This looks like this needs pyo3 tracking so leaving unfrozen for
now
#[derive(Debug, Clone)]
- #[pyclass(name = "DataTypeMap", module = "datafusion.common", subclass)]
+ #[pyclass(from_py_object, name = "DataTypeMap", module =
"datafusion.common", subclass)]
pub struct DataTypeMap {
#[pyo3(get, set)]
pub arrow_type: PyDataType,
@@ -232,8 +232,11 @@ can then be turned into a ``ForeignTableProvider`` the
associated code is:
.. code-block:: rust
- let capsule = capsule.downcast::<PyCapsule>()?;
- let provider = unsafe { capsule.reference::<FFI_TableProvider>() };
+ let capsule = capsule.cast::<PyCapsule>()?;
+ let data: NonNull<FFI_TableProvider> = capsule
+ .pointer_checked(Some(name))?
+ .cast();
+ let codec = unsafe { data.as_ref() };
By convention the ``datafusion-python`` library expects a Python object that
has a
``TableProvider`` PyCapsule to have this capsule accessible by calling a
function named
diff --git a/_sources/user-guide/upgrade-guides.rst.txt
b/_sources/user-guide/upgrade-guides.rst.txt
index a77f6077..e3d7c2d8 100644
--- a/_sources/user-guide/upgrade-guides.rst.txt
+++ b/_sources/user-guide/upgrade-guides.rst.txt
@@ -18,6 +18,27 @@
Upgrade Guides
==============
+DataFusion 53.0.0
+-----------------
+
+This version includes an upgraded version of ``pyo3``, which changed the way
to extract an FFI
+object. Example:
+
+Before:
+
+.. code-block:: rust
+
+ let codec = unsafe { capsule.reference::<FFI_LogicalExtensionCodec>() };
+
+Now:
+
+.. code-block:: rust
+
+ let data: NonNull<FFI_LogicalExtensionCodec> = capsule
+ .pointer_checked(Some(c_str!("datafusion_logical_extension_codec")))?
+ .cast();
+ let codec = unsafe { data.as_ref() };
+
DataFusion 52.0.0
-----------------
diff --git a/autoapi/datafusion/dataframe/index.html
b/autoapi/datafusion/dataframe/index.html
index e534ec29..6128ae4e 100644
--- a/autoapi/datafusion/dataframe/index.html
+++ b/autoapi/datafusion/dataframe/index.html
@@ -1732,23 +1732,21 @@ for non-numeric datatypes.</p>
<dt class="sig sig-object py" id="datafusion.dataframe.DataFrame.drop">
<span class="sig-name descname"><span class="pre">drop</span></span><span
class="sig-paren">(</span><em class="sig-param"><span class="o"><span
class="pre">*</span></span><span class="n"><span
class="pre">columns</span></span><span class="p"><span
class="pre">:</span></span><span class="w"> </span><span class="n"><span
class="pre">str</span></span></em><span class="sig-paren">)</span> <span
class="sig-return"><span class="sig-return-icon">→</span> <span
class="sig-return-typehint" [...]
<dd><p>Drop arbitrary amount of columns.</p>
-<p>Column names are case-sensitive and do not require double quotes like
-other operations such as <cite>select</cite>. Leading and trailing double
quotes
-are allowed and will be automatically stripped if present.</p>
+<p>Column names are case-sensitive and require double quotes to be dropped
+if the original name is not strictly lower case.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
-<dd class="field-odd"><p><strong>columns</strong> – Column names to drop from
the dataframe. Both <code class="docutils literal notranslate"><span
class="pre">column_name</span></code>
-and <code class="docutils literal notranslate"><span
class="pre">"column_name"</span></code> are accepted.</p>
+<dd class="field-odd"><p><strong>columns</strong> – Column names to drop from
the dataframe.</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>DataFrame with those columns removed in the
projection.</p>
</dd>
</dl>
-<p>Example Usage:</p>
-<div class="highlight-default notranslate"><div
class="highlight"><pre><span></span><span class="n">df</span><span
class="o">.</span><span class="n">drop</span><span class="p">(</span><span
class="s1">'ID_For_Students'</span><span class="p">)</span> <span
class="c1"># Works</span>
-<span class="n">df</span><span class="o">.</span><span
class="n">drop</span><span class="p">(</span><span
class="s1">'"ID_For_Students"'</span><span class="p">)</span>
<span class="c1"># Also works (quotes stripped)</span>
-</pre></div>
-</div>
+<dl class="simple">
+<dt>Example Usage::</dt><dd><p>df.drop(‘a’) # To drop a
lower-cased column ‘a’
+df.drop(‘“a”’) # To drop an upper-cased column ‘A’</p>
+</dd>
+</dl>
</dd></dl>
<dl class="py method">
diff --git a/contributor-guide/ffi.html b/contributor-guide/ffi.html
index e48533bb..9e30a4da 100644
--- a/contributor-guide/ffi.html
+++ b/contributor-guide/ffi.html
@@ -586,7 +586,7 @@ unless there is a compelling reason not to.</p>
<code class="docutils literal notranslate"><span
class="pre">PyConfig</span></code> class in <code class="file docutils literal
notranslate"><span class="pre">src/config.rs</span></code> stores an <code
class="docutils literal notranslate"><span
class="pre">Arc<RwLock<ConfigOptions>></span></code> and is
explicitly frozen so callers interact with configuration state through
provided methods
instead of mutating the container directly:</p>
-<div class="highlight-rust notranslate"><div
class="highlight"><pre><span></span><span class="cp">#[pyclass(name =
</span><span class="s">"Config"</span><span class="cp">, module =
</span><span class="s">"datafusion"</span><span class="cp">,
subclass, frozen)]</span>
+<div class="highlight-rust notranslate"><div
class="highlight"><pre><span></span><span class="cp">#[pyclass(from_py_object,
name = </span><span class="s">"Config"</span><span class="cp">,
module = </span><span class="s">"datafusion"</span><span class="cp">,
subclass, frozen)]</span>
<span class="cp">#[derive(Clone)]</span>
<span class="k">pub</span><span class="p">(</span><span
class="k">crate</span><span class="p">)</span><span class="w"> </span><span
class="k">struct</span><span class="w"> </span><span
class="nc">PyConfig</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">config</span><span
class="p">:</span><span class="w"> </span><span class="nc">Arc</span><span
class="o"><</span><span class="n">RwLock</span><span
class="o"><</span><span class="n">ConfigOptions</span><span
class="o">>></span><span class="p">,</span>
@@ -598,7 +598,7 @@ instead of mutating the container directly:</p>
<code class="docutils literal notranslate"><span
class="pre">SessionContext</span></code>. This ensures PyO3 tracks borrows
correctly while Python-facing APIs
clone the inner <code class="docutils literal notranslate"><span
class="pre">SessionContext</span></code> or return new wrappers instead of
mutating the
existing instance in place:</p>
-<div class="highlight-rust notranslate"><div
class="highlight"><pre><span></span><span class="cp">#[pyclass(frozen, name =
</span><span class="s">"SessionContext"</span><span class="cp">,
module = </span><span class="s">"datafusion"</span><span class="cp">,
subclass)]</span>
+<div class="highlight-rust notranslate"><div
class="highlight"><pre><span></span><span class="cp">#[pyclass(from_py_object,
frozen, name = </span><span class="s">"SessionContext"</span><span
class="cp">, module = </span><span class="s">"datafusion"</span><span
class="cp">, subclass)]</span>
<span class="cp">#[derive(Clone)]</span>
<span class="k">pub</span><span class="w"> </span><span
class="k">struct</span><span class="w"> </span><span
class="nc">PySessionContext</span><span class="w"> </span><span
class="p">{</span>
<span class="w"> </span><span class="k">pub</span><span class="w">
</span><span class="n">ctx</span><span class="p">:</span><span class="w">
</span><span class="nc">SessionContext</span><span class="p">,</span>
@@ -612,7 +612,7 @@ future contributors understand why <code class="docutils
literal notranslate"><s
field updates:</p>
<div class="highlight-rust notranslate"><div
class="highlight"><pre><span></span><span class="c1">// TODO: This looks like
this needs pyo3 tracking so leaving unfrozen for now</span>
<span class="cp">#[derive(Debug, Clone)]</span>
-<span class="cp">#[pyclass(name = </span><span
class="s">"DataTypeMap"</span><span class="cp">, module =
</span><span class="s">"datafusion.common"</span><span class="cp">,
subclass)]</span>
+<span class="cp">#[pyclass(from_py_object, name = </span><span
class="s">"DataTypeMap"</span><span class="cp">, module =
</span><span class="s">"datafusion.common"</span><span class="cp">,
subclass)]</span>
<span class="k">pub</span><span class="w"> </span><span
class="k">struct</span><span class="w"> </span><span
class="nc">DataTypeMap</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="cp">#[pyo3(get, set)]</span>
<span class="w"> </span><span class="k">pub</span><span class="w">
</span><span class="n">arrow_type</span><span class="p">:</span><span
class="w"> </span><span class="nc">PyDataType</span><span class="p">,</span>
@@ -650,8 +650,11 @@ for our provider thusly:</p>
</div>
<p>On the receiving side, turn this pycapsule object into the <code
class="docutils literal notranslate"><span
class="pre">FFI_TableProvider</span></code>, which
can then be turned into a <code class="docutils literal notranslate"><span
class="pre">ForeignTableProvider</span></code> the associated code is:</p>
-<div class="highlight-rust notranslate"><div
class="highlight"><pre><span></span><span class="kd">let</span><span class="w">
</span><span class="n">capsule</span><span class="w"> </span><span
class="o">=</span><span class="w"> </span><span class="n">capsule</span><span
class="p">.</span><span class="n">downcast</span><span class="p">::</span><span
class="o"><</span><span class="n">PyCapsule</span><span
class="o">></span><span class="p">()</span><span class="o">?</span><span
class=" [...]
-<span class="kd">let</span><span class="w"> </span><span
class="n">provider</span><span class="w"> </span><span class="o">=</span><span
class="w"> </span><span class="k">unsafe</span><span class="w"> </span><span
class="p">{</span><span class="w"> </span><span class="n">capsule</span><span
class="p">.</span><span class="n">reference</span><span
class="p">::</span><span class="o"><</span><span
class="n">FFI_TableProvider</span><span class="o">></span><span
class="p">()</span><span c [...]
+<div class="highlight-rust notranslate"><div
class="highlight"><pre><span></span><span class="kd">let</span><span class="w">
</span><span class="n">capsule</span><span class="w"> </span><span
class="o">=</span><span class="w"> </span><span class="n">capsule</span><span
class="p">.</span><span class="n">cast</span><span class="p">::</span><span
class="o"><</span><span class="n">PyCapsule</span><span
class="o">></span><span class="p">()</span><span class="o">?</span><span
class="p">;</span>
+<span class="kd">let</span><span class="w"> </span><span
class="n">data</span><span class="p">:</span><span class="w"> </span><span
class="nc">NonNull</span><span class="o"><</span><span
class="n">FFI_TableProvider</span><span class="o">></span><span class="w">
</span><span class="o">=</span><span class="w"> </span><span
class="n">capsule</span>
+<span class="w"> </span><span class="p">.</span><span
class="n">pointer_checked</span><span class="p">(</span><span
class="nb">Some</span><span class="p">(</span><span class="n">name</span><span
class="p">))</span><span class="o">?</span>
+<span class="w"> </span><span class="p">.</span><span
class="n">cast</span><span class="p">();</span>
+<span class="kd">let</span><span class="w"> </span><span
class="n">codec</span><span class="w"> </span><span class="o">=</span><span
class="w"> </span><span class="k">unsafe</span><span class="w"> </span><span
class="p">{</span><span class="w"> </span><span class="n">data</span><span
class="p">.</span><span class="n">as_ref</span><span class="p">()</span><span
class="w"> </span><span class="p">};</span>
</pre></div>
</div>
<p>By convention the <code class="docutils literal notranslate"><span
class="pre">datafusion-python</span></code> library expects a Python object
that has a
diff --git a/searchindex.js b/searchindex.js
index 255f14f7..d99fe887 100644
--- a/searchindex.js
+++ b/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"alltitles": {"API Reference": [[19, null]], "Additional
Resources": [[37, "additional-resources"]], "Aggregate Functions": [[24,
"aggregate-functions"], [31, "aggregate-functions"], [33,
"aggregate-functions"]], "Aggregation": [[24, null]], "Alternative Approach":
[[20, "alternative-approach"]], "Apache Iceberg": [[35, "apache-iceberg"]],
"Arrays": [[26, "arrays"]], "Arrow": [[39, null]], "Attributes": [[4,
"attributes"], [7, "attributes"], [12, "attributes"], [18, "att [...]
\ No newline at end of file
+Search.setIndex({"alltitles": {"API Reference": [[19, null]], "Additional
Resources": [[37, "additional-resources"]], "Aggregate Functions": [[24,
"aggregate-functions"], [31, "aggregate-functions"], [33,
"aggregate-functions"]], "Aggregation": [[24, null]], "Alternative Approach":
[[20, "alternative-approach"]], "Apache Iceberg": [[35, "apache-iceberg"]],
"Arrays": [[26, "arrays"]], "Arrow": [[39, null]], "Attributes": [[4,
"attributes"], [7, "attributes"], [12, "attributes"], [18, "att [...]
\ No newline at end of file
diff --git a/user-guide/common-operations/aggregations.html
b/user-guide/common-operations/aggregations.html
index f304555a..9adefbaa 100644
--- a/user-guide/common-operations/aggregations.html
+++ b/user-guide/common-operations/aggregations.html
@@ -620,16 +620,16 @@ Pokemon set. Since there will be many entries of <code
class="docutils literal n
<span
class="o">+----------+--------------------------------------------------+</span>
<span class="o">|</span> <span class="n">Type</span> <span class="mi">1</span>
<span class="o">|</span> <span class="n">Type</span> <span
class="mi">2</span> <span class="n">List</span>
<span class="o">|</span>
<span
class="o">+----------+--------------------------------------------------+</span>
-<span class="o">|</span> <span class="n">Bug</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Flying</span><span
class="p">,</span> <span class="n">Grass</span><span class="p">,</span> <span
class="p">,</span> <span class="n">Poison</span><span class="p">]</span>
<span class="o">|</span>
-<span class="o">|</span> <span class="n">Poison</span> <span
class="o">|</span> <span class="p">[,</span> <span class="n">Ground</span><span
class="p">,</span> <span class="n">Flying</span><span class="p">]</span>
<span class="o">|</span>
-<span class="o">|</span> <span class="n">Electric</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Flying</span><span
class="p">,</span> <span class="n">Steel</span><span class="p">,</span> <span
class="p">]</span> <span class="o">|</span>
+<span class="o">|</span> <span class="n">Bug</span> <span
class="o">|</span> <span class="p">[,</span> <span class="n">Flying</span><span
class="p">,</span> <span class="n">Grass</span><span class="p">,</span> <span
class="n">Poison</span><span class="p">]</span> <span
class="o">|</span>
+<span class="o">|</span> <span class="n">Poison</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Flying</span><span
class="p">,</span> <span class="p">,</span> <span class="n">Ground</span><span
class="p">]</span> <span class="o">|</span>
+<span class="o">|</span> <span class="n">Electric</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Flying</span><span
class="p">,</span> <span class="p">,</span> <span class="n">Steel</span><span
class="p">]</span> <span class="o">|</span>
<span class="o">|</span> <span class="n">Fairy</span> <span
class="o">|</span> <span class="p">[]</span>
<span class="o">|</span>
-<span class="o">|</span> <span class="n">Normal</span> <span
class="o">|</span> <span class="p">[,</span> <span class="n">Fairy</span><span
class="p">,</span> <span class="n">Flying</span><span class="p">]</span>
<span class="o">|</span>
+<span class="o">|</span> <span class="n">Normal</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Fairy</span><span
class="p">,</span> <span class="p">,</span> <span class="n">Flying</span><span
class="p">]</span> <span class="o">|</span>
<span class="o">|</span> <span class="n">Ice</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Flying</span><span
class="p">,</span> <span class="n">Psychic</span><span class="p">]</span>
<span class="o">|</span>
-<span class="o">|</span> <span class="n">Grass</span> <span
class="o">|</span> <span class="p">[,</span> <span class="n">Poison</span><span
class="p">,</span> <span class="n">Psychic</span><span class="p">]</span>
<span class="o">|</span>
-<span class="o">|</span> <span class="n">Fire</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Dragon</span><span
class="p">,</span> <span class="p">,</span> <span class="n">Flying</span><span
class="p">]</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">Water</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Poison</span><span
class="p">,</span> <span class="n">Ice</span><span class="p">,</span> <span
class="n">Fighting</span><span class="p">,</span> <span
class="n">Psychic</span><span class="p">,</span> <span
class="n">Flying</span><span class="p">,</span> <span class="p">,</span> <span
class="n">Dark</span><span class="p">]</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">Ground</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Rock</span><span
class="p">,</span> <span class="p">]</span>
<span class="o">|</span>
+<span class="o">|</span> <span class="n">Grass</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Poison</span><span
class="p">,</span> <span class="p">,</span> <span class="n">Psychic</span><span
class="p">]</span> <span class="o">|</span>
+<span class="o">|</span> <span class="n">Fire</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Dragon</span><span
class="p">,</span> <span class="n">Flying</span><span class="p">,</span> <span
class="p">]</span> <span class="o">|</span>
+<span class="o">|</span> <span class="n">Water</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Flying</span><span
class="p">,</span> <span class="n">Ice</span><span class="p">,</span> <span
class="n">Dark</span><span class="p">,</span> <span
class="n">Psychic</span><span class="p">,</span> <span
class="n">Poison</span><span class="p">,</span> <span class="p">,</span> <span
class="n">Fighting</span><span class="p">]</span> <span class="o">|</span>
+<span class="o">|</span> <span class="n">Ground</span> <span
class="o">|</span> <span class="p">[,</span> <span class="n">Rock</span><span
class="p">]</span> <span
class="o">|</span>
<span
class="o">+----------+--------------------------------------------------+</span>
<span class="n">Data</span> <span class="n">truncated</span><span
class="o">.</span>
</pre></div>
@@ -644,14 +644,14 @@ entries entirely removed. The second is we can use the
<code class="docutils lit
<span
class="o">+----------+------------------------------------------------+</span>
<span class="o">|</span> <span class="n">Type</span> <span class="mi">1</span>
<span class="o">|</span> <span class="n">Type</span> <span
class="mi">2</span> <span class="n">List</span>
<span class="o">|</span>
<span
class="o">+----------+------------------------------------------------+</span>
-<span class="o">|</span> <span class="n">Bug</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Flying</span><span
class="p">,</span> <span class="n">Grass</span><span class="p">,</span> <span
class="n">Poison</span><span class="p">]</span> <span
class="o">|</span>
-<span class="o">|</span> <span class="n">Poison</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Ground</span><span
class="p">,</span> <span class="n">Flying</span><span class="p">]</span>
<span class="o">|</span>
+<span class="o">|</span> <span class="n">Bug</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Flying</span><span
class="p">,</span> <span class="n">Poison</span><span class="p">,</span> <span
class="n">Grass</span><span class="p">]</span> <span
class="o">|</span>
+<span class="o">|</span> <span class="n">Poison</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Flying</span><span
class="p">,</span> <span class="n">Ground</span><span class="p">]</span>
<span class="o">|</span>
<span class="o">|</span> <span class="n">Electric</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Steel</span><span
class="p">,</span> <span class="n">Flying</span><span class="p">]</span>
<span class="o">|</span>
-<span class="o">|</span> <span class="n">Normal</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Flying</span><span
class="p">,</span> <span class="n">Fairy</span><span class="p">]</span>
<span class="o">|</span>
-<span class="o">|</span> <span class="n">Ice</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Flying</span><span
class="p">,</span> <span class="n">Psychic</span><span class="p">]</span>
<span class="o">|</span>
-<span class="o">|</span> <span class="n">Grass</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Poison</span><span
class="p">,</span> <span class="n">Psychic</span><span class="p">]</span>
<span class="o">|</span>
-<span class="o">|</span> <span class="n">Fire</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Flying</span><span
class="p">,</span> <span class="n">Dragon</span><span class="p">]</span>
<span class="o">|</span>
-<span class="o">|</span> <span class="n">Water</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Ice</span><span
class="p">,</span> <span class="n">Flying</span><span class="p">,</span> <span
class="n">Poison</span><span class="p">,</span> <span
class="n">Psychic</span><span class="p">,</span> <span
class="n">Fighting</span><span class="p">,</span> <span
class="n">Dark</span><span class="p">]</span> <span class="o">|</span>
+<span class="o">|</span> <span class="n">Normal</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Fairy</span><span
class="p">,</span> <span class="n">Flying</span><span class="p">]</span>
<span class="o">|</span>
+<span class="o">|</span> <span class="n">Ice</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Psychic</span><span
class="p">,</span> <span class="n">Flying</span><span class="p">]</span>
<span class="o">|</span>
+<span class="o">|</span> <span class="n">Grass</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Psychic</span><span
class="p">,</span> <span class="n">Poison</span><span class="p">]</span>
<span class="o">|</span>
+<span class="o">|</span> <span class="n">Fire</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Dragon</span><span
class="p">,</span> <span class="n">Flying</span><span class="p">]</span>
<span class="o">|</span>
+<span class="o">|</span> <span class="n">Water</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Flying</span><span
class="p">,</span> <span class="n">Fighting</span><span class="p">,</span>
<span class="n">Poison</span><span class="p">,</span> <span
class="n">Psychic</span><span class="p">,</span> <span
class="n">Ice</span><span class="p">,</span> <span class="n">Dark</span><span
class="p">]</span> <span class="o">|</span>
<span class="o">|</span> <span class="n">Rock</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Ground</span><span
class="p">,</span> <span class="n">Flying</span><span class="p">,</span> <span
class="n">Water</span><span class="p">]</span> <span
class="o">|</span>
<span class="o">|</span> <span class="n">Ghost</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Poison</span><span
class="p">]</span> <span
class="o">|</span>
<span
class="o">+----------+------------------------------------------------+</span>
@@ -663,15 +663,15 @@ entries entirely removed. The second is we can use the
<code class="docutils lit
<span
class="o">+----------+------------------------------------------------+</span>
<span class="o">|</span> <span class="n">Type</span> <span class="mi">1</span>
<span class="o">|</span> <span class="n">Type</span> <span
class="mi">2</span> <span class="n">List</span>
<span class="o">|</span>
<span
class="o">+----------+------------------------------------------------+</span>
-<span class="o">|</span> <span class="n">Bug</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Flying</span><span
class="p">,</span> <span class="n">Poison</span><span class="p">,</span> <span
class="n">Grass</span><span class="p">]</span> <span
class="o">|</span>
-<span class="o">|</span> <span class="n">Poison</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Flying</span><span
class="p">,</span> <span class="n">Ground</span><span class="p">]</span>
<span class="o">|</span>
+<span class="o">|</span> <span class="n">Bug</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Flying</span><span
class="p">,</span> <span class="n">Grass</span><span class="p">,</span> <span
class="n">Poison</span><span class="p">]</span> <span
class="o">|</span>
+<span class="o">|</span> <span class="n">Poison</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Ground</span><span
class="p">,</span> <span class="n">Flying</span><span class="p">]</span>
<span class="o">|</span>
<span class="o">|</span> <span class="n">Electric</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Flying</span><span
class="p">,</span> <span class="n">Steel</span><span class="p">]</span>
<span class="o">|</span>
<span class="o">|</span> <span class="n">Fairy</span> <span
class="o">|</span> <span
class="o">|</span>
-<span class="o">|</span> <span class="n">Normal</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Fairy</span><span
class="p">,</span> <span class="n">Flying</span><span class="p">]</span>
<span class="o">|</span>
+<span class="o">|</span> <span class="n">Normal</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Flying</span><span
class="p">,</span> <span class="n">Fairy</span><span class="p">]</span>
<span class="o">|</span>
<span class="o">|</span> <span class="n">Ice</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Psychic</span><span
class="p">,</span> <span class="n">Flying</span><span class="p">]</span>
<span class="o">|</span>
-<span class="o">|</span> <span class="n">Grass</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Poison</span><span
class="p">,</span> <span class="n">Psychic</span><span class="p">]</span>
<span class="o">|</span>
-<span class="o">|</span> <span class="n">Fire</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Flying</span><span
class="p">,</span> <span class="n">Dragon</span><span class="p">]</span>
<span class="o">|</span>
-<span class="o">|</span> <span class="n">Water</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Fighting</span><span
class="p">,</span> <span class="n">Flying</span><span class="p">,</span> <span
class="n">Psychic</span><span class="p">,</span> <span
class="n">Dark</span><span class="p">,</span> <span
class="n">Poison</span><span class="p">,</span> <span class="n">Ice</span><span
class="p">]</span> <span class="o">|</span>
+<span class="o">|</span> <span class="n">Grass</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Psychic</span><span
class="p">,</span> <span class="n">Poison</span><span class="p">]</span>
<span class="o">|</span>
+<span class="o">|</span> <span class="n">Fire</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Dragon</span><span
class="p">,</span> <span class="n">Flying</span><span class="p">]</span>
<span class="o">|</span>
+<span class="o">|</span> <span class="n">Water</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Ice</span><span
class="p">,</span> <span class="n">Flying</span><span class="p">,</span> <span
class="n">Fighting</span><span class="p">,</span> <span
class="n">Dark</span><span class="p">,</span> <span
class="n">Poison</span><span class="p">,</span> <span
class="n">Psychic</span><span class="p">]</span> <span class="o">|</span>
<span class="o">|</span> <span class="n">Ground</span> <span
class="o">|</span> <span class="p">[</span><span class="n">Rock</span><span
class="p">]</span> <span
class="o">|</span>
<span
class="o">+----------+------------------------------------------------+</span>
<span class="n">Data</span> <span class="n">truncated</span><span
class="o">.</span>
diff --git a/user-guide/common-operations/basic-info.html
b/user-guide/common-operations/basic-info.html
index 3815be9a..ac009821 100644
--- a/user-guide/common-operations/basic-info.html
+++ b/user-guide/common-operations/basic-info.html
@@ -456,11 +456,11 @@
<span class="o">+-----+---------+--------+--------+</span>
<span class="o">|</span> <span class="n">nrs</span> <span class="o">|</span>
<span class="n">names</span> <span class="o">|</span> <span
class="n">random</span> <span class="o">|</span> <span class="n">groups</span>
<span class="o">|</span>
<span class="o">+-----+---------+--------+--------+</span>
-<span class="o">|</span> <span class="mi">1</span> <span class="o">|</span>
<span class="n">python</span> <span class="o">|</span> <span
class="mi">608</span> <span class="o">|</span> <span class="n">A</span>
<span class="o">|</span>
-<span class="o">|</span> <span class="mi">2</span> <span class="o">|</span>
<span class="n">ruby</span> <span class="o">|</span> <span
class="mi">46</span> <span class="o">|</span> <span class="n">A</span>
<span class="o">|</span>
-<span class="o">|</span> <span class="mi">3</span> <span class="o">|</span>
<span class="n">java</span> <span class="o">|</span> <span
class="mi">758</span> <span class="o">|</span> <span class="n">B</span>
<span class="o">|</span>
-<span class="o">|</span> <span class="mi">4</span> <span class="o">|</span>
<span class="n">haskell</span> <span class="o">|</span> <span
class="mi">394</span> <span class="o">|</span> <span class="n">C</span>
<span class="o">|</span>
-<span class="o">|</span> <span class="mi">5</span> <span class="o">|</span>
<span class="n">go</span> <span class="o">|</span> <span
class="mi">31</span> <span class="o">|</span> <span class="n">B</span>
<span class="o">|</span>
+<span class="o">|</span> <span class="mi">1</span> <span class="o">|</span>
<span class="n">python</span> <span class="o">|</span> <span
class="mi">448</span> <span class="o">|</span> <span class="n">A</span>
<span class="o">|</span>
+<span class="o">|</span> <span class="mi">2</span> <span class="o">|</span>
<span class="n">ruby</span> <span class="o">|</span> <span
class="mi">706</span> <span class="o">|</span> <span class="n">A</span>
<span class="o">|</span>
+<span class="o">|</span> <span class="mi">3</span> <span class="o">|</span>
<span class="n">java</span> <span class="o">|</span> <span
class="mi">539</span> <span class="o">|</span> <span class="n">B</span>
<span class="o">|</span>
+<span class="o">|</span> <span class="mi">4</span> <span class="o">|</span>
<span class="n">haskell</span> <span class="o">|</span> <span
class="mi">924</span> <span class="o">|</span> <span class="n">C</span>
<span class="o">|</span>
+<span class="o">|</span> <span class="mi">5</span> <span class="o">|</span>
<span class="n">go</span> <span class="o">|</span> <span
class="mi">177</span> <span class="o">|</span> <span class="n">B</span>
<span class="o">|</span>
<span class="o">+-----+---------+--------+--------+</span>
</pre></div>
</div>
@@ -471,8 +471,8 @@
<span class="o">+-----+--------+--------+--------+</span>
<span class="o">|</span> <span class="n">nrs</span> <span class="o">|</span>
<span class="n">names</span> <span class="o">|</span> <span
class="n">random</span> <span class="o">|</span> <span class="n">groups</span>
<span class="o">|</span>
<span class="o">+-----+--------+--------+--------+</span>
-<span class="o">|</span> <span class="mi">1</span> <span class="o">|</span>
<span class="n">python</span> <span class="o">|</span> <span
class="mi">608</span> <span class="o">|</span> <span class="n">A</span>
<span class="o">|</span>
-<span class="o">|</span> <span class="mi">2</span> <span class="o">|</span>
<span class="n">ruby</span> <span class="o">|</span> <span
class="mi">46</span> <span class="o">|</span> <span class="n">A</span>
<span class="o">|</span>
+<span class="o">|</span> <span class="mi">1</span> <span class="o">|</span>
<span class="n">python</span> <span class="o">|</span> <span
class="mi">448</span> <span class="o">|</span> <span class="n">A</span>
<span class="o">|</span>
+<span class="o">|</span> <span class="mi">2</span> <span class="o">|</span>
<span class="n">ruby</span> <span class="o">|</span> <span
class="mi">706</span> <span class="o">|</span> <span class="n">A</span>
<span class="o">|</span>
<span class="o">+-----+--------+--------+--------+</span>
</pre></div>
</div>
@@ -490,28 +490,28 @@ passing them to an Arrow table, and then converting them
to a pandas DataFrame.<
<div class="highlight-ipython notranslate"><div
class="highlight"><pre><span></span><span class="n">In</span> <span
class="p">[</span><span class="mi">8</span><span class="p">]:</span> <span
class="n">df</span><span class="o">.</span><span
class="n">to_pandas</span><span class="p">()</span>
<span class="n">Out</span><span class="p">[</span><span
class="mi">8</span><span class="p">]:</span>
<span class="n">nrs</span> <span class="n">names</span> <span
class="n">random</span> <span class="n">groups</span>
-<span class="mi">0</span> <span class="mi">1</span> <span
class="n">python</span> <span class="mi">608</span> <span
class="n">A</span>
-<span class="mi">1</span> <span class="mi">2</span> <span
class="n">ruby</span> <span class="mi">46</span> <span
class="n">A</span>
-<span class="mi">2</span> <span class="mi">3</span> <span
class="n">java</span> <span class="mi">758</span> <span
class="n">B</span>
-<span class="mi">3</span> <span class="mi">4</span> <span
class="n">haskell</span> <span class="mi">394</span> <span
class="n">C</span>
-<span class="mi">4</span> <span class="mi">5</span> <span
class="n">go</span> <span class="mi">31</span> <span
class="n">B</span>
+<span class="mi">0</span> <span class="mi">1</span> <span
class="n">python</span> <span class="mi">448</span> <span
class="n">A</span>
+<span class="mi">1</span> <span class="mi">2</span> <span
class="n">ruby</span> <span class="mi">706</span> <span
class="n">A</span>
+<span class="mi">2</span> <span class="mi">3</span> <span
class="n">java</span> <span class="mi">539</span> <span
class="n">B</span>
+<span class="mi">3</span> <span class="mi">4</span> <span
class="n">haskell</span> <span class="mi">924</span> <span
class="n">C</span>
+<span class="mi">4</span> <span class="mi">5</span> <span
class="n">go</span> <span class="mi">177</span> <span
class="n">B</span>
</pre></div>
</div>
<p><a class="reference internal"
href="../../autoapi/datafusion/dataframe/index.html#datafusion.dataframe.DataFrame.describe"
title="datafusion.dataframe.DataFrame.describe"><code class="xref py py-func
docutils literal notranslate"><span class="pre">describe()</span></code></a>
shows a quick statistic summary of your data:</p>
<div class="highlight-ipython notranslate"><div
class="highlight"><pre><span></span><span class="n">In</span> <span
class="p">[</span><span class="mi">9</span><span class="p">]:</span> <span
class="n">df</span><span class="o">.</span><span class="n">describe</span><span
class="p">()</span>
<span class="n">Out</span><span class="p">[</span><span
class="mi">9</span><span class="p">]:</span>
<span class="n">DataFrame</span><span class="p">()</span>
-<span
class="o">+------------+--------------------+-------+-------------------+--------+</span>
-<span class="o">|</span> <span class="n">describe</span> <span
class="o">|</span> <span class="n">nrs</span> <span
class="o">|</span> <span class="n">names</span> <span class="o">|</span> <span
class="n">random</span> <span class="o">|</span> <span
class="n">groups</span> <span class="o">|</span>
-<span
class="o">+------------+--------------------+-------+-------------------+--------+</span>
-<span class="o">|</span> <span class="n">count</span> <span
class="o">|</span> <span class="mf">5.0</span> <span
class="o">|</span> <span class="mi">5</span> <span class="o">|</span> <span
class="mf">5.0</span> <span class="o">|</span> <span
class="mi">5</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">null_count</span> <span
class="o">|</span> <span class="mf">0.0</span> <span
class="o">|</span> <span class="mi">0</span> <span class="o">|</span> <span
class="mf">0.0</span> <span class="o">|</span> <span
class="mi">0</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">mean</span> <span
class="o">|</span> <span class="mf">3.0</span> <span
class="o">|</span> <span class="n">null</span> <span class="o">|</span> <span
class="mf">367.4</span> <span class="o">|</span> <span
class="n">null</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">std</span> <span
class="o">|</span> <span class="mf">1.5811388300841898</span> <span
class="o">|</span> <span class="n">null</span> <span class="o">|</span> <span
class="mf">326.9660532838233</span> <span class="o">|</span> <span
class="n">null</span> <span class="o">|</span>
-<span class="o">|</span> <span class="nb">min</span> <span
class="o">|</span> <span class="mf">1.0</span> <span
class="o">|</span> <span class="n">go</span> <span class="o">|</span> <span
class="mf">31.0</span> <span class="o">|</span> <span
class="n">A</span> <span class="o">|</span>
-<span class="o">|</span> <span class="nb">max</span> <span
class="o">|</span> <span class="mf">5.0</span> <span
class="o">|</span> <span class="n">ruby</span> <span class="o">|</span> <span
class="mf">758.0</span> <span class="o">|</span> <span
class="n">C</span> <span class="o">|</span>
-<span class="o">|</span> <span class="n">median</span> <span
class="o">|</span> <span class="mf">3.0</span> <span
class="o">|</span> <span class="n">null</span> <span class="o">|</span> <span
class="mf">394.0</span> <span class="o">|</span> <span
class="n">null</span> <span class="o">|</span>
-<span
class="o">+------------+--------------------+-------+-------------------+--------+</span>
+<span
class="o">+------------+--------------------+-------+--------------------+--------+</span>
+<span class="o">|</span> <span class="n">describe</span> <span
class="o">|</span> <span class="n">nrs</span> <span
class="o">|</span> <span class="n">names</span> <span class="o">|</span> <span
class="n">random</span> <span class="o">|</span> <span
class="n">groups</span> <span class="o">|</span>
+<span
class="o">+------------+--------------------+-------+--------------------+--------+</span>
+<span class="o">|</span> <span class="n">count</span> <span
class="o">|</span> <span class="mf">5.0</span> <span
class="o">|</span> <span class="mi">5</span> <span class="o">|</span> <span
class="mf">5.0</span> <span class="o">|</span> <span
class="mi">5</span> <span class="o">|</span>
+<span class="o">|</span> <span class="n">null_count</span> <span
class="o">|</span> <span class="mf">0.0</span> <span
class="o">|</span> <span class="mi">0</span> <span class="o">|</span> <span
class="mf">0.0</span> <span class="o">|</span> <span
class="mi">0</span> <span class="o">|</span>
+<span class="o">|</span> <span class="n">mean</span> <span
class="o">|</span> <span class="mf">3.0</span> <span
class="o">|</span> <span class="n">null</span> <span class="o">|</span> <span
class="mf">558.8</span> <span class="o">|</span> <span
class="n">null</span> <span class="o">|</span>
+<span class="o">|</span> <span class="n">std</span> <span
class="o">|</span> <span class="mf">1.5811388300841898</span> <span
class="o">|</span> <span class="n">null</span> <span class="o">|</span> <span
class="mf">279.94588762830574</span> <span class="o">|</span> <span
class="n">null</span> <span class="o">|</span>
+<span class="o">|</span> <span class="nb">min</span> <span
class="o">|</span> <span class="mf">1.0</span> <span
class="o">|</span> <span class="n">go</span> <span class="o">|</span> <span
class="mf">177.0</span> <span class="o">|</span> <span
class="n">A</span> <span class="o">|</span>
+<span class="o">|</span> <span class="nb">max</span> <span
class="o">|</span> <span class="mf">5.0</span> <span
class="o">|</span> <span class="n">ruby</span> <span class="o">|</span> <span
class="mf">924.0</span> <span class="o">|</span> <span
class="n">C</span> <span class="o">|</span>
+<span class="o">|</span> <span class="n">median</span> <span
class="o">|</span> <span class="mf">3.0</span> <span
class="o">|</span> <span class="n">null</span> <span class="o">|</span> <span
class="mf">539.0</span> <span class="o">|</span> <span
class="n">null</span> <span class="o">|</span>
+<span
class="o">+------------+--------------------+-------+--------------------+--------+</span>
</pre></div>
</div>
</section>
diff --git a/user-guide/common-operations/functions.html
b/user-guide/common-operations/functions.html
index 59b9a6f4..8bb79fec 100644
--- a/user-guide/common-operations/functions.html
+++ b/user-guide/common-operations/functions.html
@@ -566,16 +566,16 @@ In here we will cover some of the more popular use cases.
If you want to view al
<span class="o">+-------------------------------+</span>
<span class="o">|</span> <span class="n">now</span><span class="p">()</span>
<span class="o">|</span>
<span class="o">+-------------------------------+</span>
-<span class="o">|</span> <span class="mi">2026</span><span
class="o">-</span><span class="mi">03</span><span class="o">-</span><span
class="mi">05</span><span class="n">T15</span><span class="p">:</span><span
class="mi">59</span><span class="p">:</span><span
class="mf">29.663153413</span> <span class="o">|</span>
-<span class="o">|</span> <span class="mi">2026</span><span
class="o">-</span><span class="mi">03</span><span class="o">-</span><span
class="mi">05</span><span class="n">T15</span><span class="p">:</span><span
class="mi">59</span><span class="p">:</span><span
class="mf">29.663153413</span> <span class="o">|</span>
-<span class="o">|</span> <span class="mi">2026</span><span
class="o">-</span><span class="mi">03</span><span class="o">-</span><span
class="mi">05</span><span class="n">T15</span><span class="p">:</span><span
class="mi">59</span><span class="p">:</span><span
class="mf">29.663153413</span> <span class="o">|</span>
-<span class="o">|</span> <span class="mi">2026</span><span
class="o">-</span><span class="mi">03</span><span class="o">-</span><span
class="mi">05</span><span class="n">T15</span><span class="p">:</span><span
class="mi">59</span><span class="p">:</span><span
class="mf">29.663153413</span> <span class="o">|</span>
-<span class="o">|</span> <span class="mi">2026</span><span
class="o">-</span><span class="mi">03</span><span class="o">-</span><span
class="mi">05</span><span class="n">T15</span><span class="p">:</span><span
class="mi">59</span><span class="p">:</span><span
class="mf">29.663153413</span> <span class="o">|</span>
-<span class="o">|</span> <span class="mi">2026</span><span
class="o">-</span><span class="mi">03</span><span class="o">-</span><span
class="mi">05</span><span class="n">T15</span><span class="p">:</span><span
class="mi">59</span><span class="p">:</span><span
class="mf">29.663153413</span> <span class="o">|</span>
-<span class="o">|</span> <span class="mi">2026</span><span
class="o">-</span><span class="mi">03</span><span class="o">-</span><span
class="mi">05</span><span class="n">T15</span><span class="p">:</span><span
class="mi">59</span><span class="p">:</span><span
class="mf">29.663153413</span> <span class="o">|</span>
-<span class="o">|</span> <span class="mi">2026</span><span
class="o">-</span><span class="mi">03</span><span class="o">-</span><span
class="mi">05</span><span class="n">T15</span><span class="p">:</span><span
class="mi">59</span><span class="p">:</span><span
class="mf">29.663153413</span> <span class="o">|</span>
-<span class="o">|</span> <span class="mi">2026</span><span
class="o">-</span><span class="mi">03</span><span class="o">-</span><span
class="mi">05</span><span class="n">T15</span><span class="p">:</span><span
class="mi">59</span><span class="p">:</span><span
class="mf">29.663153413</span> <span class="o">|</span>
-<span class="o">|</span> <span class="mi">2026</span><span
class="o">-</span><span class="mi">03</span><span class="o">-</span><span
class="mi">05</span><span class="n">T15</span><span class="p">:</span><span
class="mi">59</span><span class="p">:</span><span
class="mf">29.663153413</span> <span class="o">|</span>
+<span class="o">|</span> <span class="mi">2026</span><span
class="o">-</span><span class="mi">03</span><span class="o">-</span><span
class="mi">06</span><span class="n">T16</span><span class="p">:</span><span
class="mi">49</span><span class="p">:</span><span
class="mf">56.471134071</span> <span class="o">|</span>
+<span class="o">|</span> <span class="mi">2026</span><span
class="o">-</span><span class="mi">03</span><span class="o">-</span><span
class="mi">06</span><span class="n">T16</span><span class="p">:</span><span
class="mi">49</span><span class="p">:</span><span
class="mf">56.471134071</span> <span class="o">|</span>
+<span class="o">|</span> <span class="mi">2026</span><span
class="o">-</span><span class="mi">03</span><span class="o">-</span><span
class="mi">06</span><span class="n">T16</span><span class="p">:</span><span
class="mi">49</span><span class="p">:</span><span
class="mf">56.471134071</span> <span class="o">|</span>
+<span class="o">|</span> <span class="mi">2026</span><span
class="o">-</span><span class="mi">03</span><span class="o">-</span><span
class="mi">06</span><span class="n">T16</span><span class="p">:</span><span
class="mi">49</span><span class="p">:</span><span
class="mf">56.471134071</span> <span class="o">|</span>
+<span class="o">|</span> <span class="mi">2026</span><span
class="o">-</span><span class="mi">03</span><span class="o">-</span><span
class="mi">06</span><span class="n">T16</span><span class="p">:</span><span
class="mi">49</span><span class="p">:</span><span
class="mf">56.471134071</span> <span class="o">|</span>
+<span class="o">|</span> <span class="mi">2026</span><span
class="o">-</span><span class="mi">03</span><span class="o">-</span><span
class="mi">06</span><span class="n">T16</span><span class="p">:</span><span
class="mi">49</span><span class="p">:</span><span
class="mf">56.471134071</span> <span class="o">|</span>
+<span class="o">|</span> <span class="mi">2026</span><span
class="o">-</span><span class="mi">03</span><span class="o">-</span><span
class="mi">06</span><span class="n">T16</span><span class="p">:</span><span
class="mi">49</span><span class="p">:</span><span
class="mf">56.471134071</span> <span class="o">|</span>
+<span class="o">|</span> <span class="mi">2026</span><span
class="o">-</span><span class="mi">03</span><span class="o">-</span><span
class="mi">06</span><span class="n">T16</span><span class="p">:</span><span
class="mi">49</span><span class="p">:</span><span
class="mf">56.471134071</span> <span class="o">|</span>
+<span class="o">|</span> <span class="mi">2026</span><span
class="o">-</span><span class="mi">03</span><span class="o">-</span><span
class="mi">06</span><span class="n">T16</span><span class="p">:</span><span
class="mi">49</span><span class="p">:</span><span
class="mf">56.471134071</span> <span class="o">|</span>
+<span class="o">|</span> <span class="mi">2026</span><span
class="o">-</span><span class="mi">03</span><span class="o">-</span><span
class="mi">06</span><span class="n">T16</span><span class="p">:</span><span
class="mi">49</span><span class="p">:</span><span
class="mf">56.471134071</span> <span class="o">|</span>
<span class="o">+-------------------------------+</span>
<span class="n">Data</span> <span class="n">truncated</span><span
class="o">.</span>
</pre></div>
diff --git a/user-guide/upgrade-guides.html b/user-guide/upgrade-guides.html
index 97b92fc4..a2e8e56a 100644
--- a/user-guide/upgrade-guides.html
+++ b/user-guide/upgrade-guides.html
@@ -417,6 +417,11 @@
<nav id="bd-toc-nav">
<ul class="visible nav section-nav flex-column">
+ <li class="toc-h2 nav-item toc-entry">
+ <a class="reference internal nav-link" href="#datafusion-53-0-0">
+ DataFusion 53.0.0
+ </a>
+ </li>
<li class="toc-h2 nav-item toc-entry">
<a class="reference internal nav-link" href="#datafusion-52-0-0">
DataFusion 52.0.0
@@ -445,6 +450,22 @@
<section id="upgrade-guides">
<h1>Upgrade Guides<a class="headerlink" href="#upgrade-guides" title="Link to
this heading">¶</a></h1>
+<section id="datafusion-53-0-0">
+<h2>DataFusion 53.0.0<a class="headerlink" href="#datafusion-53-0-0"
title="Link to this heading">¶</a></h2>
+<p>This version includes an upgraded version of <code class="docutils literal
notranslate"><span class="pre">pyo3</span></code>, which changed the way to
extract an FFI
+object. Example:</p>
+<p>Before:</p>
+<div class="highlight-rust notranslate"><div
class="highlight"><pre><span></span><span class="kd">let</span><span class="w">
</span><span class="n">codec</span><span class="w"> </span><span
class="o">=</span><span class="w"> </span><span class="k">unsafe</span><span
class="w"> </span><span class="p">{</span><span class="w"> </span><span
class="n">capsule</span><span class="p">.</span><span
class="n">reference</span><span class="p">::</span><span
class="o"><</span><span class="n">FFI_L [...]
+</pre></div>
+</div>
+<p>Now:</p>
+<div class="highlight-rust notranslate"><div
class="highlight"><pre><span></span><span class="kd">let</span><span class="w">
</span><span class="n">data</span><span class="p">:</span><span class="w">
</span><span class="nc">NonNull</span><span class="o"><</span><span
class="n">FFI_LogicalExtensionCodec</span><span class="o">></span><span
class="w"> </span><span class="o">=</span><span class="w"> </span><span
class="n">capsule</span>
+<span class="w"> </span><span class="p">.</span><span
class="n">pointer_checked</span><span class="p">(</span><span
class="nb">Some</span><span class="p">(</span><span class="n">c_str</span><span
class="o">!</span><span class="p">(</span><span
class="s">"datafusion_logical_extension_codec"</span><span
class="p">)))</span><span class="o">?</span>
+<span class="w"> </span><span class="p">.</span><span
class="n">cast</span><span class="p">();</span>
+<span class="kd">let</span><span class="w"> </span><span
class="n">codec</span><span class="w"> </span><span class="o">=</span><span
class="w"> </span><span class="k">unsafe</span><span class="w"> </span><span
class="p">{</span><span class="w"> </span><span class="n">data</span><span
class="p">.</span><span class="n">as_ref</span><span class="p">()</span><span
class="w"> </span><span class="p">};</span>
+</pre></div>
+</div>
+</section>
<section id="datafusion-52-0-0">
<h2>DataFusion 52.0.0<a class="headerlink" href="#datafusion-52-0-0"
title="Link to this heading">¶</a></h2>
<p>This version includes a major update to the <a class="reference internal"
href="../contributor-guide/ffi.html#ffi"><span class="std std-ref">Python
Extensions</span></a> due to upgrades
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]