We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Convert documentation to myst


--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `noxfile.py`
Content:
```
1 """Nox sessions."""
2 import shutil
3 import sys
4 from pathlib import Path
5 from textwrap import dedent
6 
7 import nox
8 from nox_poetry import Session
9 from nox_poetry import session
10 
11 
12 package = "flyswot"
13 python_versions = ["3.9", "3.8"]
14 nox.options.sessions = (
15     "pre-commit",
16     "safety",
17     "mypy",
18     "tests",
19     "xdoctest",
20     "docs-build",
21 )
22 
23 
24 def activate_virtualenv_in_precommit_hooks(session: Session) -> None:
25     """Activate virtualenv in hooks installed by pre-commit.
26 
27     This function patches git hooks installed by pre-commit to activate the
28     session's virtual environment. This allows pre-commit to locate hooks in
29     that environment when invoked from git.
30 
31     Args:
32         session: The Session object.
33     """
34     if session.bin is None:
35         return
36 
37     virtualenv = session.env.get("VIRTUAL_ENV")
38     if virtualenv is None:
39         return
40 
41     hookdir = Path(".git") / "hooks"
42     if not hookdir.is_dir():
43         return
44 
45     for hook in hookdir.iterdir():
46         if hook.name.endswith(".sample") or not hook.is_file():
47             continue
48 
49         text = hook.read_text()
50         bindir = repr(session.bin)[1:-1]  # strip quotes
51         if not (
52             Path("A") == Path("a") and bindir.lower() in text.lower() or bindir in text
53         ):
54             continue
55 
56         lines = text.splitlines()
57         if not (lines[0].startswith("#!") and "python" in lines[0].lower()):
58             continue
59 
60         header = dedent(
61             f"""\
62             import os
63             os.environ["VIRTUAL_ENV"] = {virtualenv!r}
64             os.environ["PATH"] = os.pathsep.join((
65                 {session.bin!r},
66                 os.environ.get("PATH", ""),
67             ))
68             """
69         )
70 
71         lines.insert(1, header)
72         hook.write_text("\n".join(lines))
73 
74 
75 @session(name="pre-commit", python="3.9")
76 def precommit(session: Session) -> None:
77     """Lint using pre-commit."""
78     args = session.posargs or ["run", "--all-files", "--show-diff-on-failure"]
79     session.install(
80         "black",
81         "darglint",
82         "flake8",
83         "flake8-bandit",
84         "flake8-bugbear",
85         "flake8-docstrings",
86         "flake8-rst-docstrings",
87         "pep8-naming",
88         "pre-commit",
89         "pre-commit-hooks",
90         "reorder-python-imports",
91     )
92     session.run("pre-commit", *args)
93     if args and args[0] == "install":
94         activate_virtualenv_in_precommit_hooks(session)
95 
96 
97 @session(python="3.9")
98 def safety(session: Session) -> None:
99     """Scan dependencies for insecure packages."""
100     requirements = session.poetry.export_requirements()
101     session.install("safety")
102     session.run(
103         "safety",
104         "check",
105         "--full-report",
106         "-i",
107         "44716",
108         "-i",
109         "44717",
110         "-i",
111         "44715",
112         f"--file={requirements}",
113     )
114 
115 
116 @session(python=python_versions)
117 def mypy(session: Session) -> None:
118     """Type-check using mypy."""
119     args = session.posargs or ["src", "docs/conf.py"]
120     session.install(".")
121     session.install("mypy", "pytest")
122     session.run("mypy", *args)
123     if not session.posargs:
124         session.run("mypy", f"--python-executable={sys.executable}", "noxfile.py")
125 
126 
127 @session(python=python_versions)
128 def tests(session: Session) -> None:
129     """Run the test suite."""
130     session.install(".")
131     session.install(
132         "coverage[toml]",
133         "pytest",
134         "pygments",
135         "hypothesis",
136         "pytest-datafiles",
137         "onnxruntime",
138     )
139     try:
140         session.run("coverage", "run", "--parallel", "-m", "pytest", *session.posargs)
141     finally:
142         if session.interactive:
143             session.notify("coverage")
144 
145 
146 @session
147 def coverage(session: Session) -> None:
148     """Produce the coverage report."""
149     # Do not use session.posargs unless this is the only session.
150     nsessions = len(session._runner.manifest)  # type: ignore[attr-defined]
151     has_args = session.posargs and nsessions == 1
152     args = session.posargs if has_args else ["report"]
153 
154     session.install("coverage[toml]")
155 
156     if not has_args and any(Path().glob(".coverage.*")):
157         session.run("coverage", "combine")
158 
159     session.run("coverage", *args)
160 
161 
162 @session(python=python_versions)
163 def xdoctest(session: Session) -> None:
164     """Run examples with xdoctest."""
165     args = session.posargs or ["all"]
166     session.install(".")
167     session.install("xdoctest[colors]")
168     session.run("python", "-m", "xdoctest", package, *args)
169 
170 
171 @session(name="docs-build", python="3.8")
172 def docs_build(session: Session) -> None:
173     """Build the documentation."""
174     args = session.posargs or ["docs", "docs/_build"]
175     session.install(".")
176     session.install("sphinx", "sphinx-click", "sphinx-rtd-theme")
177 
178     build_dir = Path("docs", "_build")
179     if build_dir.exists():
180         shutil.rmtree(build_dir)
181 
182     session.run("sphinx-build", *args)
183 
184 
185 @session(python="3.8")
186 def docs(session: Session) -> None:
187     """Build and serve the documentation with live reloading on file changes."""
188     args = session.posargs or ["--open-browser", "docs", "docs/_build"]
189     session.install(".")
190     session.install("sphinx", "sphinx-autobuild", "sphinx-click", "sphinx-rtd-theme")
191 
192     build_dir = Path("docs", "_build")
193     if build_dir.exists():
194         shutil.rmtree(build_dir)
195 
196     session.run("sphinx-autobuild", *args)
197
```

Path: `docs/conf.py`
Content:
```
1 """Sphinx configuration."""
2 from datetime import datetime
3 
4 
5 project = "flyswot"
6 author = "Daniel van Strien"
7 copyright = f"{datetime.now().year}, {author}"
8 extensions = [
9     "sphinx.ext.autodoc",
10     "sphinx.ext.napoleon",
11     "sphinx_click",
12     "sphinx_rtd_theme",
13 ]
14 autodoc_typehints = "description"
15 html_theme = "sphinx_rtd_theme"
16
```
--- 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/conf.py b/docs/conf.py
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -1,15 +1,12 @@
 """Sphinx configuration."""
-from datetime import datetime
-
-
 project = "flyswot"
 author = "Daniel van Strien"
-copyright = f"{datetime.now().year}, {author}"
+copyright = "2021, Daniel van Strien"
 extensions = [
     "sphinx.ext.autodoc",
     "sphinx.ext.napoleon",
     "sphinx_click",
-    "sphinx_rtd_theme",
+    "myst_parser",
 ]
 autodoc_typehints = "description"
-html_theme = "sphinx_rtd_theme"
+html_theme = "furo"
diff --git a/noxfile.py b/noxfile.py
--- a/noxfile.py
+++ b/noxfile.py
@@ -1,4 +1,5 @@
 """Nox sessions."""
+import os
 import shutil
 import sys
 from pathlib import Path
@@ -168,12 +169,17 @@
     session.run("python", "-m", "xdoctest", package, *args)
 
 
-@session(name="docs-build", python="3.8")
+@session(name="docs-build", python=python_versions[1])
 def docs_build(session: Session) -> None:
     """Build the documentation."""
-    args = session.posargs or ["docs", "docs/_build"]
     session.install(".")
-    session.install("sphinx", "sphinx-click", "sphinx-rtd-theme")
+    session.install("cogapp")
+    args = ["-r", "README.md"]
+    session.run("cog", *args)
+    args = session.posargs or ["docs", "docs/_build"]
+    if not session.posargs and "FORCE_COLOR" in os.environ:
+        args.insert(0, "--color")
+    session.install("sphinx", "sphinx-click", "furo", "myst-parser")
 
     build_dir = Path("docs", "_build")
     if build_dir.exists():
@@ -182,12 +188,12 @@
     session.run("sphinx-build", *args)
 
 
-@session(python="3.8")
+@session(python=python_versions[0])
 def docs(session: Session) -> None:
     """Build and serve the documentation with live reloading on file changes."""
     args = session.posargs or ["--open-browser", "docs", "docs/_build"]
     session.install(".")
-    session.install("sphinx", "sphinx-autobuild", "sphinx-click", "sphinx-rtd-theme")
+    session.install("sphinx", "sphinx-autobuild", "sphinx-click", "furo", "myst-parser")
 
     build_dir = Path("docs", "_build")
     if build_dir.exists():

{"golden_diff": "diff --git a/docs/conf.py b/docs/conf.py\n--- a/docs/conf.py\n+++ b/docs/conf.py\n@@ -1,15 +1,12 @@\n \"\"\"Sphinx configuration.\"\"\"\n-from datetime import datetime\n-\n-\n project = \"flyswot\"\n author = \"Daniel van Strien\"\n-copyright = f\"{datetime.now().year}, {author}\"\n+copyright = \"2021, Daniel van Strien\"\n extensions = [\n     \"sphinx.ext.autodoc\",\n     \"sphinx.ext.napoleon\",\n     \"sphinx_click\",\n-    \"sphinx_rtd_theme\",\n+    \"myst_parser\",\n ]\n autodoc_typehints = \"description\"\n-html_theme = \"sphinx_rtd_theme\"\n+html_theme = \"furo\"\ndiff --git a/noxfile.py b/noxfile.py\n--- a/noxfile.py\n+++ b/noxfile.py\n@@ -1,4 +1,5 @@\n \"\"\"Nox sessions.\"\"\"\n+import os\n import shutil\n import sys\n from pathlib import Path\n@@ -168,12 +169,17 @@\n     session.run(\"python\", \"-m\", \"xdoctest\", package, *args)\n \n \n-@session(name=\"docs-build\", python=\"3.8\")\n+@session(name=\"docs-build\", python=python_versions[1])\n def docs_build(session: Session) -> None:\n     \"\"\"Build the documentation.\"\"\"\n-    args = session.posargs or [\"docs\", \"docs/_build\"]\n     session.install(\".\")\n-    session.install(\"sphinx\", \"sphinx-click\", \"sphinx-rtd-theme\")\n+    session.install(\"cogapp\")\n+    args = [\"-r\", \"README.md\"]\n+    session.run(\"cog\", *args)\n+    args = session.posargs or [\"docs\", \"docs/_build\"]\n+    if not session.posargs and \"FORCE_COLOR\" in os.environ:\n+        args.insert(0, \"--color\")\n+    session.install(\"sphinx\", \"sphinx-click\", \"furo\", \"myst-parser\")\n \n     build_dir = Path(\"docs\", \"_build\")\n     if build_dir.exists():\n@@ -182,12 +188,12 @@\n     session.run(\"sphinx-build\", *args)\n \n \n-@session(python=\"3.8\")\n+@session(python=python_versions[0])\n def docs(session: Session) -> None:\n     \"\"\"Build and serve the documentation with live reloading on file changes.\"\"\"\n     args = session.posargs or [\"--open-browser\", \"docs\", \"docs/_build\"]\n     session.install(\".\")\n-    session.install(\"sphinx\", \"sphinx-autobuild\", \"sphinx-click\", \"sphinx-rtd-theme\")\n+    session.install(\"sphinx\", \"sphinx-autobuild\", \"sphinx-click\", \"furo\", \"myst-parser\")\n \n     build_dir = Path(\"docs\", \"_build\")\n     if build_dir.exists():\n", "issue": "Convert documentation to myst\n\n", "before_files": [{"content": "\"\"\"Nox sessions.\"\"\"\nimport shutil\nimport sys\nfrom pathlib import Path\nfrom textwrap import dedent\n\nimport nox\nfrom nox_poetry import Session\nfrom nox_poetry import session\n\n\npackage = \"flyswot\"\npython_versions = [\"3.9\", \"3.8\"]\nnox.options.sessions = (\n    \"pre-commit\",\n    \"safety\",\n    \"mypy\",\n    \"tests\",\n    \"xdoctest\",\n    \"docs-build\",\n)\n\n\ndef activate_virtualenv_in_precommit_hooks(session: Session) -> None:\n    \"\"\"Activate virtualenv in hooks installed by pre-commit.\n\n    This function patches git hooks installed by pre-commit to activate the\n    session's virtual environment. This allows pre-commit to locate hooks in\n    that environment when invoked from git.\n\n    Args:\n        session: The Session object.\n    \"\"\"\n    if session.bin is None:\n        return\n\n    virtualenv = session.env.get(\"VIRTUAL_ENV\")\n    if virtualenv is None:\n        return\n\n    hookdir = Path(\".git\") / \"hooks\"\n    if not hookdir.is_dir():\n        return\n\n    for hook in hookdir.iterdir():\n        if hook.name.endswith(\".sample\") or not hook.is_file():\n            continue\n\n        text = hook.read_text()\n        bindir = repr(session.bin)[1:-1]  # strip quotes\n        if not (\n            Path(\"A\") == Path(\"a\") and bindir.lower() in text.lower() or bindir in text\n        ):\n            continue\n\n        lines = text.splitlines()\n        if not (lines[0].startswith(\"#!\") and \"python\" in lines[0].lower()):\n            continue\n\n        header = dedent(\n            f\"\"\"\\\n            import os\n            os.environ[\"VIRTUAL_ENV\"] = {virtualenv!r}\n            os.environ[\"PATH\"] = os.pathsep.join((\n                {session.bin!r},\n                os.environ.get(\"PATH\", \"\"),\n            ))\n            \"\"\"\n        )\n\n        lines.insert(1, header)\n        hook.write_text(\"\\n\".join(lines))\n\n\n@session(name=\"pre-commit\", python=\"3.9\")\ndef precommit(session: Session) -> None:\n    \"\"\"Lint using pre-commit.\"\"\"\n    args = session.posargs or [\"run\", \"--all-files\", \"--show-diff-on-failure\"]\n    session.install(\n        \"black\",\n        \"darglint\",\n        \"flake8\",\n        \"flake8-bandit\",\n        \"flake8-bugbear\",\n        \"flake8-docstrings\",\n        \"flake8-rst-docstrings\",\n        \"pep8-naming\",\n        \"pre-commit\",\n        \"pre-commit-hooks\",\n        \"reorder-python-imports\",\n    )\n    session.run(\"pre-commit\", *args)\n    if args and args[0] == \"install\":\n        activate_virtualenv_in_precommit_hooks(session)\n\n\n@session(python=\"3.9\")\ndef safety(session: Session) -> None:\n    \"\"\"Scan dependencies for insecure packages.\"\"\"\n    requirements = session.poetry.export_requirements()\n    session.install(\"safety\")\n    session.run(\n        \"safety\",\n        \"check\",\n        \"--full-report\",\n        \"-i\",\n        \"44716\",\n        \"-i\",\n        \"44717\",\n        \"-i\",\n        \"44715\",\n        f\"--file={requirements}\",\n    )\n\n\n@session(python=python_versions)\ndef mypy(session: Session) -> None:\n    \"\"\"Type-check using mypy.\"\"\"\n    args = session.posargs or [\"src\", \"docs/conf.py\"]\n    session.install(\".\")\n    session.install(\"mypy\", \"pytest\")\n    session.run(\"mypy\", *args)\n    if not session.posargs:\n        session.run(\"mypy\", f\"--python-executable={sys.executable}\", \"noxfile.py\")\n\n\n@session(python=python_versions)\ndef tests(session: Session) -> None:\n    \"\"\"Run the test suite.\"\"\"\n    session.install(\".\")\n    session.install(\n        \"coverage[toml]\",\n        \"pytest\",\n        \"pygments\",\n        \"hypothesis\",\n        \"pytest-datafiles\",\n        \"onnxruntime\",\n    )\n    try:\n        session.run(\"coverage\", \"run\", \"--parallel\", \"-m\", \"pytest\", *session.posargs)\n    finally:\n        if session.interactive:\n            session.notify(\"coverage\")\n\n\n@session\ndef coverage(session: Session) -> None:\n    \"\"\"Produce the coverage report.\"\"\"\n    # Do not use session.posargs unless this is the only session.\n    nsessions = len(session._runner.manifest)  # type: ignore[attr-defined]\n    has_args = session.posargs and nsessions == 1\n    args = session.posargs if has_args else [\"report\"]\n\n    session.install(\"coverage[toml]\")\n\n    if not has_args and any(Path().glob(\".coverage.*\")):\n        session.run(\"coverage\", \"combine\")\n\n    session.run(\"coverage\", *args)\n\n\n@session(python=python_versions)\ndef xdoctest(session: Session) -> None:\n    \"\"\"Run examples with xdoctest.\"\"\"\n    args = session.posargs or [\"all\"]\n    session.install(\".\")\n    session.install(\"xdoctest[colors]\")\n    session.run(\"python\", \"-m\", \"xdoctest\", package, *args)\n\n\n@session(name=\"docs-build\", python=\"3.8\")\ndef docs_build(session: Session) -> None:\n    \"\"\"Build the documentation.\"\"\"\n    args = session.posargs or [\"docs\", \"docs/_build\"]\n    session.install(\".\")\n    session.install(\"sphinx\", \"sphinx-click\", \"sphinx-rtd-theme\")\n\n    build_dir = Path(\"docs\", \"_build\")\n    if build_dir.exists():\n        shutil.rmtree(build_dir)\n\n    session.run(\"sphinx-build\", *args)\n\n\n@session(python=\"3.8\")\ndef docs(session: Session) -> None:\n    \"\"\"Build and serve the documentation with live reloading on file changes.\"\"\"\n    args = session.posargs or [\"--open-browser\", \"docs\", \"docs/_build\"]\n    session.install(\".\")\n    session.install(\"sphinx\", \"sphinx-autobuild\", \"sphinx-click\", \"sphinx-rtd-theme\")\n\n    build_dir = Path(\"docs\", \"_build\")\n    if build_dir.exists():\n        shutil.rmtree(build_dir)\n\n    session.run(\"sphinx-autobuild\", *args)\n", "path": "noxfile.py"}, {"content": "\"\"\"Sphinx configuration.\"\"\"\nfrom datetime import datetime\n\n\nproject = \"flyswot\"\nauthor = \"Daniel van Strien\"\ncopyright = f\"{datetime.now().year}, {author}\"\nextensions = [\n    \"sphinx.ext.autodoc\",\n    \"sphinx.ext.napoleon\",\n    \"sphinx_click\",\n    \"sphinx_rtd_theme\",\n]\nautodoc_typehints = \"description\"\nhtml_theme = \"sphinx_rtd_theme\"\n", "path": "docs/conf.py"}], "after_files": [{"content": "\"\"\"Nox sessions.\"\"\"\nimport os\nimport shutil\nimport sys\nfrom pathlib import Path\nfrom textwrap import dedent\n\nimport nox\nfrom nox_poetry import Session\nfrom nox_poetry import session\n\n\npackage = \"flyswot\"\npython_versions = [\"3.9\", \"3.8\"]\nnox.options.sessions = (\n    \"pre-commit\",\n    \"safety\",\n    \"mypy\",\n    \"tests\",\n    \"xdoctest\",\n    \"docs-build\",\n)\n\n\ndef activate_virtualenv_in_precommit_hooks(session: Session) -> None:\n    \"\"\"Activate virtualenv in hooks installed by pre-commit.\n\n    This function patches git hooks installed by pre-commit to activate the\n    session's virtual environment. This allows pre-commit to locate hooks in\n    that environment when invoked from git.\n\n    Args:\n        session: The Session object.\n    \"\"\"\n    if session.bin is None:\n        return\n\n    virtualenv = session.env.get(\"VIRTUAL_ENV\")\n    if virtualenv is None:\n        return\n\n    hookdir = Path(\".git\") / \"hooks\"\n    if not hookdir.is_dir():\n        return\n\n    for hook in hookdir.iterdir():\n        if hook.name.endswith(\".sample\") or not hook.is_file():\n            continue\n\n        text = hook.read_text()\n        bindir = repr(session.bin)[1:-1]  # strip quotes\n        if not (\n            Path(\"A\") == Path(\"a\") and bindir.lower() in text.lower() or bindir in text\n        ):\n            continue\n\n        lines = text.splitlines()\n        if not (lines[0].startswith(\"#!\") and \"python\" in lines[0].lower()):\n            continue\n\n        header = dedent(\n            f\"\"\"\\\n            import os\n            os.environ[\"VIRTUAL_ENV\"] = {virtualenv!r}\n            os.environ[\"PATH\"] = os.pathsep.join((\n                {session.bin!r},\n                os.environ.get(\"PATH\", \"\"),\n            ))\n            \"\"\"\n        )\n\n        lines.insert(1, header)\n        hook.write_text(\"\\n\".join(lines))\n\n\n@session(name=\"pre-commit\", python=\"3.9\")\ndef precommit(session: Session) -> None:\n    \"\"\"Lint using pre-commit.\"\"\"\n    args = session.posargs or [\"run\", \"--all-files\", \"--show-diff-on-failure\"]\n    session.install(\n        \"black\",\n        \"darglint\",\n        \"flake8\",\n        \"flake8-bandit\",\n        \"flake8-bugbear\",\n        \"flake8-docstrings\",\n        \"flake8-rst-docstrings\",\n        \"pep8-naming\",\n        \"pre-commit\",\n        \"pre-commit-hooks\",\n        \"reorder-python-imports\",\n    )\n    session.run(\"pre-commit\", *args)\n    if args and args[0] == \"install\":\n        activate_virtualenv_in_precommit_hooks(session)\n\n\n@session(python=\"3.9\")\ndef safety(session: Session) -> None:\n    \"\"\"Scan dependencies for insecure packages.\"\"\"\n    requirements = session.poetry.export_requirements()\n    session.install(\"safety\")\n    session.run(\n        \"safety\",\n        \"check\",\n        \"--full-report\",\n        \"-i\",\n        \"44716\",\n        \"-i\",\n        \"44717\",\n        \"-i\",\n        \"44715\",\n        f\"--file={requirements}\",\n    )\n\n\n@session(python=python_versions)\ndef mypy(session: Session) -> None:\n    \"\"\"Type-check using mypy.\"\"\"\n    args = session.posargs or [\"src\", \"docs/conf.py\"]\n    session.install(\".\")\n    session.install(\"mypy\", \"pytest\")\n    session.run(\"mypy\", *args)\n    if not session.posargs:\n        session.run(\"mypy\", f\"--python-executable={sys.executable}\", \"noxfile.py\")\n\n\n@session(python=python_versions)\ndef tests(session: Session) -> None:\n    \"\"\"Run the test suite.\"\"\"\n    session.install(\".\")\n    session.install(\n        \"coverage[toml]\",\n        \"pytest\",\n        \"pygments\",\n        \"hypothesis\",\n        \"pytest-datafiles\",\n        \"onnxruntime\",\n    )\n    try:\n        session.run(\"coverage\", \"run\", \"--parallel\", \"-m\", \"pytest\", *session.posargs)\n    finally:\n        if session.interactive:\n            session.notify(\"coverage\")\n\n\n@session\ndef coverage(session: Session) -> None:\n    \"\"\"Produce the coverage report.\"\"\"\n    # Do not use session.posargs unless this is the only session.\n    nsessions = len(session._runner.manifest)  # type: ignore[attr-defined]\n    has_args = session.posargs and nsessions == 1\n    args = session.posargs if has_args else [\"report\"]\n\n    session.install(\"coverage[toml]\")\n\n    if not has_args and any(Path().glob(\".coverage.*\")):\n        session.run(\"coverage\", \"combine\")\n\n    session.run(\"coverage\", *args)\n\n\n@session(python=python_versions)\ndef xdoctest(session: Session) -> None:\n    \"\"\"Run examples with xdoctest.\"\"\"\n    args = session.posargs or [\"all\"]\n    session.install(\".\")\n    session.install(\"xdoctest[colors]\")\n    session.run(\"python\", \"-m\", \"xdoctest\", package, *args)\n\n\n@session(name=\"docs-build\", python=python_versions[1])\ndef docs_build(session: Session) -> None:\n    \"\"\"Build the documentation.\"\"\"\n    session.install(\".\")\n    session.install(\"cogapp\")\n    args = [\"-r\", \"README.md\"]\n    session.run(\"cog\", *args)\n    args = session.posargs or [\"docs\", \"docs/_build\"]\n    if not session.posargs and \"FORCE_COLOR\" in os.environ:\n        args.insert(0, \"--color\")\n    session.install(\"sphinx\", \"sphinx-click\", \"furo\", \"myst-parser\")\n\n    build_dir = Path(\"docs\", \"_build\")\n    if build_dir.exists():\n        shutil.rmtree(build_dir)\n\n    session.run(\"sphinx-build\", *args)\n\n\n@session(python=python_versions[0])\ndef docs(session: Session) -> None:\n    \"\"\"Build and serve the documentation with live reloading on file changes.\"\"\"\n    args = session.posargs or [\"--open-browser\", \"docs\", \"docs/_build\"]\n    session.install(\".\")\n    session.install(\"sphinx\", \"sphinx-autobuild\", \"sphinx-click\", \"furo\", \"myst-parser\")\n\n    build_dir = Path(\"docs\", \"_build\")\n    if build_dir.exists():\n        shutil.rmtree(build_dir)\n\n    session.run(\"sphinx-autobuild\", *args)\n", "path": "noxfile.py"}, {"content": "\"\"\"Sphinx configuration.\"\"\"\nproject = \"flyswot\"\nauthor = \"Daniel van Strien\"\ncopyright = \"2021, Daniel van Strien\"\nextensions = [\n    \"sphinx.ext.autodoc\",\n    \"sphinx.ext.napoleon\",\n    \"sphinx_click\",\n    \"myst_parser\",\n]\nautodoc_typehints = \"description\"\nhtml_theme = \"furo\"\n", "path": "docs/conf.py"}]}