From ca0eb25694e9af0636428f635dd46224ec8c5698 Mon Sep 17 00:00:00 2001 From: Eugene Yurtsev Date: Thu, 16 Nov 2023 16:17:45 -0500 Subject: [PATCH] Scaffold for sphinx docs (#21) Add docs scaffolding --- docs/Makefile | 20 ++ docs/make.bat | 35 +++ docs/source/_static/parrot.png | Bin 0 -> 18941 bytes docs/source/conf.py | 105 +++++++ docs/source/index.md | 8 + poetry.lock | 522 ++++++++++++++++++++++++++++++++- pyproject.toml | 11 + 7 files changed, 694 insertions(+), 7 deletions(-) create mode 100644 docs/Makefile create mode 100644 docs/make.bat create mode 100644 docs/source/_static/parrot.png create mode 100644 docs/source/conf.py create mode 100644 docs/source/index.md diff --git a/docs/Makefile b/docs/Makefile new file mode 100644 index 00000000..d0c3cbf1 --- /dev/null +++ b/docs/Makefile @@ -0,0 +1,20 @@ +# Minimal makefile for Sphinx documentation +# + +# You can set these variables from the command line, and also +# from the environment for the first two. +SPHINXOPTS ?= +SPHINXBUILD ?= sphinx-build +SOURCEDIR = source +BUILDDIR = build + +# Put it first so that "make" without argument is like "make help". +help: + @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + +.PHONY: help Makefile + +# Catch-all target: route all unknown targets to Sphinx using the new +# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). +%: Makefile + @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) diff --git a/docs/make.bat b/docs/make.bat new file mode 100644 index 00000000..747ffb7b --- /dev/null +++ b/docs/make.bat @@ -0,0 +1,35 @@ +@ECHO OFF + +pushd %~dp0 + +REM Command file for Sphinx documentation + +if "%SPHINXBUILD%" == "" ( + set SPHINXBUILD=sphinx-build +) +set SOURCEDIR=source +set BUILDDIR=build + +%SPHINXBUILD% >NUL 2>NUL +if errorlevel 9009 ( + echo. + echo.The 'sphinx-build' command was not found. Make sure you have Sphinx + echo.installed, then set the SPHINXBUILD environment variable to point + echo.to the full path of the 'sphinx-build' executable. Alternatively you + echo.may add the Sphinx directory to PATH. + echo. + echo.If you don't have Sphinx installed, grab it from + echo.https://www.sphinx-doc.org/ + exit /b 1 +) + +if "%1" == "" goto help + +%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% +goto end + +:help +%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% + +:end +popd diff --git a/docs/source/_static/parrot.png b/docs/source/_static/parrot.png new file mode 100644 index 0000000000000000000000000000000000000000..48f0e294b430fc9116aca6085926568a6acaa3cc GIT binary patch literal 18941 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 literal 0 HcmV?d00001 diff --git a/docs/source/conf.py b/docs/source/conf.py new file mode 100644 index 00000000..14666083 --- /dev/null +++ b/docs/source/conf.py @@ -0,0 +1,105 @@ +# Configuration file for the Sphinx documentation builder. +# +# This file only contains a selection of the most common options. For a full +# list see the documentation: +# https://www.sphinx-doc.org/en/master/usage/configuration.html + +# -- Path setup -------------------------------------------------------------- + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +# +# import os +# import sys +# sys.path.insert(0, os.path.abspath('.')) + + +# -- Project information ----------------------------------------------------- +import pathlib +import sys +from typing import List + +import toml + +ROOT_FOLDER = str(pathlib.Path(__file__).parent.parent.parent) + +# Add the project root to the path +sys.path.insert(0, ROOT_FOLDER) + +with open("../../pyproject.toml") as f: + data = toml.load(f) + +project = "LangChain Benchmarks" +copyright = "2023, Langchain AI" +author = "Langchain AI" + +version = data["tool"]["poetry"]["version"] +release = version + +html_title = project + " " + version + + +# -- General configuration --------------------------------------------------- + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. +extensions = [ + "sphinx.ext.autodoc", + "sphinx.ext.autodoc.typehints", + "sphinx.ext.autosummary", + "sphinx.ext.napoleon", + "sphinx.ext.viewcode", + "myst_nb", + "sphinx_copybutton", + "IPython.sphinxext.ipython_console_highlighting", +] +source_suffix = [".ipynb", ".html", ".md", ".rst"] + +# Add any paths that contain templates here, relative to this directory. +templates_path = ["_templates"] + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +# This pattern also affects html_static_path and html_extra_path. +exclude_patterns: List[str] = [] + + +# -- Options for HTML output ------------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +# +html_theme = "sphinx_book_theme" + +html_theme_options = { + "path_to_docs": "docs", + "repository_url": "https://github.com/langchain-ai/langchain-benchmarks", + "home_page_in_toc": True, + "show_navbar_depth": 2, + "use_sidenotes": True, + "use_repository_button": True, +} + +html_context = { + "display_github": True, # Integrate GitHub + "github_user": "langchain-ai", # Username + "github_repo": "langchain-benchmarks", # Repo name + "github_version": "main", # Version + "conf_py_path": "/docs/", # Path in the checkout to the docs root +} + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = ["_static"] + +# These paths are either relative to html_static_path +# or fully qualified paths (eg. https://...) +html_css_files = [ + "css/custom.css", +] + +nb_execution_mode = "off" +autosummary_generate = True diff --git a/docs/source/index.md b/docs/source/index.md new file mode 100644 index 00000000..0fd3f31b --- /dev/null +++ b/docs/source/index.md @@ -0,0 +1,8 @@ +# Introduction + + +```{toctree} +:maxdepth: 2 +:caption: Contents + +``` \ No newline at end of file diff --git a/poetry.lock b/poetry.lock index 854bfc70..038d1543 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,5 +1,19 @@ # This file is automatically @generated by Poetry 1.6.1 and should not be changed by hand. +[[package]] +name = "accessible-pygments" +version = "0.0.4" +description = "A collection of accessible pygments styles" +optional = false +python-versions = "*" +files = [ + {file = "accessible-pygments-0.0.4.tar.gz", hash = "sha256:e7b57a9b15958e9601c7e9eb07a440c813283545a20973f2574a5f453d0e953e"}, + {file = "accessible_pygments-0.0.4-py2.py3-none-any.whl", hash = "sha256:416c6d8c1ea1c5ad8701903a20fcedf953c6e720d64f33dc47bfb2d3f2fa4e8d"}, +] + +[package.dependencies] +pygments = ">=1.5" + [[package]] name = "aiofiles" version = "22.1.0" @@ -148,6 +162,17 @@ files = [ dev = ["aiounittest (==1.4.1)", "attribution (==1.6.2)", "black (==23.3.0)", "coverage[toml] (==7.2.3)", "flake8 (==5.0.4)", "flake8-bugbear (==23.3.12)", "flit (==3.7.1)", "mypy (==1.2.0)", "ufmt (==2.1.0)", "usort (==1.0.6)"] docs = ["sphinx (==6.1.3)", "sphinx-mdinclude (==0.5.3)"] +[[package]] +name = "alabaster" +version = "0.7.13" +description = "A configurable sidebar-enabled Sphinx theme" +optional = false +python-versions = ">=3.6" +files = [ + {file = "alabaster-0.7.13-py3-none-any.whl", hash = "sha256:1ee19aca801bbabb5ba3f5f258e4422dfa86f82f3e9cefb0859b283cdd7f62a3"}, + {file = "alabaster-0.7.13.tar.gz", hash = "sha256:a27a4a084d5e690e16e01e03ad2b2e552c61a65469419b907243193de1a84ae2"}, +] + [[package]] name = "annotated-types" version = "0.6.0" @@ -556,6 +581,20 @@ files = [ {file = "charset_normalizer-3.3.2-py3-none-any.whl", hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc"}, ] +[[package]] +name = "click" +version = "8.1.7" +description = "Composable command line interface toolkit" +optional = false +python-versions = ">=3.7" +files = [ + {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"}, + {file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"}, +] + +[package.dependencies] +colorama = {version = "*", markers = "platform_system == \"Windows\""} + [[package]] name = "colorama" version = "0.4.6" @@ -715,6 +754,25 @@ files = [ {file = "defusedxml-0.7.1.tar.gz", hash = "sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69"}, ] +[[package]] +name = "dnspython" +version = "2.4.2" +description = "DNS toolkit" +optional = false +python-versions = ">=3.8,<4.0" +files = [ + {file = "dnspython-2.4.2-py3-none-any.whl", hash = "sha256:57c6fbaaeaaf39c891292012060beb141791735dbb4004798328fc2c467402d8"}, + {file = "dnspython-2.4.2.tar.gz", hash = "sha256:8dcfae8c7460a2f84b4072e26f1c9f4101ca20c071649cb7c34e8b6a93d58984"}, +] + +[package.extras] +dnssec = ["cryptography (>=2.6,<42.0)"] +doh = ["h2 (>=4.1.0)", "httpcore (>=0.17.3)", "httpx (>=0.24.1)"] +doq = ["aioquic (>=0.9.20)"] +idna = ["idna (>=2.1,<4.0)"] +trio = ["trio (>=0.14,<0.23)"] +wmi = ["wmi (>=1.5.1,<2.0.0)"] + [[package]] name = "docopt" version = "0.6.2" @@ -725,6 +783,17 @@ files = [ {file = "docopt-0.6.2.tar.gz", hash = "sha256:49b3a825280bd66b3aa83585ef59c4a8c82f2c8a522dbe754a8bc8d08c85c491"}, ] +[[package]] +name = "docutils" +version = "0.17.1" +description = "Docutils -- Python Documentation Utilities" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +files = [ + {file = "docutils-0.17.1-py2.py3-none-any.whl", hash = "sha256:cf316c8370a737a022b72b56874f6602acf974a37a9fba42ec2876387549fc61"}, + {file = "docutils-0.17.1.tar.gz", hash = "sha256:686577d2e4c32380bb50cbb22f575ed742d58168cee37e99117a854bcd88f125"}, +] + [[package]] name = "entrypoints" version = "0.4" @@ -940,6 +1009,17 @@ files = [ {file = "idna-3.4.tar.gz", hash = "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4"}, ] +[[package]] +name = "imagesize" +version = "1.4.1" +description = "Getting image size from png/jpeg/jpeg2000/gif file" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ + {file = "imagesize-1.4.1-py2.py3-none-any.whl", hash = "sha256:0d8d18d08f840c19d0ee7ca1fd82490fdc3729b7ac93f49870406ddde8ef8d8b"}, + {file = "imagesize-1.4.1.tar.gz", hash = "sha256:69150444affb9cb0d5cc5a92b3676f0b2fb7cd9ae39e947a5e11a36b4497cd4a"}, +] + [[package]] name = "importlib-metadata" version = "6.8.0" @@ -1227,6 +1307,33 @@ files = [ importlib-resources = {version = ">=1.4.0", markers = "python_version < \"3.9\""} referencing = ">=0.31.0" +[[package]] +name = "jupyter-cache" +version = "0.6.1" +description = "A defined interface for working with a cache of jupyter notebooks." +optional = false +python-versions = "~=3.8" +files = [ + {file = "jupyter-cache-0.6.1.tar.gz", hash = "sha256:26f83901143edf4af2f3ff5a91e2d2ad298e46e2cee03c8071d37a23a63ccbfc"}, + {file = "jupyter_cache-0.6.1-py3-none-any.whl", hash = "sha256:2fce7d4975805c77f75bdfc1bc2e82bc538b8e5b1af27f2f5e06d55b9f996a82"}, +] + +[package.dependencies] +attrs = "*" +click = "*" +importlib-metadata = "*" +nbclient = ">=0.2,<0.8" +nbformat = "*" +pyyaml = "*" +sqlalchemy = ">=1.3.12,<3" +tabulate = "*" + +[package.extras] +cli = ["click-log"] +code-style = ["pre-commit (>=2.12,<4.0)"] +rtd = ["ipykernel", "jupytext", "myst-nb", "nbdime", "sphinx-book-theme", "sphinx-copybutton"] +testing = ["coverage", "ipykernel", "jupytext", "matplotlib", "nbdime", "nbformat (>=5.1)", "numpy", "pandas", "pytest (>=6,<8)", "pytest-cov", "pytest-regressions", "sympy"] + [[package]] name = "jupyter-client" version = "7.4.9" @@ -1539,6 +1646,61 @@ files = [ pydantic = ">=1,<3" requests = ">=2,<3" +[[package]] +name = "linkchecker" +version = "10.3.0" +description = "check links in web documents or full websites" +optional = false +python-versions = ">=3.8" +files = [ + {file = "LinkChecker-10.3.0-py3-none-any.whl", hash = "sha256:624f63be599b1d91c3be60d6c5e38412ddbc0f4417c49f0d1936b33c1ce62b09"}, + {file = "LinkChecker-10.3.0.tar.gz", hash = "sha256:1741b9506d3f2b5d1243cc2918f5e5813134fcb77a93dbd38b23e0d088940046"}, +] + +[package.dependencies] +beautifulsoup4 = ">=4.8.1" +dnspython = ">=2.0" +requests = ">=2.20" + +[[package]] +name = "livereload" +version = "2.6.3" +description = "Python LiveReload is an awesome tool for web developers" +optional = false +python-versions = "*" +files = [ + {file = "livereload-2.6.3-py2.py3-none-any.whl", hash = "sha256:ad4ac6f53b2d62bb6ce1a5e6e96f1f00976a32348afedcb4b6d68df2a1d346e4"}, + {file = "livereload-2.6.3.tar.gz", hash = "sha256:776f2f865e59fde56490a56bcc6773b6917366bce0c267c60ee8aaf1a0959869"}, +] + +[package.dependencies] +six = "*" +tornado = {version = "*", markers = "python_version > \"2.7\""} + +[[package]] +name = "markdown-it-py" +version = "2.2.0" +description = "Python port of markdown-it. Markdown parsing, done right!" +optional = false +python-versions = ">=3.7" +files = [ + {file = "markdown-it-py-2.2.0.tar.gz", hash = "sha256:7c9a5e412688bc771c67432cbfebcdd686c93ce6484913dccf06cb5a0bea35a1"}, + {file = "markdown_it_py-2.2.0-py3-none-any.whl", hash = "sha256:5a35f8d1870171d9acc47b99612dc146129b631baf04970128b568f190d0cc30"}, +] + +[package.dependencies] +mdurl = ">=0.1,<1.0" + +[package.extras] +benchmarking = ["psutil", "pytest", "pytest-benchmark"] +code-style = ["pre-commit (>=3.0,<4.0)"] +compare = ["commonmark (>=0.9,<1.0)", "markdown (>=3.4,<4.0)", "mistletoe (>=1.0,<2.0)", "mistune (>=2.0,<3.0)", "panflute (>=2.3,<3.0)"] +linkify = ["linkify-it-py (>=1,<3)"] +plugins = ["mdit-py-plugins"] +profiling = ["gprof2dot"] +rtd = ["attrs", "myst-parser", "pyyaml", "sphinx", "sphinx-copybutton", "sphinx-design", "sphinx_book_theme"] +testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] + [[package]] name = "markupsafe" version = "2.1.3" @@ -1642,6 +1804,36 @@ files = [ [package.dependencies] traitlets = "*" +[[package]] +name = "mdit-py-plugins" +version = "0.3.5" +description = "Collection of plugins for markdown-it-py" +optional = false +python-versions = ">=3.7" +files = [ + {file = "mdit-py-plugins-0.3.5.tar.gz", hash = "sha256:eee0adc7195e5827e17e02d2a258a2ba159944a0748f59c5099a4a27f78fcf6a"}, + {file = "mdit_py_plugins-0.3.5-py3-none-any.whl", hash = "sha256:ca9a0714ea59a24b2b044a1831f48d817dd0c817e84339f20e7889f392d77c4e"}, +] + +[package.dependencies] +markdown-it-py = ">=1.0.0,<3.0.0" + +[package.extras] +code-style = ["pre-commit"] +rtd = ["attrs", "myst-parser (>=0.16.1,<0.17.0)", "sphinx-book-theme (>=0.1.0,<0.2.0)"] +testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] + +[[package]] +name = "mdurl" +version = "0.1.2" +description = "Markdown URL utilities" +optional = false +python-versions = ">=3.7" +files = [ + {file = "mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8"}, + {file = "mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba"}, +] + [[package]] name = "mistune" version = "3.0.2" @@ -1794,6 +1986,60 @@ files = [ {file = "mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"}, ] +[[package]] +name = "myst-nb" +version = "0.17.2" +description = "A Jupyter Notebook Sphinx reader built on top of the MyST markdown parser." +optional = false +python-versions = ">=3.7" +files = [ + {file = "myst-nb-0.17.2.tar.gz", hash = "sha256:0f61386515fab07c73646adca97fff2f69f41e90d313a260217c5bbe419d858b"}, + {file = "myst_nb-0.17.2-py3-none-any.whl", hash = "sha256:132ca4d0f5c308fdd4b6fdaba077712e28e119ccdafd04d6e41b51aac5483494"}, +] + +[package.dependencies] +importlib_metadata = "*" +ipykernel = "*" +ipython = "*" +jupyter-cache = ">=0.5,<0.7" +myst-parser = ">=0.18.0,<0.19.0" +nbclient = "*" +nbformat = ">=5.0,<6.0" +pyyaml = "*" +sphinx = ">=4,<6" +typing-extensions = "*" + +[package.extras] +code-style = ["pre-commit"] +rtd = ["alabaster", "altair", "bokeh", "coconut (>=1.4.3,<2.3.0)", "ipykernel (>=5.5,<6.0)", "ipywidgets", "jupytext (>=1.11.2,<1.12.0)", "matplotlib", "numpy", "pandas", "plotly", "sphinx-book-theme (>=0.3.0,<0.4.0)", "sphinx-copybutton", "sphinx-design (>=0.4.0,<0.5.0)", "sphinxcontrib-bibtex", "sympy"] +testing = ["beautifulsoup4", "coverage (>=6.4,<8.0)", "ipykernel (>=5.5,<6.0)", "ipython (!=8.1.0,<8.5)", "ipywidgets (>=8)", "jupytext (>=1.11.2,<1.12.0)", "matplotlib (>=3.5.3,<3.6)", "nbdime", "numpy", "pandas", "pytest (>=7.1,<8.0)", "pytest-cov (>=3,<5)", "pytest-param-files (>=0.3.3,<0.4.0)", "pytest-regressions", "sympy (>=1.10.1)"] + +[[package]] +name = "myst-parser" +version = "0.18.1" +description = "An extended commonmark compliant parser, with bridges to docutils & sphinx." +optional = false +python-versions = ">=3.7" +files = [ + {file = "myst-parser-0.18.1.tar.gz", hash = "sha256:79317f4bb2c13053dd6e64f9da1ba1da6cd9c40c8a430c447a7b146a594c246d"}, + {file = "myst_parser-0.18.1-py3-none-any.whl", hash = "sha256:61b275b85d9f58aa327f370913ae1bec26ebad372cc99f3ab85c8ec3ee8d9fb8"}, +] + +[package.dependencies] +docutils = ">=0.15,<0.20" +jinja2 = "*" +markdown-it-py = ">=1.0.0,<3.0.0" +mdit-py-plugins = ">=0.3.1,<0.4.0" +pyyaml = "*" +sphinx = ">=4,<6" +typing-extensions = "*" + +[package.extras] +code-style = ["pre-commit (>=2.12,<3.0)"] +linkify = ["linkify-it-py (>=1.0,<2.0)"] +rtd = ["ipython", "sphinx-book-theme", "sphinx-design", "sphinxcontrib.mermaid (>=0.7.1,<0.8.0)", "sphinxext-opengraph (>=0.6.3,<0.7.0)", "sphinxext-rediraffe (>=0.2.7,<0.3.0)"] +testing = ["beautifulsoup4", "coverage[toml]", "pytest (>=6,<7)", "pytest-cov", "pytest-param-files (>=0.3.4,<0.4.0)", "pytest-regressions", "sphinx (<5.2)", "sphinx-pytest"] + [[package]] name = "nbclassic" version = "1.0.0" @@ -1831,25 +2077,25 @@ test = ["coverage", "nbval", "pytest", "pytest-cov", "pytest-jupyter", "pytest-p [[package]] name = "nbclient" -version = "0.9.0" +version = "0.7.4" description = "A client library for executing notebooks. Formerly nbconvert's ExecutePreprocessor." optional = false -python-versions = ">=3.8.0" +python-versions = ">=3.7.0" files = [ - {file = "nbclient-0.9.0-py3-none-any.whl", hash = "sha256:a3a1ddfb34d4a9d17fc744d655962714a866639acd30130e9be84191cd97cd15"}, - {file = "nbclient-0.9.0.tar.gz", hash = "sha256:4b28c207877cf33ef3a9838cdc7a54c5ceff981194a82eac59d558f05487295e"}, + {file = "nbclient-0.7.4-py3-none-any.whl", hash = "sha256:c817c0768c5ff0d60e468e017613e6eae27b6fa31e43f905addd2d24df60c125"}, + {file = "nbclient-0.7.4.tar.gz", hash = "sha256:d447f0e5a4cfe79d462459aec1b3dc5c2e9152597262be8ee27f7d4c02566a0d"}, ] [package.dependencies] jupyter-client = ">=6.1.12" jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" nbformat = ">=5.1" -traitlets = ">=5.4" +traitlets = ">=5.3" [package.extras] dev = ["pre-commit"] docs = ["autodoc-traits", "mock", "moto", "myst-parser", "nbclient[test]", "sphinx (>=1.7)", "sphinx-book-theme", "sphinxcontrib-spelling"] -test = ["flaky", "ipykernel (>=6.19.3)", "ipython", "ipywidgets", "nbconvert (>=7.0.0)", "pytest (>=7.0)", "pytest-asyncio", "pytest-cov (>=4.0)", "testpath", "xmltodict"] +test = ["flaky", "ipykernel", "ipython", "ipywidgets", "nbconvert (>=7.0.0)", "pytest (>=7.0)", "pytest-asyncio", "pytest-cov (>=4.0)", "testpath", "xmltodict"] [[package]] name = "nbconvert" @@ -1910,6 +2156,25 @@ traitlets = ">=5.1" docs = ["myst-parser", "pydata-sphinx-theme", "sphinx", "sphinxcontrib-github-alt", "sphinxcontrib-spelling"] test = ["pep440", "pre-commit", "pytest", "testpath"] +[[package]] +name = "nbsphinx" +version = "0.8.12" +description = "Jupyter Notebook Tools for Sphinx" +optional = false +python-versions = ">=3.6" +files = [ + {file = "nbsphinx-0.8.12-py3-none-any.whl", hash = "sha256:c15b681c7fce287000856f91fe1edac50d29f7b0c15bbc746fbe55c8eb84750b"}, + {file = "nbsphinx-0.8.12.tar.gz", hash = "sha256:76570416cdecbeb21dbf5c3d6aa204ced6c1dd7ebef4077b5c21b8c6ece9533f"}, +] + +[package.dependencies] +docutils = "*" +jinja2 = "*" +nbconvert = "!=5.4" +nbformat = "*" +sphinx = ">=1.8" +traitlets = ">=5" + [[package]] name = "nest-asyncio" version = "1.5.8" @@ -2362,6 +2627,32 @@ files = [ [package.dependencies] typing-extensions = ">=4.6.0,<4.7.0 || >4.7.0" +[[package]] +name = "pydata-sphinx-theme" +version = "0.13.3" +description = "Bootstrap-based Sphinx theme from the PyData community" +optional = false +python-versions = ">=3.7" +files = [ + {file = "pydata_sphinx_theme-0.13.3-py3-none-any.whl", hash = "sha256:bf41ca6c1c6216e929e28834e404bfc90e080b51915bbe7563b5e6fda70354f0"}, + {file = "pydata_sphinx_theme-0.13.3.tar.gz", hash = "sha256:827f16b065c4fd97e847c11c108bf632b7f2ff53a3bca3272f63f3f3ff782ecc"}, +] + +[package.dependencies] +accessible-pygments = "*" +Babel = "*" +beautifulsoup4 = "*" +docutils = "!=0.17.0" +packaging = "*" +pygments = ">=2.7" +sphinx = ">=4.2" +typing-extensions = "*" + +[package.extras] +dev = ["nox", "pre-commit", "pydata-sphinx-theme[doc,test]", "pyyaml"] +doc = ["ablog (>=0.11.0rc2)", "colorama", "ipyleaflet", "jupyter_sphinx", "linkify-it-py", "matplotlib", "myst-nb", "nbsphinx", "numpy", "numpydoc", "pandas", "plotly", "rich", "sphinx-copybutton", "sphinx-design", "sphinx-favicon (>=1.0.1)", "sphinx-sitemap", "sphinx-togglebutton", "sphinxcontrib-youtube", "sphinxext-rediraffe", "xarray"] +test = ["codecov", "pytest", "pytest-cov", "pytest-regressions"] + [[package]] name = "pygments" version = "2.16.1" @@ -2964,6 +3255,17 @@ files = [ {file = "sniffio-1.3.0.tar.gz", hash = "sha256:e60305c5e5d314f5389259b7f22aaa33d8f7dee49763119234af3755c55b9101"}, ] +[[package]] +name = "snowballstemmer" +version = "2.2.0" +description = "This package provides 29 stemmers for 28 languages generated from Snowball algorithms." +optional = false +python-versions = "*" +files = [ + {file = "snowballstemmer-2.2.0-py2.py3-none-any.whl", hash = "sha256:c8e1716e83cc398ae16824e5572ae04e0d9fc2c6b985fb0f900f5f0c96ecba1a"}, + {file = "snowballstemmer-2.2.0.tar.gz", hash = "sha256:09b16deb8547d3412ad7b590689584cd0fe25ec8db3be37788be3810cbf19cb1"}, +] + [[package]] name = "soupsieve" version = "2.5" @@ -2975,6 +3277,187 @@ files = [ {file = "soupsieve-2.5.tar.gz", hash = "sha256:5663d5a7b3bfaeee0bc4372e7fc48f9cff4940b3eec54a6451cc5299f1097690"}, ] +[[package]] +name = "sphinx" +version = "4.5.0" +description = "Python documentation generator" +optional = false +python-versions = ">=3.6" +files = [ + {file = "Sphinx-4.5.0-py3-none-any.whl", hash = "sha256:ebf612653238bcc8f4359627a9b7ce44ede6fdd75d9d30f68255c7383d3a6226"}, + {file = "Sphinx-4.5.0.tar.gz", hash = "sha256:7bf8ca9637a4ee15af412d1a1d9689fec70523a68ca9bb9127c2f3eeb344e2e6"}, +] + +[package.dependencies] +alabaster = ">=0.7,<0.8" +babel = ">=1.3" +colorama = {version = ">=0.3.5", markers = "sys_platform == \"win32\""} +docutils = ">=0.14,<0.18" +imagesize = "*" +importlib-metadata = {version = ">=4.4", markers = "python_version < \"3.10\""} +Jinja2 = ">=2.3" +packaging = "*" +Pygments = ">=2.0" +requests = ">=2.5.0" +snowballstemmer = ">=1.1" +sphinxcontrib-applehelp = "*" +sphinxcontrib-devhelp = "*" +sphinxcontrib-htmlhelp = ">=2.0.0" +sphinxcontrib-jsmath = "*" +sphinxcontrib-qthelp = "*" +sphinxcontrib-serializinghtml = ">=1.1.5" + +[package.extras] +docs = ["sphinxcontrib-websupport"] +lint = ["docutils-stubs", "flake8 (>=3.5.0)", "isort", "mypy (>=0.931)", "types-requests", "types-typed-ast"] +test = ["cython", "html5lib", "pytest", "pytest-cov", "typed-ast"] + +[[package]] +name = "sphinx-autobuild" +version = "2021.3.14" +description = "Rebuild Sphinx documentation on changes, with live-reload in the browser." +optional = false +python-versions = ">=3.6" +files = [ + {file = "sphinx-autobuild-2021.3.14.tar.gz", hash = "sha256:de1ca3b66e271d2b5b5140c35034c89e47f263f2cd5db302c9217065f7443f05"}, + {file = "sphinx_autobuild-2021.3.14-py3-none-any.whl", hash = "sha256:8fe8cbfdb75db04475232f05187c776f46f6e9e04cacf1e49ce81bdac649ccac"}, +] + +[package.dependencies] +colorama = "*" +livereload = "*" +sphinx = "*" + +[package.extras] +test = ["pytest", "pytest-cov"] + +[[package]] +name = "sphinx-book-theme" +version = "1.0.1" +description = "A clean book theme for scientific explanations and documentation with Sphinx" +optional = false +python-versions = ">=3.7" +files = [ + {file = "sphinx_book_theme-1.0.1-py3-none-any.whl", hash = "sha256:d15f8248b3718a9a6be0ba617a32d1591f9fa39c614469bface777ba06a73b75"}, + {file = "sphinx_book_theme-1.0.1.tar.gz", hash = "sha256:927b399a6906be067e49c11ef1a87472f1b1964075c9eea30fb82c64b20aedee"}, +] + +[package.dependencies] +pydata-sphinx-theme = ">=0.13.3" +sphinx = ">=4,<7" + +[package.extras] +code-style = ["pre-commit"] +doc = ["ablog", "docutils (==0.17.1)", "folium", "ipywidgets", "matplotlib", "myst-nb", "nbclient", "numpy", "numpydoc", "pandas", "plotly", "sphinx-copybutton", "sphinx-design", "sphinx-examples", "sphinx-tabs (<=3.4.0)", "sphinx-thebe", "sphinx-togglebutton", "sphinxcontrib-bibtex", "sphinxcontrib-youtube", "sphinxext-opengraph"] +test = ["beautifulsoup4", "coverage", "myst-nb", "pytest", "pytest-cov", "pytest-regressions", "sphinx_thebe"] + +[[package]] +name = "sphinx-copybutton" +version = "0.5.2" +description = "Add a copy button to each of your code cells." +optional = false +python-versions = ">=3.7" +files = [ + {file = "sphinx-copybutton-0.5.2.tar.gz", hash = "sha256:4cf17c82fb9646d1bc9ca92ac280813a3b605d8c421225fd9913154103ee1fbd"}, + {file = "sphinx_copybutton-0.5.2-py3-none-any.whl", hash = "sha256:fb543fd386d917746c9a2c50360c7905b605726b9355cd26e9974857afeae06e"}, +] + +[package.dependencies] +sphinx = ">=1.8" + +[package.extras] +code-style = ["pre-commit (==2.12.1)"] +rtd = ["ipython", "myst-nb", "sphinx", "sphinx-book-theme", "sphinx-examples"] + +[[package]] +name = "sphinxcontrib-applehelp" +version = "1.0.4" +description = "sphinxcontrib-applehelp is a Sphinx extension which outputs Apple help books" +optional = false +python-versions = ">=3.8" +files = [ + {file = "sphinxcontrib-applehelp-1.0.4.tar.gz", hash = "sha256:828f867945bbe39817c210a1abfd1bc4895c8b73fcaade56d45357a348a07d7e"}, + {file = "sphinxcontrib_applehelp-1.0.4-py3-none-any.whl", hash = "sha256:29d341f67fb0f6f586b23ad80e072c8e6ad0b48417db2bde114a4c9746feb228"}, +] + +[package.extras] +lint = ["docutils-stubs", "flake8", "mypy"] +test = ["pytest"] + +[[package]] +name = "sphinxcontrib-devhelp" +version = "1.0.2" +description = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp document." +optional = false +python-versions = ">=3.5" +files = [ + {file = "sphinxcontrib-devhelp-1.0.2.tar.gz", hash = "sha256:ff7f1afa7b9642e7060379360a67e9c41e8f3121f2ce9164266f61b9f4b338e4"}, + {file = "sphinxcontrib_devhelp-1.0.2-py2.py3-none-any.whl", hash = "sha256:8165223f9a335cc1af7ffe1ed31d2871f325254c0423bc0c4c7cd1c1e4734a2e"}, +] + +[package.extras] +lint = ["docutils-stubs", "flake8", "mypy"] +test = ["pytest"] + +[[package]] +name = "sphinxcontrib-htmlhelp" +version = "2.0.1" +description = "sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files" +optional = false +python-versions = ">=3.8" +files = [ + {file = "sphinxcontrib-htmlhelp-2.0.1.tar.gz", hash = "sha256:0cbdd302815330058422b98a113195c9249825d681e18f11e8b1f78a2f11efff"}, + {file = "sphinxcontrib_htmlhelp-2.0.1-py3-none-any.whl", hash = "sha256:c38cb46dccf316c79de6e5515e1770414b797162b23cd3d06e67020e1d2a6903"}, +] + +[package.extras] +lint = ["docutils-stubs", "flake8", "mypy"] +test = ["html5lib", "pytest"] + +[[package]] +name = "sphinxcontrib-jsmath" +version = "1.0.1" +description = "A sphinx extension which renders display math in HTML via JavaScript" +optional = false +python-versions = ">=3.5" +files = [ + {file = "sphinxcontrib-jsmath-1.0.1.tar.gz", hash = "sha256:a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8"}, + {file = "sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl", hash = "sha256:2ec2eaebfb78f3f2078e73666b1415417a116cc848b72e5172e596c871103178"}, +] + +[package.extras] +test = ["flake8", "mypy", "pytest"] + +[[package]] +name = "sphinxcontrib-qthelp" +version = "1.0.3" +description = "sphinxcontrib-qthelp is a sphinx extension which outputs QtHelp document." +optional = false +python-versions = ">=3.5" +files = [ + {file = "sphinxcontrib-qthelp-1.0.3.tar.gz", hash = "sha256:4c33767ee058b70dba89a6fc5c1892c0d57a54be67ddd3e7875a18d14cba5a72"}, + {file = "sphinxcontrib_qthelp-1.0.3-py2.py3-none-any.whl", hash = "sha256:bd9fc24bcb748a8d51fd4ecaade681350aa63009a347a8c14e637895444dfab6"}, +] + +[package.extras] +lint = ["docutils-stubs", "flake8", "mypy"] +test = ["pytest"] + +[[package]] +name = "sphinxcontrib-serializinghtml" +version = "1.1.5" +description = "sphinxcontrib-serializinghtml is a sphinx extension which outputs \"serialized\" HTML files (json and pickle)." +optional = false +python-versions = ">=3.5" +files = [ + {file = "sphinxcontrib-serializinghtml-1.1.5.tar.gz", hash = "sha256:aa5f6de5dfdf809ef505c4895e51ef5c9eac17d0f287933eb49ec495280b6952"}, + {file = "sphinxcontrib_serializinghtml-1.1.5-py2.py3-none-any.whl", hash = "sha256:352a9a00ae864471d3a7ead8d7d79f5fc0b57e8b3f95e9867eb9eb28999b92fd"}, +] + +[package.extras] +lint = ["docutils-stubs", "flake8", "mypy"] +test = ["pytest"] + [[package]] name = "sqlalchemy" version = "2.0.23" @@ -3081,6 +3564,20 @@ pure-eval = "*" [package.extras] tests = ["cython", "littleutils", "pygments", "pytest", "typeguard"] +[[package]] +name = "tabulate" +version = "0.9.0" +description = "Pretty-print tabular data" +optional = false +python-versions = ">=3.7" +files = [ + {file = "tabulate-0.9.0-py3-none-any.whl", hash = "sha256:024ca478df22e9340661486f85298cff5f6dcdba14f3813e8830015b9ed1948f"}, + {file = "tabulate-0.9.0.tar.gz", hash = "sha256:0095b12bf5966de529c0feb1fa08671671b3368eec77d7ef7ab114be2c068b3c"}, +] + +[package.extras] +widechars = ["wcwidth"] + [[package]] name = "tenacity" version = "8.2.3" @@ -3134,6 +3631,17 @@ webencodings = ">=0.4" doc = ["sphinx", "sphinx_rtd_theme"] test = ["flake8", "isort", "pytest"] +[[package]] +name = "toml" +version = "0.10.2" +description = "Python Library for Tom's Obvious, Minimal Language" +optional = false +python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" +files = [ + {file = "toml-0.10.2-py2.py3-none-any.whl", hash = "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b"}, + {file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"}, +] + [[package]] name = "tomli" version = "2.0.1" @@ -3577,4 +4085,4 @@ testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "p [metadata] lock-version = "2.0" python-versions = "^3.8.1" -content-hash = "83e140fae605ab8da7d9259b93fb9648ecabd73a20f766647793b4dcc6287d37" +content-hash = "29519cf50a4c829da986b50f55055d3ad885bc4817119e0e69dddcfef7dfac84" diff --git a/pyproject.toml b/pyproject.toml index 13c3abac..217a222c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -22,6 +22,17 @@ mypy = "^1.7.0" [tool.poetry.group.lint.dependencies] ruff = "^0.1.5" +[tool.poetry.group.docs.dependencies] +nbsphinx = "^0.8.9" +sphinx = "^4.5.0" +sphinx-autobuild = "^2021.3.14" +sphinx_book_theme = "^1.0.0" +myst-nb = "^0.17.1" +linkchecker = "^10.2.1" +toml = "^0.10.2" +sphinx-copybutton = "^0.5.1" + + [tool.poetry.group.test.dependencies] pytest = "^7.2.1" pytest-cov = "^4.0.0"