2024-05-24 13:45:23 -04:00
|
|
|
# Configuration file for the Sphinx documentation builder.
|
|
|
|
#
|
|
|
|
# For the full list of built-in configuration values, see the documentation:
|
|
|
|
# https://www.sphinx-doc.org/en/master/usage/configuration.html
|
|
|
|
|
2024-09-17 06:22:38 -07:00
|
|
|
import pydata_sphinx_theme
|
|
|
|
from sphinx.application import Sphinx
|
|
|
|
from typing import Any, Dict
|
|
|
|
from pathlib import Path
|
|
|
|
import sys
|
2024-05-24 13:45:23 -04:00
|
|
|
# -- Project information -----------------------------------------------------
|
|
|
|
# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information
|
|
|
|
|
2024-09-17 06:22:38 -07:00
|
|
|
|
2024-08-28 12:47:04 -04:00
|
|
|
project = "autogen_core"
|
2024-05-24 13:45:23 -04:00
|
|
|
copyright = "2024, Microsoft"
|
|
|
|
author = "Microsoft"
|
2024-09-17 06:22:38 -07:00
|
|
|
version = "0.2"
|
|
|
|
|
|
|
|
|
|
|
|
sys.path.append(str(Path(".").resolve()))
|
2024-05-24 13:45:23 -04:00
|
|
|
|
|
|
|
# -- General configuration ---------------------------------------------------
|
|
|
|
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
|
|
|
|
|
|
|
|
extensions = [
|
2024-09-17 06:22:38 -07:00
|
|
|
"sphinx.ext.napoleon",
|
2024-05-24 13:45:23 -04:00
|
|
|
"sphinx.ext.autodoc",
|
|
|
|
"sphinx.ext.autosummary",
|
2024-09-17 06:22:38 -07:00
|
|
|
"sphinx.ext.todo",
|
|
|
|
"sphinx.ext.viewcode",
|
|
|
|
"sphinx.ext.intersphinx",
|
|
|
|
"sphinx.ext.graphviz",
|
|
|
|
"sphinx_design",
|
|
|
|
"sphinx_copybutton",
|
|
|
|
"_extension.gallery_directive",
|
2024-08-06 11:37:11 -07:00
|
|
|
"myst_nb",
|
2024-05-24 13:45:23 -04:00
|
|
|
]
|
2024-09-17 06:22:38 -07:00
|
|
|
suppress_warnings = ["myst.header"]
|
2024-05-24 13:45:23 -04:00
|
|
|
|
2024-08-05 12:27:03 -07:00
|
|
|
napoleon_custom_sections = [("Returns", "params_style")]
|
2024-05-24 13:45:23 -04:00
|
|
|
|
2024-09-17 06:22:38 -07:00
|
|
|
templates_path = ["_templates"]
|
2024-05-24 13:45:23 -04:00
|
|
|
|
|
|
|
autoclass_content = "init"
|
|
|
|
|
2024-08-06 11:37:11 -07:00
|
|
|
# TODO: incldue all notebooks excluding those requiring remote API access.
|
|
|
|
nb_execution_mode = "off"
|
|
|
|
|
2024-05-24 13:45:23 -04:00
|
|
|
# Guides and tutorials must succeed.
|
|
|
|
nb_execution_raise_on_error = True
|
|
|
|
nb_execution_timeout = 60
|
|
|
|
|
2024-08-07 00:49:28 -07:00
|
|
|
myst_heading_anchors = 5
|
|
|
|
|
2024-09-17 12:08:32 -04:00
|
|
|
myst_enable_extensions = [
|
|
|
|
"colon_fence",
|
|
|
|
"linkify",
|
|
|
|
"strikethrough",
|
|
|
|
]
|
|
|
|
|
2024-09-17 06:22:38 -07:00
|
|
|
|
2024-05-24 13:45:23 -04:00
|
|
|
# -- Options for HTML output -------------------------------------------------
|
|
|
|
# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output
|
|
|
|
|
2024-06-12 15:21:20 -04:00
|
|
|
html_title = "AGNext"
|
|
|
|
|
2024-09-17 06:22:38 -07:00
|
|
|
html_theme = "pydata_sphinx_theme"
|
|
|
|
html_static_path = ["_static"]
|
|
|
|
html_css_files = ["custom.css"]
|
|
|
|
html_sidebars = {'packages/index': []}
|
2024-05-24 13:45:23 -04:00
|
|
|
|
|
|
|
html_theme_options = {
|
2024-09-17 06:22:38 -07:00
|
|
|
|
|
|
|
"header_links_before_dropdown": 4,
|
|
|
|
"navbar_align": "left",
|
|
|
|
"check_switcher": False,
|
|
|
|
# "navbar_start": ["navbar-logo", "version-switcher"],
|
|
|
|
# "switcher": {
|
|
|
|
# "json_url": "/_static/switcher.json",
|
|
|
|
# },
|
|
|
|
"show_prev_next": False,
|
|
|
|
""
|
|
|
|
"icon_links": [
|
|
|
|
{
|
|
|
|
"name": "Twitter",
|
|
|
|
"url": "https://twitter.com/pyautogen",
|
|
|
|
"icon": "fa-brands fa-twitter",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "GitHub",
|
|
|
|
"url": "https://github.com/microsoft/agnext",
|
|
|
|
"icon": "fa-brands fa-github",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "PyPI",
|
|
|
|
"url": "https://pypi.org/project/autogen-core",
|
|
|
|
"icon": "fa-custom fa-pypi",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "PyData",
|
|
|
|
"url": "https://pydata.org",
|
|
|
|
"icon": "fa-custom fa-pydata",
|
|
|
|
},
|
|
|
|
],
|
|
|
|
}
|
|
|
|
|
2024-09-17 14:16:13 -04:00
|
|
|
html_sidebars = {
|
|
|
|
"reference/index": [],
|
|
|
|
"packages/index": [],
|
|
|
|
}
|
2024-09-17 06:22:38 -07:00
|
|
|
|
|
|
|
html_context = {
|
|
|
|
'display_github': True,
|
|
|
|
"github_user": "microsoft",
|
|
|
|
"github_repo": "agnext",
|
|
|
|
"github_version": "main",
|
|
|
|
"doc_path": "python/packages/autogen-core/docs/src/",
|
2024-05-24 13:45:23 -04:00
|
|
|
}
|
2024-06-12 17:10:17 -04:00
|
|
|
|
|
|
|
autodoc_default_options = {
|
|
|
|
"members": True,
|
|
|
|
"undoc-members": True,
|
2024-06-27 13:40:12 -04:00
|
|
|
}
|
|
|
|
|
2024-08-05 12:27:03 -07:00
|
|
|
intersphinx_mapping = {"python": ("https://docs.python.org/3", None)}
|
2024-09-17 06:22:38 -07:00
|
|
|
|
|
|
|
|
|
|
|
def setup_to_main(
|
|
|
|
app: Sphinx, pagename: str, templatename: str, context, doctree
|
|
|
|
) -> None:
|
|
|
|
"""Add a function that jinja can access for returning an "edit this page" link pointing to `main`."""
|
|
|
|
|
|
|
|
def to_main(link: str) -> str:
|
|
|
|
"""Transform "edit on github" links and make sure they always point to the main branch.
|
|
|
|
|
|
|
|
Args:
|
|
|
|
link: the link to the github edit interface
|
|
|
|
|
|
|
|
Returns:
|
|
|
|
the link to the tip of the main branch for the same file
|
|
|
|
"""
|
|
|
|
links = link.split("/")
|
|
|
|
idx = links.index("edit")
|
|
|
|
return "/".join(links[: idx + 1]) + "/main/" + "/".join(links[idx + 2:])
|
|
|
|
|
|
|
|
context["to_main"] = to_main
|
|
|
|
|
|
|
|
|
|
|
|
def setup(app: Sphinx) -> Dict[str, Any]:
|
|
|
|
"""Add custom configuration to sphinx app.
|
|
|
|
|
|
|
|
Args:
|
|
|
|
app: the Sphinx application
|
|
|
|
Returns:
|
|
|
|
the 2 parallel parameters set to ``True``.
|
|
|
|
"""
|
|
|
|
app.connect("html-page-context", setup_to_main)
|
|
|
|
|
|
|
|
return {
|
|
|
|
"parallel_read_safe": True,
|
|
|
|
"parallel_write_safe": True,
|
|
|
|
}
|