# 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.2" version = "0.3.2" # -- 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