This is an automated email from the ASF dual-hosted git repository.

github-actions[bot] pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/datafusion.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new 682d627b8a Publish built docs triggered by 
c55319e0b630568a4d52097df8feee1800b19b6a
682d627b8a is described below

commit 682d627b8ac89dcf5cf79bdf6913ff52732ed780
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
AuthorDate: Tue Sep 22 04:28:20 2026 +0000

    Publish built docs triggered by c55319e0b630568a4d52097df8feee1800b19b6a
---
 _sources/contributor-guide/api-health.md.txt | 29 ++++++++++++++++++++++++++++
 contributor-guide/api-health.html            | 29 ++++++++++++++++++++++++++++
 searchindex.js                               |  2 +-
 3 files changed, 59 insertions(+), 1 deletion(-)

diff --git a/_sources/contributor-guide/api-health.md.txt 
b/_sources/contributor-guide/api-health.md.txt
index a20bc284cf..8737df280f 100644
--- a/_sources/contributor-guide/api-health.md.txt
+++ b/_sources/contributor-guide/api-health.md.txt
@@ -43,6 +43,35 @@ Examples of non-breaking changes include:
 - Marking a function as deprecated (`#[deprecated]`)
 - Adding a new function to a `trait` with a default implementation
 
+### DataFusion-internal Public APIs
+
+Some internal implementation details require `pub` visibility because they are
+shared across DataFusion crates. These APIs are not intended as downstream
+extension points. They are hidden from generated documentation and are not part
+of DataFusion's supported public API, so they may be changed or removed without
+notice or a deprecation period. Examples include:
+
+1. Test helpers.
+2. Operator APIs required by the optimizer to inspect or rewrite execution 
plans
+   across crate boundaries.
+
+For APIs intended only for internal use, add `#[doc(hidden)]` and a doc comment
+section headed `# Public Only for Internal Use:`. Name the crate or component
+that requires access and explain why the API is not intended for downstream 
use.
+For example:
+
+```txt
+impl HashTableLookupExpr {
+    /// ...
+    ///
+    /// # Public Only for Internal Use:
+    /// `datafusion-proto` tests require this constructor, but it is not part 
of
+    /// the supported public API.
+    #[doc(hidden)]
+    pub fn new(...) {...}
+}
+```
+
 ### What is the public SQL API and what is a breaking SQL change?
 
 DataFusion is also used as a SQL engine, so changes to SQL semantics (the
diff --git a/contributor-guide/api-health.html 
b/contributor-guide/api-health.html
index d239b89b5e..b5c0f4a6d3 100644
--- a/contributor-guide/api-health.html
+++ b/contributor-guide/api-health.html
@@ -471,6 +471,34 @@ the Cargo Book</a>. Common examples include:</p>
 <li><p>Adding a new function to a <code class="docutils literal 
notranslate"><span class="pre">trait</span></code> with a default 
implementation</p></li>
 </ul>
 </section>
+<section id="datafusion-internal-public-apis">
+<h3>DataFusion-internal Public APIs<a class="headerlink" 
href="#datafusion-internal-public-apis" title="Link to this heading">#</a></h3>
+<p>Some internal implementation details require <code class="docutils literal 
notranslate"><span class="pre">pub</span></code> visibility because they are
+shared across DataFusion crates. These APIs are not intended as downstream
+extension points. They are hidden from generated documentation and are not part
+of DataFusion’s supported public API, so they may be changed or removed without
+notice or a deprecation period. Examples include:</p>
+<ol class="arabic simple">
+<li><p>Test helpers.</p></li>
+<li><p>Operator APIs required by the optimizer to inspect or rewrite execution 
plans
+across crate boundaries.</p></li>
+</ol>
+<p>For APIs intended only for internal use, add <code class="docutils literal 
notranslate"><span class="pre">#[doc(hidden)]</span></code> and a doc comment
+section headed <code class="docutils literal notranslate"><span 
class="pre">#</span> <span class="pre">Public</span> <span 
class="pre">Only</span> <span class="pre">for</span> <span 
class="pre">Internal</span> <span class="pre">Use:</span></code>. Name the 
crate or component
+that requires access and explain why the API is not intended for downstream 
use.
+For example:</p>
+<div class="highlight-txt notranslate"><div 
class="highlight"><pre><span></span>impl HashTableLookupExpr {
+    /// ...
+    ///
+    /// # Public Only for Internal Use:
+    /// `datafusion-proto` tests require this constructor, but it is not part 
of
+    /// the supported public API.
+    #[doc(hidden)]
+    pub fn new(...) {...}
+}
+</pre></div>
+</div>
+</section>
 <section id="what-is-the-public-sql-api-and-what-is-a-breaking-sql-change">
 <h3>What is the public SQL API and what is a breaking SQL change?<a 
class="headerlink" 
href="#what-is-the-public-sql-api-and-what-is-a-breaking-sql-change" 
title="Link to this heading">#</a></h3>
 <p>DataFusion is also used as a SQL engine, so changes to SQL semantics (the
@@ -591,6 +619,7 @@ version will be <code class="docutils literal 
notranslate"><span class="pre">44.
     <ul class="pst-show_toc_level nav section-nav flex-column">
 <li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" 
href="#breaking-api-changes">Breaking API Changes</a><ul class="nav section-nav 
flex-column">
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" 
href="#what-is-the-public-rust-api-and-what-is-a-breaking-api-change">What is 
the public Rust API and what is a breaking API change?</a></li>
+<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" 
href="#datafusion-internal-public-apis">DataFusion-internal Public APIs</a></li>
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" 
href="#what-is-the-public-sql-api-and-what-is-a-breaking-sql-change">What is 
the public SQL API and what is a breaking SQL change?</a></li>
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" 
href="#when-to-make-breaking-api-changes">When to make breaking API 
changes?</a></li>
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" 
href="#what-to-do-when-making-breaking-api-changes">What to do when making 
breaking API changes?</a></li>
diff --git a/searchindex.js b/searchindex.js
index 979114dbd4..618eba4253 100644
--- a/searchindex.js
+++ b/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"alltitles":{"!=":[[77,"op-neq"]],"!~":[[77,"op-re-not-match"]],"!~*":[[77,"op-re-not-match-i"]],"!~~":[[77,"id19"]],"!~~*":[[77,"id20"]],"#":[[77,"op-bit-xor"]],"%":[[77,"op-modulo"]],"&":[[77,"op-bit-and"]],"(relation,
 name) tuples in logical fields and logical columns are 
unique":[[16,"relation-name-tuples-in-logical-fields-and-logical-columns-are-unique"]],"*":[[77,"op-multiply"]],"+":[[77,"op-plus"]],"-":[[77,"op-minus"]],"/":[[77,"op-divide"]],"1.
 Array Literal Con [...]
\ No newline at end of file
+Search.setIndex({"alltitles":{"!=":[[77,"op-neq"]],"!~":[[77,"op-re-not-match"]],"!~*":[[77,"op-re-not-match-i"]],"!~~":[[77,"id19"]],"!~~*":[[77,"id20"]],"#":[[77,"op-bit-xor"]],"%":[[77,"op-modulo"]],"&":[[77,"op-bit-and"]],"(relation,
 name) tuples in logical fields and logical columns are 
unique":[[16,"relation-name-tuples-in-logical-fields-and-logical-columns-are-unique"]],"*":[[77,"op-multiply"]],"+":[[77,"op-plus"]],"-":[[77,"op-minus"]],"/":[[77,"op-divide"]],"1.
 Array Literal Con [...]
\ No newline at end of file


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

Reply via email to