Files
fastapi-traffic/docs/conf.py

104 lines
2.9 KiB
Python

# 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
import sys
from pathlib import Path
# Add the project root to the path so autodoc can find the modules
sys.path.insert(0, str(Path(__file__).parent.parent.resolve()))
# -- Project information -----------------------------------------------------
project = "fastapi-traffic"
copyright = "2026, zanewalker"
author = "zanewalker"
release = "0.3.1"
version = "0.3.1"
# -- General configuration ---------------------------------------------------
extensions = [
"sphinx.ext.autodoc",
"sphinx.ext.napoleon",
"sphinx.ext.viewcode",
"sphinx.ext.intersphinx",
"sphinx.ext.autosummary",
"sphinx_copybutton",
"sphinx_design",
"myst_parser",
]
templates_path = ["_templates"]
exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"]
# The suffix(es) of source filenames.
source_suffix = {
".rst": "restructuredtext",
".md": "markdown",
}
# The master toctree document.
master_doc = "index"
# -- Options for HTML output -------------------------------------------------
html_theme = "furo"
html_title = "fastapi-traffic"
html_static_path = ["_static"]
html_theme_options = {
"light_css_variables": {
"color-brand-primary": "#009485",
"color-brand-content": "#009485",
},
"dark_css_variables": {
"color-brand-primary": "#00d4aa",
"color-brand-content": "#00d4aa",
},
"sidebar_hide_name": False,
"navigation_with_keys": True,
}
# -- Options for autodoc -----------------------------------------------------
autodoc_default_options = {
"members": True,
"member-order": "bysource",
"special-members": "__init__",
"undoc-members": True,
"exclude-members": "__weakref__",
}
autodoc_typehints = "description"
autodoc_class_signature = "separated"
# -- Options for Napoleon (Google/NumPy docstrings) --------------------------
napoleon_google_docstring = True
napoleon_numpy_docstring = True
napoleon_include_init_with_doc = True
napoleon_include_private_with_doc = False
napoleon_include_special_with_doc = True
napoleon_use_admonition_for_examples = True
napoleon_use_admonition_for_notes = True
napoleon_use_admonition_for_references = True
napoleon_use_ivar = False
napoleon_use_param = True
napoleon_use_rtype = True
napoleon_preprocess_types = False
napoleon_type_aliases = None
napoleon_attr_annotations = True
# -- Options for intersphinx -------------------------------------------------
intersphinx_mapping = {
"python": ("https://docs.python.org/3", None),
"starlette": ("https://www.starlette.io", None),
"fastapi": ("https://fastapi.tiangolo.com", None),
}
# -- MyST Parser options -----------------------------------------------------
myst_enable_extensions = [
"colon_fence",
"deflist",
"fieldlist",
"tasklist",
]
myst_heading_anchors = 3