We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
CI: Suppress complex mypy typing in docs.cleanlab.ai
 If docs.cleanlab.ai shows the mypy type annotations, the current signatures look a bit intimidating, eg. for: `cleanlab.internal.validation`
https://docs.cleanlab.ai/master/cleanlab/internal/validation.html 


Plan is to use https://github.com/tox-dev/sphinx-autodoc-typehints to auto-tag parameters in docstrings based on the function signatures.

Consider the docstring for `cleanlab.internal.validation.labels_to_array`:
https://docs.cleanlab.ai/master/cleanlab/internal/validation.html#cleanlab.internal.validation.labels_to_array

The docstring would not change as the tags have been hard-coded. But the signature at the top would read:
```
cleanlab.internal.validation.labels_to_array(y)
```
instead of
```
cleanlab.internal.validation.labels_to_array(y: Union[list, ndarray, Series, DataFrame, generic]) → ndarray
```

This plan requires ironing out details with unrolling/expanding custom types like `LabelLike`. 
It will take some effort to review all hard-coded types/tags in docstrings, because they won't be replaced with the auto-tag.

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `docs/source/conf.py`
Content:
```
1 # Configuration file for the Sphinx documentation builder.
2 #
3 # This file only contains a selection of the most common options. For a full
4 # list see the documentation:
5 # https://www.sphinx-doc.org/en/master/usage/configuration.html
6 
7 # -- Path setup --------------------------------------------------------------
8 
9 # If extensions (or modules to document with autodoc) are in another directory,
10 # add these directories to sys.path here. If the directory is relative to the
11 # documentation root, use os.path.abspath to make it absolute, like shown here.
12 
13 import os
14 import sys
15 import datetime
16 import shutil
17 
18 sys.path.insert(0, os.path.abspath("../../cleanlab"))
19 
20 # -- Project information -----------------------------------------------------
21 
22 project = "cleanlab"
23 copyright = f"{datetime.datetime.now().year}, Cleanlab Inc."
24 author = "Cleanlab Inc."
25 
26 # -- General configuration ---------------------------------------------------
27 
28 # Add any Sphinx extension module names here, as strings. They can be
29 # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
30 # ones.
31 extensions = [
32     "sphinx.ext.napoleon",
33     "nbsphinx",
34     "sphinx.ext.autodoc",
35     "autodocsumm",
36     "sphinx.ext.viewcode",
37     "sphinx.ext.todo",
38     "sphinx_tabs.tabs",
39     "sphinx_multiversion",
40     "sphinx_copybutton",
41     "sphinxcontrib.katex",
42 ]
43 
44 numpy_show_class_members = True
45 
46 # Don't add .txt suffix to source files:
47 html_sourcelink_suffix = ""
48 
49 # Add any paths that contain templates here, relative to this directory.
50 templates_path = ["_templates"]
51 
52 # List of patterns, relative to source directory, that match files and
53 # directories to ignore when looking for source files.
54 # This pattern also affects html_static_path and html_extra_path.
55 exclude_patterns = ["_build"]
56 
57 autosummary_generate = True
58 
59 # -- Options for apidoc extension ----------------------------------------------
60 
61 # apidoc_module_dir = "cleanlab/cleanlab"
62 
63 # -- Options for todo extension ----------------------------------------------
64 
65 # If true, `todo` and `todoList` produce output, else they produce nothing.
66 todo_include_todos = True
67 
68 
69 # -- Options for Napoleon extension -------------------------------------------
70 
71 napoleon_google_docstring = False
72 napoleon_numpy_docstring = True
73 napoleon_include_init_with_doc = False
74 napoleon_include_private_with_doc = False
75 napoleon_include_special_with_doc = True
76 napoleon_use_admonition_for_examples = False
77 napoleon_use_admonition_for_notes = False
78 napoleon_use_admonition_for_references = False
79 napoleon_use_ivar = False
80 napoleon_use_param = True
81 napoleon_use_rtype = True
82 napoleon_preprocess_types = True
83 napoleon_type_aliases = None
84 napoleon_attr_annotations = True
85 
86 # -- Options for autodoc extension -------------------------------------------
87 
88 # This value selects what content will be inserted into the main body of an autoclass
89 # directive
90 #
91 # http://www.sphinx-doc.org/en/master/usage/extensions/autodoc.html#directive-autoclass
92 autoclass_content = "class"
93 
94 
95 # Default options to an ..autoXXX directive.
96 autodoc_default_options = {
97     "autosummary": True,
98     "members": None,
99     "inherited-members": None,
100     "show-inheritance": None,
101     "special-members": "__call__",
102 }
103 
104 # Subclasses should show parent classes docstrings if they don't override them.
105 autodoc_inherit_docstrings = True
106 
107 # -- Options for katex extension -------------------------------------------
108 
109 if os.getenv("CI") or shutil.which("katex") is not None:
110     # requires that the machine have `katex` installed: `npm install -g katex`
111     katex_prerender = True
112 
113 # -- Variables Setting ---------------------------------------------------
114 
115 # Determine doc site URL (DOCS_SITE_URL)
116 # Check if it's running in production repo
117 if os.getenv("GITHUB_REPOSITORY") == "cleanlab/cleanlab":
118     DOCS_SITE_URL = "/"
119 else:
120     DOCS_SITE_URL = "/cleanlab-docs/"
121 
122 gh_env_file = os.getenv("GITHUB_ENV")
123 if gh_env_file is not None:
124     with open(gh_env_file, "a") as f:
125         f.write(f"\nDOCS_SITE_URL={DOCS_SITE_URL}")  # Set to Environment Var
126 
127 GITHUB_REPOSITORY_OWNER = os.getenv("GITHUB_REPOSITORY_OWNER") or "cleanlab"
128 GITHUB_REF_NAME = os.getenv("GITHUB_REF_NAME") or "master"
129 
130 # Pass additional variables to Jinja templates
131 html_context = {
132     "DOCS_SITE_URL": DOCS_SITE_URL,
133 }
134 
135 # -- nbsphinx Configuration ---------------------------------------------------
136 
137 # This is processed by Jinja2 and inserted before each notebook
138 nbsphinx_prolog = (
139     """
140 {% set docname = env.doc2path(env.docname, base=None) %}
141 
142 .. raw:: html
143 
144     <style>
145         .nbinput .prompt,
146         .nboutput .prompt {
147             display: none;
148         }
149 
150         .output_area {
151             max-height: 300px;
152             overflow: auto;
153         }
154 
155         .dataframe {
156             background: #D7D7D7;
157         }
158     
159         th {
160             color:black;
161         }
162     </style>
163 
164     <script type="text/javascript">
165         window.addEventListener('load', () => {
166             const h1_element = document.getElementsByTagName("h1");
167             h1_element[0].insertAdjacentHTML("afterend", `
168             <p>
169                 <a style="background-color:white;color:black;padding:4px 12px;text-decoration:none;display:inline-block;border-radius:8px;box-shadow:0 2px 4px 0 rgba(0, 0, 0, 0.2), 0 3px 10px 0 rgba(0, 0, 0, 0.19)" href="https://colab.research.google.com/github/"""
170     + GITHUB_REPOSITORY_OWNER
171     + """/cleanlab-docs/blob/master/"""
172     + GITHUB_REF_NAME
173     + """/{{ docname|e }}" target="_blank">
174                 <img src="https://colab.research.google.com/img/colab_favicon_256px.png" alt="" style="width:40px;height:40px;vertical-align:middle">
175                 <span style="vertical-align:middle">Run in Google Colab</span>
176                 </a>
177             </p>
178             `);
179         })
180 
181     </script>
182 """
183 )
184 
185 # Change this to "always" before running in the doc's CI/CD server
186 if os.getenv("CI"):
187     nbsphinx_execute = "always"
188 if os.getenv("SKIP_NOTEBOOKS", "0") != "0":
189     nbsphinx_execute = "never"
190 
191 # -- Options for HTML output -------------------------------------------------
192 
193 # The theme to use for HTML and HTML Help pages.  See the documentation for
194 # a list of builtin themes.
195 #
196 html_theme = "furo"
197 html_favicon = "https://raw.githubusercontent.com/cleanlab/assets/a4483476d449f2f05a4c7cde329e72358099cc07/cleanlab/cleanlab_favicon.svg"
198 html_title = "cleanlab"
199 html_logo = (
200     "https://raw.githubusercontent.com/cleanlab/assets/master/cleanlab/cleanlab_logo_only.png"
201 )
202 html_theme_options = {
203     "footer_icons": [
204         {
205             "name": "GitHub",
206             "url": "https://github.com/cleanlab/cleanlab",
207             "html": """
208                 <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 16 16">
209                     <path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z"></path>
210                 </svg>
211             """,
212             "class": "",
213         },
214     ],
215 }
216 
217 # Add any paths that contain custom static files (such as style sheets) here,
218 # relative to this directory. They are copied after the builtin static files,
219 # so a file named "default.css" will overwrite the builtin "default.css".
220 html_static_path = ["_static"]
221 
222 html_sidebars = {
223     "**": [
224         "brand.html",
225         "sidebar/search.html",
226         "sidebar/scroll-start.html",
227         "sidebar/navigation.html",
228         "sidebar/ethical-ads.html",
229         "versioning.html",
230         "sidebar/scroll-end.html",
231     ],
232 }
233
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/docs/source/conf.py b/docs/source/conf.py
--- a/docs/source/conf.py
+++ b/docs/source/conf.py
@@ -39,6 +39,7 @@
     "sphinx_multiversion",
     "sphinx_copybutton",
     "sphinxcontrib.katex",
+    "sphinx_autodoc_typehints",
 ]
 
 numpy_show_class_members = True
@@ -78,7 +79,7 @@
 napoleon_use_admonition_for_references = False
 napoleon_use_ivar = False
 napoleon_use_param = True
-napoleon_use_rtype = True
+napoleon_use_rtype = False
 napoleon_preprocess_types = True
 napoleon_type_aliases = None
 napoleon_attr_annotations = True

{"golden_diff": "diff --git a/docs/source/conf.py b/docs/source/conf.py\n--- a/docs/source/conf.py\n+++ b/docs/source/conf.py\n@@ -39,6 +39,7 @@\n     \"sphinx_multiversion\",\n     \"sphinx_copybutton\",\n     \"sphinxcontrib.katex\",\n+    \"sphinx_autodoc_typehints\",\n ]\n \n numpy_show_class_members = True\n@@ -78,7 +79,7 @@\n napoleon_use_admonition_for_references = False\n napoleon_use_ivar = False\n napoleon_use_param = True\n-napoleon_use_rtype = True\n+napoleon_use_rtype = False\n napoleon_preprocess_types = True\n napoleon_type_aliases = None\n napoleon_attr_annotations = True\n", "issue": "CI: Suppress complex mypy typing in docs.cleanlab.ai\n If docs.cleanlab.ai shows the mypy type annotations, the current signatures look a bit intimidating, eg. for: `cleanlab.internal.validation`\nhttps://docs.cleanlab.ai/master/cleanlab/internal/validation.html \n\n\nPlan is to use https://github.com/tox-dev/sphinx-autodoc-typehints to auto-tag parameters in docstrings based on the function signatures.\n\nConsider the docstring for `cleanlab.internal.validation.labels_to_array`:\nhttps://docs.cleanlab.ai/master/cleanlab/internal/validation.html#cleanlab.internal.validation.labels_to_array\n\nThe docstring would not change as the tags have been hard-coded. But the signature at the top would read:\n```\ncleanlab.internal.validation.labels_to_array(y)\n```\ninstead of\n```\ncleanlab.internal.validation.labels_to_array(y: Union[list, ndarray, Series, DataFrame, generic]) \u2192 ndarray\n```\n\nThis plan requires ironing out details with unrolling/expanding custom types like `LabelLike`. \nIt will take some effort to review all hard-coded types/tags in docstrings, because they won't be replaced with the auto-tag.\n", "before_files": [{"content": "# Configuration file for the Sphinx documentation builder.\n#\n# This file only contains a selection of the most common options. For a full\n# list see the documentation:\n# https://www.sphinx-doc.org/en/master/usage/configuration.html\n\n# -- Path setup --------------------------------------------------------------\n\n# If extensions (or modules to document with autodoc) are in another directory,\n# add these directories to sys.path here. If the directory is relative to the\n# documentation root, use os.path.abspath to make it absolute, like shown here.\n\nimport os\nimport sys\nimport datetime\nimport shutil\n\nsys.path.insert(0, os.path.abspath(\"../../cleanlab\"))\n\n# -- Project information -----------------------------------------------------\n\nproject = \"cleanlab\"\ncopyright = f\"{datetime.datetime.now().year}, Cleanlab Inc.\"\nauthor = \"Cleanlab Inc.\"\n\n# -- General configuration ---------------------------------------------------\n\n# Add any Sphinx extension module names here, as strings. They can be\n# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom\n# ones.\nextensions = [\n    \"sphinx.ext.napoleon\",\n    \"nbsphinx\",\n    \"sphinx.ext.autodoc\",\n    \"autodocsumm\",\n    \"sphinx.ext.viewcode\",\n    \"sphinx.ext.todo\",\n    \"sphinx_tabs.tabs\",\n    \"sphinx_multiversion\",\n    \"sphinx_copybutton\",\n    \"sphinxcontrib.katex\",\n]\n\nnumpy_show_class_members = True\n\n# Don't add .txt suffix to source files:\nhtml_sourcelink_suffix = \"\"\n\n# Add any paths that contain templates here, relative to this directory.\ntemplates_path = [\"_templates\"]\n\n# List of patterns, relative to source directory, that match files and\n# directories to ignore when looking for source files.\n# This pattern also affects html_static_path and html_extra_path.\nexclude_patterns = [\"_build\"]\n\nautosummary_generate = True\n\n# -- Options for apidoc extension ----------------------------------------------\n\n# apidoc_module_dir = \"cleanlab/cleanlab\"\n\n# -- Options for todo extension ----------------------------------------------\n\n# If true, `todo` and `todoList` produce output, else they produce nothing.\ntodo_include_todos = True\n\n\n# -- Options for Napoleon extension -------------------------------------------\n\nnapoleon_google_docstring = False\nnapoleon_numpy_docstring = True\nnapoleon_include_init_with_doc = False\nnapoleon_include_private_with_doc = False\nnapoleon_include_special_with_doc = True\nnapoleon_use_admonition_for_examples = False\nnapoleon_use_admonition_for_notes = False\nnapoleon_use_admonition_for_references = False\nnapoleon_use_ivar = False\nnapoleon_use_param = True\nnapoleon_use_rtype = True\nnapoleon_preprocess_types = True\nnapoleon_type_aliases = None\nnapoleon_attr_annotations = True\n\n# -- Options for autodoc extension -------------------------------------------\n\n# This value selects what content will be inserted into the main body of an autoclass\n# directive\n#\n# http://www.sphinx-doc.org/en/master/usage/extensions/autodoc.html#directive-autoclass\nautoclass_content = \"class\"\n\n\n# Default options to an ..autoXXX directive.\nautodoc_default_options = {\n    \"autosummary\": True,\n    \"members\": None,\n    \"inherited-members\": None,\n    \"show-inheritance\": None,\n    \"special-members\": \"__call__\",\n}\n\n# Subclasses should show parent classes docstrings if they don't override them.\nautodoc_inherit_docstrings = True\n\n# -- Options for katex extension -------------------------------------------\n\nif os.getenv(\"CI\") or shutil.which(\"katex\") is not None:\n    # requires that the machine have `katex` installed: `npm install -g katex`\n    katex_prerender = True\n\n# -- Variables Setting ---------------------------------------------------\n\n# Determine doc site URL (DOCS_SITE_URL)\n# Check if it's running in production repo\nif os.getenv(\"GITHUB_REPOSITORY\") == \"cleanlab/cleanlab\":\n    DOCS_SITE_URL = \"/\"\nelse:\n    DOCS_SITE_URL = \"/cleanlab-docs/\"\n\ngh_env_file = os.getenv(\"GITHUB_ENV\")\nif gh_env_file is not None:\n    with open(gh_env_file, \"a\") as f:\n        f.write(f\"\\nDOCS_SITE_URL={DOCS_SITE_URL}\")  # Set to Environment Var\n\nGITHUB_REPOSITORY_OWNER = os.getenv(\"GITHUB_REPOSITORY_OWNER\") or \"cleanlab\"\nGITHUB_REF_NAME = os.getenv(\"GITHUB_REF_NAME\") or \"master\"\n\n# Pass additional variables to Jinja templates\nhtml_context = {\n    \"DOCS_SITE_URL\": DOCS_SITE_URL,\n}\n\n# -- nbsphinx Configuration ---------------------------------------------------\n\n# This is processed by Jinja2 and inserted before each notebook\nnbsphinx_prolog = (\n    \"\"\"\n{% set docname = env.doc2path(env.docname, base=None) %}\n\n.. raw:: html\n\n    <style>\n        .nbinput .prompt,\n        .nboutput .prompt {\n            display: none;\n        }\n\n        .output_area {\n            max-height: 300px;\n            overflow: auto;\n        }\n\n        .dataframe {\n            background: #D7D7D7;\n        }\n    \n        th {\n            color:black;\n        }\n    </style>\n\n    <script type=\"text/javascript\">\n        window.addEventListener('load', () => {\n            const h1_element = document.getElementsByTagName(\"h1\");\n            h1_element[0].insertAdjacentHTML(\"afterend\", `\n            <p>\n                <a style=\"background-color:white;color:black;padding:4px 12px;text-decoration:none;display:inline-block;border-radius:8px;box-shadow:0 2px 4px 0 rgba(0, 0, 0, 0.2), 0 3px 10px 0 rgba(0, 0, 0, 0.19)\" href=\"https://colab.research.google.com/github/\"\"\"\n    + GITHUB_REPOSITORY_OWNER\n    + \"\"\"/cleanlab-docs/blob/master/\"\"\"\n    + GITHUB_REF_NAME\n    + \"\"\"/{{ docname|e }}\" target=\"_blank\">\n                <img src=\"https://colab.research.google.com/img/colab_favicon_256px.png\" alt=\"\" style=\"width:40px;height:40px;vertical-align:middle\">\n                <span style=\"vertical-align:middle\">Run in Google Colab</span>\n                </a>\n            </p>\n            `);\n        })\n\n    </script>\n\"\"\"\n)\n\n# Change this to \"always\" before running in the doc's CI/CD server\nif os.getenv(\"CI\"):\n    nbsphinx_execute = \"always\"\nif os.getenv(\"SKIP_NOTEBOOKS\", \"0\") != \"0\":\n    nbsphinx_execute = \"never\"\n\n# -- Options for HTML output -------------------------------------------------\n\n# The theme to use for HTML and HTML Help pages.  See the documentation for\n# a list of builtin themes.\n#\nhtml_theme = \"furo\"\nhtml_favicon = \"https://raw.githubusercontent.com/cleanlab/assets/a4483476d449f2f05a4c7cde329e72358099cc07/cleanlab/cleanlab_favicon.svg\"\nhtml_title = \"cleanlab\"\nhtml_logo = (\n    \"https://raw.githubusercontent.com/cleanlab/assets/master/cleanlab/cleanlab_logo_only.png\"\n)\nhtml_theme_options = {\n    \"footer_icons\": [\n        {\n            \"name\": \"GitHub\",\n            \"url\": \"https://github.com/cleanlab/cleanlab\",\n            \"html\": \"\"\"\n                <svg stroke=\"currentColor\" fill=\"currentColor\" stroke-width=\"0\" viewBox=\"0 0 16 16\">\n                    <path fill-rule=\"evenodd\" d=\"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z\"></path>\n                </svg>\n            \"\"\",\n            \"class\": \"\",\n        },\n    ],\n}\n\n# Add any paths that contain custom static files (such as style sheets) here,\n# relative to this directory. They are copied after the builtin static files,\n# so a file named \"default.css\" will overwrite the builtin \"default.css\".\nhtml_static_path = [\"_static\"]\n\nhtml_sidebars = {\n    \"**\": [\n        \"brand.html\",\n        \"sidebar/search.html\",\n        \"sidebar/scroll-start.html\",\n        \"sidebar/navigation.html\",\n        \"sidebar/ethical-ads.html\",\n        \"versioning.html\",\n        \"sidebar/scroll-end.html\",\n    ],\n}\n", "path": "docs/source/conf.py"}], "after_files": [{"content": "# Configuration file for the Sphinx documentation builder.\n#\n# This file only contains a selection of the most common options. For a full\n# list see the documentation:\n# https://www.sphinx-doc.org/en/master/usage/configuration.html\n\n# -- Path setup --------------------------------------------------------------\n\n# If extensions (or modules to document with autodoc) are in another directory,\n# add these directories to sys.path here. If the directory is relative to the\n# documentation root, use os.path.abspath to make it absolute, like shown here.\n\nimport os\nimport sys\nimport datetime\nimport shutil\n\nsys.path.insert(0, os.path.abspath(\"../../cleanlab\"))\n\n# -- Project information -----------------------------------------------------\n\nproject = \"cleanlab\"\ncopyright = f\"{datetime.datetime.now().year}, Cleanlab Inc.\"\nauthor = \"Cleanlab Inc.\"\n\n# -- General configuration ---------------------------------------------------\n\n# Add any Sphinx extension module names here, as strings. They can be\n# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom\n# ones.\nextensions = [\n    \"sphinx.ext.napoleon\",\n    \"nbsphinx\",\n    \"sphinx.ext.autodoc\",\n    \"autodocsumm\",\n    \"sphinx.ext.viewcode\",\n    \"sphinx.ext.todo\",\n    \"sphinx_tabs.tabs\",\n    \"sphinx_multiversion\",\n    \"sphinx_copybutton\",\n    \"sphinxcontrib.katex\",\n    \"sphinx_autodoc_typehints\",\n]\n\nnumpy_show_class_members = True\n\n# Don't add .txt suffix to source files:\nhtml_sourcelink_suffix = \"\"\n\n# Add any paths that contain templates here, relative to this directory.\ntemplates_path = [\"_templates\"]\n\n# List of patterns, relative to source directory, that match files and\n# directories to ignore when looking for source files.\n# This pattern also affects html_static_path and html_extra_path.\nexclude_patterns = [\"_build\"]\n\nautosummary_generate = True\n\n# -- Options for apidoc extension ----------------------------------------------\n\n# apidoc_module_dir = \"cleanlab/cleanlab\"\n\n# -- Options for todo extension ----------------------------------------------\n\n# If true, `todo` and `todoList` produce output, else they produce nothing.\ntodo_include_todos = True\n\n\n# -- Options for Napoleon extension -------------------------------------------\n\nnapoleon_google_docstring = False\nnapoleon_numpy_docstring = True\nnapoleon_include_init_with_doc = False\nnapoleon_include_private_with_doc = False\nnapoleon_include_special_with_doc = True\nnapoleon_use_admonition_for_examples = False\nnapoleon_use_admonition_for_notes = False\nnapoleon_use_admonition_for_references = False\nnapoleon_use_ivar = False\nnapoleon_use_param = True\nnapoleon_use_rtype = False\nnapoleon_preprocess_types = True\nnapoleon_type_aliases = None\nnapoleon_attr_annotations = True\n\n# -- Options for autodoc extension -------------------------------------------\n\n# This value selects what content will be inserted into the main body of an autoclass\n# directive\n#\n# http://www.sphinx-doc.org/en/master/usage/extensions/autodoc.html#directive-autoclass\nautoclass_content = \"class\"\n\n\n# Default options to an ..autoXXX directive.\nautodoc_default_options = {\n    \"autosummary\": True,\n    \"members\": None,\n    \"inherited-members\": None,\n    \"show-inheritance\": None,\n    \"special-members\": \"__call__\",\n}\n\n# Subclasses should show parent classes docstrings if they don't override them.\nautodoc_inherit_docstrings = True\n\n# -- Options for katex extension -------------------------------------------\n\nif os.getenv(\"CI\") or shutil.which(\"katex\") is not None:\n    # requires that the machine have `katex` installed: `npm install -g katex`\n    katex_prerender = True\n\n# -- Variables Setting ---------------------------------------------------\n\n# Determine doc site URL (DOCS_SITE_URL)\n# Check if it's running in production repo\nif os.getenv(\"GITHUB_REPOSITORY\") == \"cleanlab/cleanlab\":\n    DOCS_SITE_URL = \"/\"\nelse:\n    DOCS_SITE_URL = \"/cleanlab-docs/\"\n\ngh_env_file = os.getenv(\"GITHUB_ENV\")\nif gh_env_file is not None:\n    with open(gh_env_file, \"a\") as f:\n        f.write(f\"\\nDOCS_SITE_URL={DOCS_SITE_URL}\")  # Set to Environment Var\n\nGITHUB_REPOSITORY_OWNER = os.getenv(\"GITHUB_REPOSITORY_OWNER\") or \"cleanlab\"\nGITHUB_REF_NAME = os.getenv(\"GITHUB_REF_NAME\") or \"master\"\n\n# Pass additional variables to Jinja templates\nhtml_context = {\n    \"DOCS_SITE_URL\": DOCS_SITE_URL,\n}\n\n# -- nbsphinx Configuration ---------------------------------------------------\n\n# This is processed by Jinja2 and inserted before each notebook\nnbsphinx_prolog = (\n    \"\"\"\n{% set docname = env.doc2path(env.docname, base=None) %}\n\n.. raw:: html\n\n    <style>\n        .nbinput .prompt,\n        .nboutput .prompt {\n            display: none;\n        }\n\n        .output_area {\n            max-height: 300px;\n            overflow: auto;\n        }\n\n        .dataframe {\n            background: #D7D7D7;\n        }\n    \n        th {\n            color:black;\n        }\n    </style>\n\n    <script type=\"text/javascript\">\n        window.addEventListener('load', () => {\n            const h1_element = document.getElementsByTagName(\"h1\");\n            h1_element[0].insertAdjacentHTML(\"afterend\", `\n            <p>\n                <a style=\"background-color:white;color:black;padding:4px 12px;text-decoration:none;display:inline-block;border-radius:8px;box-shadow:0 2px 4px 0 rgba(0, 0, 0, 0.2), 0 3px 10px 0 rgba(0, 0, 0, 0.19)\" href=\"https://colab.research.google.com/github/\"\"\"\n    + GITHUB_REPOSITORY_OWNER\n    + \"\"\"/cleanlab-docs/blob/master/\"\"\"\n    + GITHUB_REF_NAME\n    + \"\"\"/{{ docname|e }}\" target=\"_blank\">\n                <img src=\"https://colab.research.google.com/img/colab_favicon_256px.png\" alt=\"\" style=\"width:40px;height:40px;vertical-align:middle\">\n                <span style=\"vertical-align:middle\">Run in Google Colab</span>\n                </a>\n            </p>\n            `);\n        })\n\n    </script>\n\"\"\"\n)\n\n# Change this to \"always\" before running in the doc's CI/CD server\nif os.getenv(\"CI\"):\n    nbsphinx_execute = \"always\"\nif os.getenv(\"SKIP_NOTEBOOKS\", \"0\") != \"0\":\n    nbsphinx_execute = \"never\"\n\n# -- Options for HTML output -------------------------------------------------\n\n# The theme to use for HTML and HTML Help pages.  See the documentation for\n# a list of builtin themes.\n#\nhtml_theme = \"furo\"\nhtml_favicon = \"https://raw.githubusercontent.com/cleanlab/assets/a4483476d449f2f05a4c7cde329e72358099cc07/cleanlab/cleanlab_favicon.svg\"\nhtml_title = \"cleanlab\"\nhtml_logo = (\n    \"https://raw.githubusercontent.com/cleanlab/assets/master/cleanlab/cleanlab_logo_only.png\"\n)\nhtml_theme_options = {\n    \"footer_icons\": [\n        {\n            \"name\": \"GitHub\",\n            \"url\": \"https://github.com/cleanlab/cleanlab\",\n            \"html\": \"\"\"\n                <svg stroke=\"currentColor\" fill=\"currentColor\" stroke-width=\"0\" viewBox=\"0 0 16 16\">\n                    <path fill-rule=\"evenodd\" d=\"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z\"></path>\n                </svg>\n            \"\"\",\n            \"class\": \"\",\n        },\n    ],\n}\n\n# Add any paths that contain custom static files (such as style sheets) here,\n# relative to this directory. They are copied after the builtin static files,\n# so a file named \"default.css\" will overwrite the builtin \"default.css\".\nhtml_static_path = [\"_static\"]\n\nhtml_sidebars = {\n    \"**\": [\n        \"brand.html\",\n        \"sidebar/search.html\",\n        \"sidebar/scroll-start.html\",\n        \"sidebar/navigation.html\",\n        \"sidebar/ethical-ads.html\",\n        \"versioning.html\",\n        \"sidebar/scroll-end.html\",\n    ],\n}\n", "path": "docs/source/conf.py"}]}