forked from open-planning/roboplan
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconf.py
More file actions
93 lines (75 loc) · 2.95 KB
/
conf.py
File metadata and controls
93 lines (75 loc) · 2.95 KB
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
import os
from pathlib import Path
import subprocess
# 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
# -- Path setup --------------------------------------------------------------
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#
# import os
import sys
sys.path.insert(0, os.path.abspath("../../bindings/src"))
# -- Project information -----------------------------------------------------
project = "roboplan"
copyright = "2025-2026, Open Planning"
author = "Sebastian Castro"
# The full version, including alpha/beta/rc tags
version = release = "0.2.0"
# -- 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 = [
"autoapi.extension",
"sphinx.ext.autodoc",
"sphinx.ext.napoleon",
"sphinx_autodoc_typehints",
"sphinx.ext.autosummary",
"sphinx_rtd_theme",
"sphinx_copybutton",
"breathe",
]
# Add any paths that contain templates here, relative to this directory.
# templates_path = ["_templates"]
# 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: list[str] = []
# Mock imports for external dependencies.
autodoc_mock_imports = ["roboplan.roboplan_ext"]
autoapi_type = "python"
autoapi_add_toctree_entry = False
autoapi_dirs = ["../../bindings/src"]
autodoc_typehints = "description"
# -- 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"
master_doc = "index"
# -- Options for breathe -----------------------------------------------------
breathe_default_project = "roboplan"
breathe_projects = {}
breathe_projects_source = {}
for package in [
"roboplan",
"roboplan_rrt",
"roboplan_simple_ik",
"roboplan_toppra",
"roboplan_example_models",
"roboplan_oink",
]:
# Generate Doxygen XML and add it to the breathe projects.
subprocess.call(f"cd ../../{package}/docs; rm -rf html/ xml/; doxygen", shell=True)
breathe_projects[package] = (os.path.abspath(f"../../{package}/docs/xml"),)
# Add the package files to the breathe projects sources list.
package_path = Path(os.path.abspath(f"../../{package}/include/{package}"))
breathe_projects_source[package] = (
package_path.as_posix(),
[f for f in package_path.rglob("*.hpp")],
)