import os
import sys
from pathlib import Path
project_root = Path(__file__).parent.parent
sys.path.insert(0, str(project_root))
project = "tarzi"
copyright = "2025-2026, Mirasoth Inc."
author = "Mirasoth Team"
release = "latest"
extensions = [
"sphinx.ext.autodoc",
"sphinx.ext.autosummary",
"sphinx.ext.viewcode",
"sphinx.ext.napoleon",
"sphinx.ext.intersphinx",
"sphinx.ext.todo",
"sphinx.ext.coverage",
"sphinx.ext.ifconfig",
"sphinx_autodoc_typehints",
"sphinx_copybutton",
"myst_parser",
"sphinx_tabs.tabs",
"sphinx_design",
]
templates_path = ["_templates"]
exclude_patterns = ["_build", "Thumbs.db", ".DS_Store", "README.md", "PYTHON_SETUP_GUIDE.md"]
source_suffix = {
".rst": None,
".md": "markdown",
}
master_doc = "index"
html_theme = "furo"
html_static_path = ["_static"]
html_css_files = [
"custom.css",
]
html_theme_options = {
"sidebar_hide_name": False,
"light_logo": "tarzi-logo-light.png",
"dark_logo": "tarzi-logo-dark.png",
"source_repository": "https://github.com/mirasoth/tarzi/",
"source_branch": "main",
"source_directory": "docs/",
}
html_favicon = "_static/favicon.ico"
autodoc_default_options = {
"members": True,
"undoc-members": True,
"exclude-members": "__weakref__",
}
autosummary_generate = True
napoleon_include_special_with_doc = True
napoleon_use_param = True
napoleon_use_rtype = True
intersphinx_mapping = {
"python": ("https://docs.python.org/3", None),
"requests": ("https://requests.readthedocs.io/en/stable/", None),
}
always_document_param_types = True
typehints_document_rtype = True
myst_enable_extensions = [
"colon_fence",
"deflist",
"dollarmath",
"fieldlist",
"html_admonition",
"html_image",
"replacements",
"smartquotes",
"strikethrough",
"substitution",
"tasklist",
]
copybutton_prompt_text = r">>> |\.\.\. |\$ |In \[\d*\]: | {2,5}\.\.\.: | {5,8}: "
copybutton_prompt_is_regexp = True
copybutton_line_continuation_character = "\\"
todo_include_todos = True
def setup(app):
app.add_css_file("custom.css")
pass