-
Notifications
You must be signed in to change notification settings - Fork 55
/
Copy pathconf.py
executable file
·75 lines (61 loc) · 2.16 KB
/
conf.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# Configuration file for the Sphinx documentation builder.
#
# This file only contains a selection of the most common options. For a full
# list see the documentation:
# https://www.sphinx-doc.org/en/master/usage/configuration.html
# -- Project information -----------------------------------------------------
project = "Viam Python SDK"
copyright = "2022-2024, Viam Inc"
author = "Viam Inc"
# -- General configuration ---------------------------------------------------
# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = [
"myst_nb",
"autoapi.extension",
"sphinx.ext.napoleon",
"sphinx.ext.viewcode",
]
autoapi_dirs = ["../src"]
autoapi_file_patterns = ["*.pyi", "*.py"]
autoapi_options = [
"undoc-members",
"show-inheritance",
"inherited-members",
"show-module-summary",
"special-members",
"imported-members",
]
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
# This pattern also affects html_static_path and html_extra_path.
exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"]
def skip_member(app, what, name, obj, skip, options) -> bool:
if "gen.proto" in name:
return True
if "proto" in name:
if "google" in name:
return True
should_keep = ["do_command", "get_geometries", "close", "from_robot", "get_resource_name", "get_operation"]
if obj.inherited and not any(method in name for method in should_keep):
return True
if what == "attribute":
if "_FIELD_NUMBER" in name:
return True
if "DESCRIPTOR" in name:
return True
if what == "method":
if "ClearField" in name:
return True
return skip
def setup(sphinx):
sphinx.connect("autoapi-skip-member", skip_member)
# -- Options for HTML output -------------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
#
html_theme = "sphinx_rtd_theme"
html_theme_options = {
"navigation_depth": -1,
}