File size: 2,471 Bytes
00b4479
 
 
 
 
 
 
f9e0370
0831531
f9e0370
00b4479
 
 
 
 
 
0831531
 
f9e0370
 
0831531
f9e0370
 
f78ae56
0831531
 
 
 
 
 
 
 
 
 
 
f9e0370
 
00b4479
 
 
 
2973667
075be9e
 
00b4479
 
1645811
f78ae56
00b4479
 
0831531
9b0c3be
 
00b4479
6f2f547
0831531
 
6f2f547
00b4479
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9b0c3be
 
075be9e
 
 
9b0c3be
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
# 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

# -- Project information -----------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information
import tomllib
import pathlib


project = 'SamGIS'

# -- General configuration ---------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration

toml_path = pathlib.Path(__file__).parent.parent / 'pyproject.toml'
with open(toml_path, "rb") as f:
    toml = tomllib.load(f)

pyproject = toml["project"]
version = pyproject["version"]
release = version
authors_list = list(pyproject["authors"])
author = ""
for author_element in authors_list:
    if len(author) > 1:
        author += ", "
    if isinstance(author_element, str):
        author += f"{author_element}"
    else:
        name = author_element.get("name")
        email = author_element.get("email")
        author += f"{name} <{email}>"

copyright = f"2023-now {author}"

extensions = [
    'sphinx.ext.autodoc',
    'sphinx.ext.viewcode',
    'sphinx.ext.napoleon',
    'sphinx_autodoc_typehints',
    'sphinxcontrib.openapi',
    'myst_parser',
    # 'sphinx_autodoc_defaultargs'
]

autodoc_mock_imports = ["fastapi", "starlette"]
# Napoleon settings
napoleon_google_docstring = True
# sphinx_autodoc_typehints settings
typehints_defaults = "comma"

templates_path = ['_templates']
exclude_patterns = [
    '_build', 'Thumbs.db', '.DS_Store', 'build/*', 'machine_learning_models', 'machine_learning_models/*',
    "sam-quantized/machine_learning_models", "sam-quantized/machine_learning_models/*"
]

source_suffix = {
    '.rst': 'restructuredtext',
    '.txt': 'restructuredtext',
    '.md': 'markdown',
}

# -- Options for HTML output -------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output

html_theme = 'alabaster'
html_sidebars = {
    '**': [
        'about.html',
        'navigation.html',
        'relations.html',
        'searchbox.html',
        'donate.html',
    ]
}
html_static_path = ['_static']
html_theme_options = {
    "description": "Segment Anything applied to geodata",
    "fixed_sidebar": True,
    "sidebar_collapse": False,
    'globaltoc_collapse': False
}