Skip to content

Commit 0c75e20

Browse files
committed
Update docstrings so that cross references work in online docs. Also switch from autosummary to autoapi in sphinx for building API reference documents
1 parent 3eb198b commit 0c75e20

20 files changed

+300
-441
lines changed

docs/source/api.rst

Lines changed: 0 additions & 31 deletions
This file was deleted.

docs/source/api/dataframe.rst

Lines changed: 0 additions & 27 deletions
This file was deleted.

docs/source/api/execution_context.rst

Lines changed: 0 additions & 29 deletions
This file was deleted.

docs/source/api/expression.rst

Lines changed: 0 additions & 27 deletions
This file was deleted.

docs/source/api/functions.rst

Lines changed: 0 additions & 27 deletions
This file was deleted.

docs/source/api/object_store.rst

Lines changed: 0 additions & 27 deletions
This file was deleted.

docs/source/conf.py

Lines changed: 27 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@
5555
"sphinx.ext.napoleon",
5656
"myst_parser",
5757
"IPython.sphinxext.ipython_directive",
58+
"autoapi.extension",
5859
]
5960

6061
source_suffix = {
@@ -80,23 +81,36 @@
8081

8182
autosummary_generate = True
8283

84+
autoapi_dirs = ["../../python"]
85+
autoapi_ignore = ["*tests*"]
86+
autoapi_member_order = "groupwise"
87+
suppress_warnings = ["autoapi.python_import_resolution"]
88+
autoapi_keep_files = True
89+
autoapi_python_class_content = "both"
8390

84-
def autodoc_skip_member(app, what, name, obj, skip, options):
85-
exclude_functions = "__init__"
86-
exclude_classes = ("Expr", "DataFrame")
8791

88-
class_name = ""
89-
if hasattr(obj, "__qualname__"):
90-
if obj.__qualname__ is not None:
91-
class_name = obj.__qualname__.split(".")[0]
92+
def autoapi_skip_member_fn(app, what, name, obj, skip, options):
93+
skip_contents = [
94+
# Re-exports
95+
("class", "datafusion.DataFrame"),
96+
("class", "datafusion.SessionContext"),
97+
("module", "datafusion.common"),
98+
# Deprecated
99+
("class", "datafusion.substrait.serde"),
100+
("class", "datafusion.substrait.plan"),
101+
("class", "datafusion.substrait.producer"),
102+
("class", "datafusion.substrait.consumer"),
103+
("method", "datafusion.context.SessionContext.tables"),
104+
("method", "datafusion.dataframe.DataFrame.unnest_column"),
105+
]
106+
if (what, name) in skip_contents:
107+
skip = True
92108

93-
should_exclude = name in exclude_functions and class_name in exclude_classes
109+
return skip
94110

95-
return True if should_exclude else None
96111

97-
98-
def setup(app):
99-
app.connect("autodoc-skip-member", autodoc_skip_member)
112+
def setup(sphinx):
113+
sphinx.connect("autoapi-skip-member", autoapi_skip_member_fn)
100114

101115

102116
# -- Options for HTML output -------------------------------------------------
@@ -106,9 +120,7 @@ def setup(app):
106120
#
107121
html_theme = "pydata_sphinx_theme"
108122

109-
html_theme_options = {
110-
"use_edit_page_button": True,
111-
}
123+
html_theme_options = {"use_edit_page_button": False, "show_toc_level": 2}
112124

113125
html_context = {
114126
"github_user": "apache",

docs/source/index.rst

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,5 +104,3 @@ Example
104104
:hidden:
105105
:maxdepth: 1
106106
:caption: API
107-
108-
api

docs/source/user-guide/basics.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
.. specific language governing permissions and limitations
1616
.. under the License.
1717
18+
.. _user_guide_concepts:
19+
1820
Concepts
1921
========
2022

docs/source/user-guide/common-operations/expressions.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
.. specific language governing permissions and limitations
1616
.. under the License.
1717
18+
.. _expressions:
19+
1820
Expressions
1921
===========
2022

0 commit comments

Comments
 (0)