From 5a2a65b4d16cc2fd39935bdf04e46c5642d301be Mon Sep 17 00:00:00 2001 From: dtomlinson Date: Mon, 13 Jan 2020 00:14:08 +0000 Subject: [PATCH] adding sphinx documentation --- docs/Makefile | 20 ++ docs/make.bat | 35 +++ docs/source/_static/custom.css | 87 ++++++ docs/source/changelog.rst | 7 + docs/source/conf.py | 95 ++++++ docs/source/configuration.rst | 4 + docs/source/global.rst | 5 + docs/source/index.rst | 3 + docs/source/introduction.rst | 4 + docs/source/modules/modules.rst | 7 + docs/source/modules/panaetius.config.rst | 9 + docs/source/modules/panaetius.config_inst.rst | 9 + docs/source/modules/panaetius.db.rst | 9 + docs/source/modules/panaetius.header.rst | 9 + docs/source/modules/panaetius.library.rst | 9 + docs/source/modules/panaetius.logging.rst | 9 + docs/source/modules/panaetius.rst | 21 ++ docs/source/toc.rst | 28 ++ poetry.lock | 272 +++++++++++++++++- pyproject.toml | 2 + src/panaetius/library.py | 26 +- 21 files changed, 656 insertions(+), 14 deletions(-) create mode 100644 docs/Makefile create mode 100644 docs/make.bat create mode 100644 docs/source/_static/custom.css create mode 100644 docs/source/changelog.rst create mode 100644 docs/source/conf.py create mode 100644 docs/source/configuration.rst create mode 100644 docs/source/global.rst create mode 100644 docs/source/index.rst create mode 100644 docs/source/introduction.rst create mode 100644 docs/source/modules/modules.rst create mode 100644 docs/source/modules/panaetius.config.rst create mode 100644 docs/source/modules/panaetius.config_inst.rst create mode 100644 docs/source/modules/panaetius.db.rst create mode 100644 docs/source/modules/panaetius.header.rst create mode 100644 docs/source/modules/panaetius.library.rst create mode 100644 docs/source/modules/panaetius.logging.rst create mode 100644 docs/source/modules/panaetius.rst create mode 100644 docs/source/toc.rst diff --git a/docs/Makefile b/docs/Makefile new file mode 100644 index 0000000..d0c3cbf --- /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 0000000..6247f7e --- /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 + +if "%1" == "" goto help + +%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.http://sphinx-doc.org/ + exit /b 1 +) + +%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/custom.css b/docs/source/_static/custom.css new file mode 100644 index 0000000..d4be59d --- /dev/null +++ b/docs/source/_static/custom.css @@ -0,0 +1,87 @@ +@import url("css/theme.css"); + +.modname { + font-size: 0.8em; + opacity: 0.4; +} +.modname::before { + content: '- '; +} +.title { + font-weight: bold; + font-size: 1.2em; + background-color: #eee; + display: block; + padding: 1px 5px; + border-left: 2px solid #ddd; +} + +/*colour of the text in the toc*/ +.wy-menu-vertical header, .wy-menu-vertical p.caption{ + color: #b26d46;; +} + +/*colour of the top left header*/ +.wy-side-nav-search{ + background-color: #31465a; +} + +/*colours of the class definitions*/ +.rst-content dl:not(.docutils) dt{ + background: #e2d7d1; + color: #0b2852; + border-top: solid 3px #31465a; +} + +/*colour of the link in the class defintions*/ +.rst-content .viewcode-link, .rst-content .viewcode-back{ + color: #4b674a; +} + +/*colour of the function definitions*/ +.rst-content dl:not(.docutils) dl dt{ + border-left: solid 3px #31465a; + background: #e2d7d1; + color: #0b2852; +} + +/*colour of the link in the function definitions*/ +.rst-content .viewcode-link, .rst-content .viewcode-back{ + color: #4b674a; +} + +/*edit the width of the body*/ +.wy-nav-content{ + max-width: 1200px; +} + +/*code example blocks*/ +.rst-content pre.literal-block, .rst-content div[class^="highlight"] pre, .rst-content .linenodiv pre{ + background: #b4bec8; + color: black; + /*border-style: solid;*/ + /*border-width: thin;*/ +} + +/*colour of inline code blocks using ``*/ +.rst-content tt.literal, .rst-content tt.literal, .rst-content code.literal{ + color: #b26d46; +} + +/* Change code blocks font and bump up font size slightly (normally 12px)*/ +.rst-content pre.literal-block, .rst-content div[class^="highlight"] pre, .rst-content .linenodiv pre { + font-family: 'Inconsolata', monospace !important; + font-size: 14px !important; + white-space: pre-wrap; +} + +/* Change code descriptions and literal blocks (inline code via ``) to match the normal font size being used in the sphinx_RTD_theme text (normally 14px)*/ +.rst-content dl:not(.docutils) tt.descname,.rst-content dl:not(.docutils) tt.descclassname,.rst-content dl:not(.docutils) tt.descname,.rst-content dl:not(.docutils) code.descname,.rst-content dl:not(.docutils) tt.descclassname,.rst-content dl:not(.docutils) code.descclassname, code.docutils { + font-family: 'Inconsolata', monospace !important; + font-size: 14px !important; +} + +/*variables text*/ +dl.class > dd > table.docutils.field-list tbody tr.field-odd.field th.field-name::before{ + content: '(Class Attributes) '; +} diff --git a/docs/source/changelog.rst b/docs/source/changelog.rst new file mode 100644 index 0000000..9f3d977 --- /dev/null +++ b/docs/source/changelog.rst @@ -0,0 +1,7 @@ +Version history +================ + +1.0 +-------- + +- initial release diff --git a/docs/source/conf.py b/docs/source/conf.py new file mode 100644 index 0000000..513c6a7 --- /dev/null +++ b/docs/source/conf.py @@ -0,0 +1,95 @@ +# 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('.')) +import panaetius +from panaetius.__version__ import __version__ as version +import sphinx_rtd_theme + +# -- Project information ----------------------------------------------------- + +project = 'panaetius' +copyright = '2019, Daniel Tomlinson' +author = 'Daniel Tomlinson' + +# The full version, including alpha/beta/rc tags +release = 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.viewcode', + 'sphinx.ext.napoleon', + 'sphinx.ext.todo', +] + +# -- Napoleon Settings ----------------------------------------------------- +napoleon_google_docstring = False +napoleon_numpy_docstring = True +napoleon_include_init_with_doc = True +napoleon_include_private_with_doc = False +napoleon_include_special_with_doc = False +napoleon_use_admonition_for_examples = False +napoleon_use_admonition_for_notes = False +napoleon_use_admonition_for_references = False +napoleon_use_ivar = True +napoleon_use_param = True +napoleon_use_rtype = True +napoleon_use_keyword = True +autodoc_member_order = 'bysource' + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# The master toctree document. +master_doc = 'index' + +# 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 = [] + + +# -- 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_rtd_theme" + +# 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_theme = "sphinx_rtd_theme" +html_theme_path = [sphinx_rtd_theme.get_html_theme_path()] +html_static_path = ['_static'] +html_context = {'css_files': ['_static/custom.css']} +html_theme_options = { + 'collapse_navigation': True, + 'display_version': True, + 'prev_next_buttons_location': 'both', + #'navigation_depth': 3, +} + +# The name of the Pygments (syntax highlighting) style to use. +pygments_style = 'sphinx' + +# Enable todo +todo_include_todos = True diff --git a/docs/source/configuration.rst b/docs/source/configuration.rst new file mode 100644 index 0000000..972dd83 --- /dev/null +++ b/docs/source/configuration.rst @@ -0,0 +1,4 @@ +Configuration +============= + +.. todo:: fill in configuration options diff --git a/docs/source/global.rst b/docs/source/global.rst new file mode 100644 index 0000000..b117004 --- /dev/null +++ b/docs/source/global.rst @@ -0,0 +1,5 @@ +.. role:: modname + :class: modname + +.. role:: title + :class: title diff --git a/docs/source/index.rst b/docs/source/index.rst new file mode 100644 index 0000000..176e544 --- /dev/null +++ b/docs/source/index.rst @@ -0,0 +1,3 @@ +Table of Contents +================= +.. include:: toc.rst diff --git a/docs/source/introduction.rst b/docs/source/introduction.rst new file mode 100644 index 0000000..72d6427 --- /dev/null +++ b/docs/source/introduction.rst @@ -0,0 +1,4 @@ +panaetius +========== + +tbc diff --git a/docs/source/modules/modules.rst b/docs/source/modules/modules.rst new file mode 100644 index 0000000..936cb1b --- /dev/null +++ b/docs/source/modules/modules.rst @@ -0,0 +1,7 @@ +panaetius +========= + +.. toctree:: + :maxdepth: 4 + + panaetius diff --git a/docs/source/modules/panaetius.config.rst b/docs/source/modules/panaetius.config.rst new file mode 100644 index 0000000..7fcfe0e --- /dev/null +++ b/docs/source/modules/panaetius.config.rst @@ -0,0 +1,9 @@ +.. include:: ../global.rst + +Config :modname:`panaetius.config` +------------------------------------- + +.. automodule:: panaetius.config + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/modules/panaetius.config_inst.rst b/docs/source/modules/panaetius.config_inst.rst new file mode 100644 index 0000000..9ad52be --- /dev/null +++ b/docs/source/modules/panaetius.config_inst.rst @@ -0,0 +1,9 @@ +.. include:: ../global.rst + +Config :modname:`panaetius.config_inst` +--------------------------------------- + +.. automodule:: panaetius.config_inst + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/modules/panaetius.db.rst b/docs/source/modules/panaetius.db.rst new file mode 100644 index 0000000..ab00b8e --- /dev/null +++ b/docs/source/modules/panaetius.db.rst @@ -0,0 +1,9 @@ +.. include:: ../global.rst + +Config :modname:`panaetius.db` +------------------------------------- + +.. automodule:: panaetius.db + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/modules/panaetius.header.rst b/docs/source/modules/panaetius.header.rst new file mode 100644 index 0000000..69ef1a4 --- /dev/null +++ b/docs/source/modules/panaetius.header.rst @@ -0,0 +1,9 @@ +.. include:: ../global.rst + +Config :modname:`panaetius.header` +------------------------------------- + +.. automodule:: panaetius.header + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/modules/panaetius.library.rst b/docs/source/modules/panaetius.library.rst new file mode 100644 index 0000000..bde30e9 --- /dev/null +++ b/docs/source/modules/panaetius.library.rst @@ -0,0 +1,9 @@ +.. include:: ../global.rst + +Config :modname:`panaetius.library` +------------------------------------- + +.. automodule:: panaetius.library + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/modules/panaetius.logging.rst b/docs/source/modules/panaetius.logging.rst new file mode 100644 index 0000000..b1947d8 --- /dev/null +++ b/docs/source/modules/panaetius.logging.rst @@ -0,0 +1,9 @@ +.. include:: ../global.rst + +Config :modname:`panaetius.logging` +------------------------------------- + +.. automodule:: panaetius.logging + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/modules/panaetius.rst b/docs/source/modules/panaetius.rst new file mode 100644 index 0000000..790e3c9 --- /dev/null +++ b/docs/source/modules/panaetius.rst @@ -0,0 +1,21 @@ +.. include:: ../global.rst + +Config :modname:`panaetius` +------------------------------------- + +.. automodule:: panaetius + :members: + :undoc-members: + :show-inheritance: + +Submodules +---------- + +.. toctree:: + + panaetius.config + panaetius.config_inst + panaetius.db + panaetius.header + panaetius.library + panaetius.logging diff --git a/docs/source/toc.rst b/docs/source/toc.rst new file mode 100644 index 0000000..a2ccebd --- /dev/null +++ b/docs/source/toc.rst @@ -0,0 +1,28 @@ +.. toctree:: + :maxdepth: 1 + :caption: Overview + :titlesonly: + + introduction + configuration + changelog + +.. toctree:: + :maxdepth: 4 + :caption: Modules + :titlesonly: + + modules/panaetius.rst + +.. toctree:: + :maxdepth: 4 + :caption: Submodules + :titlesonly: + + modules/panaetius.config.rst + modules/panaetius.config_inst.rst + modules/panaetius.db.rst + modules/panaetius.header.rst + modules/panaetius.library.rst + modules/panaetius.logging.rst + modules/panaetius.rst diff --git a/poetry.lock b/poetry.lock index 84305f5..f3d06f8 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,3 +1,11 @@ +[[package]] +category = "dev" +description = "A configurable sidebar-enabled Sphinx theme" +name = "alabaster" +optional = false +python-versions = "*" +version = "0.7.12" + [[package]] category = "dev" description = "Atomic file writes." @@ -31,6 +39,33 @@ version = "1.4.4" [package.dependencies] pycodestyle = ">=2.4.0" +[[package]] +category = "dev" +description = "Internationalization utilities" +name = "babel" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +version = "2.8.0" + +[package.dependencies] +pytz = ">=2015.7" + +[[package]] +category = "dev" +description = "Python package for providing Mozilla's CA Bundle." +name = "certifi" +optional = false +python-versions = "*" +version = "2019.11.28" + +[[package]] +category = "dev" +description = "Universal encoding detector for Python 2 and 3" +name = "chardet" +optional = false +python-versions = "*" +version = "3.0.4" + [[package]] category = "dev" description = "Cross-platform colored terminal text." @@ -40,6 +75,14 @@ optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" version = "0.4.3" +[[package]] +category = "dev" +description = "Docutils -- Python Documentation Utilities" +name = "docutils" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +version = "0.16" + [[package]] category = "dev" description = "Clean single-source support for Python 3 and 2" @@ -48,6 +91,22 @@ optional = false python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" version = "0.18.2" +[[package]] +category = "dev" +description = "Internationalized Domain Names in Applications (IDNA)" +name = "idna" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +version = "2.8" + +[[package]] +category = "dev" +description = "Getting image size from png/jpeg/jpeg2000/gif file" +name = "imagesize" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +version = "1.2.0" + [[package]] category = "dev" description = "Read metadata from Python packages" @@ -78,6 +137,28 @@ parso = ">=0.5.2" [package.extras] testing = ["colorama (0.4.1)", "docopt", "pytest (>=3.9.0,<5.0.0)"] +[[package]] +category = "dev" +description = "A very fast and expressive template engine." +name = "jinja2" +optional = false +python-versions = "*" +version = "2.10.3" + +[package.dependencies] +MarkupSafe = ">=0.23" + +[package.extras] +i18n = ["Babel (>=0.8)"] + +[[package]] +category = "dev" +description = "Safely add untrusted strings to HTML/XML markup." +name = "markupsafe" +optional = false +python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*" +version = "1.1.1" + [[package]] category = "dev" description = "McCabe checker, plugin for flake8" @@ -94,6 +175,18 @@ optional = false python-versions = ">=3.5" version = "8.0.2" +[[package]] +category = "dev" +description = "Core utilities for Python packages" +name = "packaging" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +version = "20.0" + +[package.dependencies] +pyparsing = ">=2.0.2" +six = "*" + [[package]] category = "dev" description = "A Python Parser" @@ -184,6 +277,14 @@ optional = false python-versions = "*" version = "0.1.0" +[[package]] +category = "dev" +description = "Python parsing module" +name = "pyparsing" +optional = false +python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" +version = "2.4.6" + [[package]] category = "dev" description = "pytest: simple powerful testing with Python" @@ -244,6 +345,32 @@ rope = ["rope (>0.10.5)"] test = ["versioneer", "pylint", "pytest", "mock", "pytest-cov", "coverage", "numpy", "pandas", "matplotlib", "pyqt5"] yapf = ["yapf"] +[[package]] +category = "dev" +description = "World timezone definitions, modern and historical" +name = "pytz" +optional = false +python-versions = "*" +version = "2019.3" + +[[package]] +category = "dev" +description = "Python HTTP for Humans." +name = "requests" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +version = "2.22.0" + +[package.dependencies] +certifi = ">=2017.4.17" +chardet = ">=3.0.2,<3.1.0" +idna = ">=2.5,<2.9" +urllib3 = ">=1.21.1,<1.25.0 || >1.25.0,<1.25.1 || >1.25.1,<1.26" + +[package.extras] +security = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)", "idna (>=2.0.0)"] +socks = ["PySocks (>=1.5.6,<1.5.7 || >1.5.7)", "win-inet-pton"] + [[package]] category = "dev" description = "a python refactoring library..." @@ -271,6 +398,114 @@ optional = false python-versions = "*" version = "2.0.0" +[[package]] +category = "dev" +description = "Python documentation generator" +name = "sphinx" +optional = false +python-versions = ">=3.5" +version = "2.3.1" + +[package.dependencies] +Jinja2 = ">=2.3" +Pygments = ">=2.0" +alabaster = ">=0.7,<0.8" +babel = ">=1.3,<2.0 || >2.0" +colorama = ">=0.3.5" +docutils = ">=0.12" +imagesize = "*" +packaging = "*" +requests = ">=2.5.0" +setuptools = "*" +snowballstemmer = ">=1.1" +sphinxcontrib-applehelp = "*" +sphinxcontrib-devhelp = "*" +sphinxcontrib-htmlhelp = "*" +sphinxcontrib-jsmath = "*" +sphinxcontrib-qthelp = "*" +sphinxcontrib-serializinghtml = "*" + +[package.extras] +docs = ["sphinxcontrib-websupport"] +test = ["pytest", "pytest-cov", "html5lib", "flake8 (>=3.5.0)", "flake8-import-order", "mypy (>=0.761)", "docutils-stubs"] + +[[package]] +category = "dev" +description = "Read the Docs theme for Sphinx" +name = "sphinx-rtd-theme" +optional = false +python-versions = "*" +version = "0.4.3" + +[package.dependencies] +sphinx = "*" + +[[package]] +category = "dev" +description = "" +name = "sphinxcontrib-applehelp" +optional = false +python-versions = "*" +version = "1.0.1" + +[package.extras] +test = ["pytest", "flake8", "mypy"] + +[[package]] +category = "dev" +description = "" +name = "sphinxcontrib-devhelp" +optional = false +python-versions = "*" +version = "1.0.1" + +[package.extras] +test = ["pytest", "flake8", "mypy"] + +[[package]] +category = "dev" +description = "" +name = "sphinxcontrib-htmlhelp" +optional = false +python-versions = "*" +version = "1.0.2" + +[package.extras] +test = ["pytest", "flake8", "mypy", "html5lib"] + +[[package]] +category = "dev" +description = "A sphinx extension which renders display math in HTML via JavaScript" +name = "sphinxcontrib-jsmath" +optional = false +python-versions = ">=3.5" +version = "1.0.1" + +[package.extras] +test = ["pytest", "flake8", "mypy"] + +[[package]] +category = "dev" +description = "" +name = "sphinxcontrib-qthelp" +optional = false +python-versions = "*" +version = "1.0.2" + +[package.extras] +test = ["pytest", "flake8", "mypy"] + +[[package]] +category = "dev" +description = "" +name = "sphinxcontrib-serializinghtml" +optional = false +python-versions = "*" +version = "1.1.3" + +[package.extras] +test = ["pytest", "flake8", "mypy"] + [[package]] category = "main" description = "Python Library for Tom's Obvious, Minimal Language" @@ -288,6 +523,19 @@ optional = false python-versions = "*" version = "1.35" +[[package]] +category = "dev" +description = "HTTP library with thread-safe connection pooling, file post, and more." +name = "urllib3" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, <4" +version = "1.25.7" + +[package.extras] +brotli = ["brotlipy (>=0.6.0)"] +secure = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "certifi", "ipaddress"] +socks = ["PySocks (>=1.5.6,<1.5.7 || >1.5.7,<2.0)"] + [[package]] category = "dev" description = "A full-featured console (xterm et al.) user interface library" @@ -321,19 +569,29 @@ docs = ["sphinx", "jaraco.packaging (>=3.2)", "rst.linker (>=1.9)"] testing = ["pathlib2", "contextlib2", "unittest2"] [metadata] -content-hash = "7a4d46761d7e6a0219a916d84155c28090cb74e6dce33d70dfc57305c9f9278b" +content-hash = "ccb14d77a37c001476e7bbeb76e0b2cf5ba4b8fcf4629ce97dd7d00ae32089ef" python-versions = "^3.7" [metadata.hashes] +alabaster = ["446438bdcca0e05bd45ea2de1668c1d9b032e1a9154c2c259092d77031ddd359", "a661d72d58e6ea8a57f7a86e37d86716863ee5e92788398526d58b26a4e4dc02"] atomicwrites = ["03472c30eb2c5d1ba9227e4c2ca66ab8287fbfbbda3888aa93dc2e28fc6811b4", "75a9445bac02d8d058d5e1fe689654ba5a6556a1dfd8ce6ec55a0ed79866cfa6"] attrs = ["08a96c641c3a74e44eb59afb61a24f2cb9f4d7188748e76ba4bb5edfa3cb7d1c", "f7b7ce16570fe9965acd6d30101a28f62fb4a7f9e926b3bbc9b61f8b04247e72"] autopep8 = ["4d8eec30cc81bc5617dbf1218201d770dc35629363547f17577c61683ccfb3ee"] +babel = ["1aac2ae2d0d8ea368fa90906567f5c08463d98ade155c0c4bfedd6a0f7160e38", "d670ea0b10f8b723672d3a6abeb87b565b244da220d76b4dba1b66269ec152d4"] +certifi = ["017c25db2a153ce562900032d5bc68e9f191e44e9a0f762f373977de9df1fbb3", "25b64c7da4cd7479594d035c08c2d809eb4aab3a26e5a990ea98cc450c320f1f"] +chardet = ["84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae", "fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691"] colorama = ["7d73d2a99753107a36ac6b455ee49046802e59d9d076ef8e47b61499fa29afff", "e96da0d330793e2cb9485e9ddfd918d456036c7149416295932478192f4436a1"] +docutils = ["0c5b78adfbf7762415433f5515cd5c9e762339e23369dbe8000d84a4bf4ab3af", "c2de3a60e9e7d07be26b7f2b00ca0309c207e06c100f9cc2a94931fc75a478fc"] future = ["b1bead90b70cf6ec3f0710ae53a525360fa360d306a86583adc6bf83a4db537d"] +idna = ["c357b3f628cf53ae2c4c05627ecc484553142ca23264e593d327bcde5e9c3407", "ea8b7f6188e6fa117537c3df7da9fc686d485087abf6ac197f9c46432f7e4a3c"] +imagesize = ["6965f19a6a2039c7d48bca7dba2473069ff854c36ae6f19d2cde309d998228a1", "b1f6b5a4eab1f73479a50fb79fcf729514a900c341d8503d62a62dbc4127a2b1"] importlib-metadata = ["bdd9b7c397c273bcc9a11d6629a38487cd07154fa255a467bf704cd2c258e359", "f17c015735e1a88296994c0697ecea7e11db24290941983b08c9feb30921e6d8"] jedi = ["1349c1e8c107095a55386628bb3b2a79422f3a2cab8381e34ce19909e0cf5064", "e909527104a903606dd63bea6e8e888833f0ef087057829b89a18364a856f807"] +jinja2 = ["74320bb91f31270f9551d46522e33af46a80c3d619f4a4bf42b3164d30b5911f", "9fe95f19286cfefaa917656583d020be14e7859c6b0252588391e47db34527de"] +markupsafe = ["00bc623926325b26bb9605ae9eae8a215691f33cae5df11ca5424f06f2d1f473", "09027a7803a62ca78792ad89403b1b7a73a01c8cb65909cd876f7fcebd79b161", "09c4b7f37d6c648cb13f9230d847adf22f8171b1ccc4d5682398e77f40309235", "1027c282dad077d0bae18be6794e6b6b8c91d58ed8a8d89a89d59693b9131db5", "24982cc2533820871eba85ba648cd53d8623687ff11cbb805be4ff7b4c971aff", "29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b", "43a55c2930bbc139570ac2452adf3d70cdbb3cfe5912c71cdce1c2c6bbd9c5d1", "46c99d2de99945ec5cb54f23c8cd5689f6d7177305ebff350a58ce5f8de1669e", "500d4957e52ddc3351cabf489e79c91c17f6e0899158447047588650b5e69183", "535f6fc4d397c1563d08b88e485c3496cf5784e927af890fb3c3aac7f933ec66", "62fe6c95e3ec8a7fad637b7f3d372c15ec1caa01ab47926cfdf7a75b40e0eac1", "6dd73240d2af64df90aa7c4e7481e23825ea70af4b4922f8ede5b9e35f78a3b1", "717ba8fe3ae9cc0006d7c451f0bb265ee07739daf76355d06366154ee68d221e", "79855e1c5b8da654cf486b830bd42c06e8780cea587384cf6545b7d9ac013a0b", "7c1699dfe0cf8ff607dbdcc1e9b9af1755371f92a68f706051cc8c37d447c905", "88e5fcfb52ee7b911e8bb6d6aa2fd21fbecc674eadd44118a9cc3863f938e735", "8defac2f2ccd6805ebf65f5eeb132adcf2ab57aa11fdf4c0dd5169a004710e7d", "98c7086708b163d425c67c7a91bad6e466bb99d797aa64f965e9d25c12111a5e", "9add70b36c5666a2ed02b43b335fe19002ee5235efd4b8a89bfcf9005bebac0d", "9bf40443012702a1d2070043cb6291650a0841ece432556f784f004937f0f32c", "ade5e387d2ad0d7ebf59146cc00c8044acbd863725f887353a10df825fc8ae21", "b00c1de48212e4cc9603895652c5c410df699856a2853135b3967591e4beebc2", "b1282f8c00509d99fef04d8ba936b156d419be841854fe901d8ae224c59f0be5", "b2051432115498d3562c084a49bba65d97cf251f5a331c64a12ee7e04dacc51b", "ba59edeaa2fc6114428f1637ffff42da1e311e29382d81b339c1817d37ec93c6", "c8716a48d94b06bb3b2524c2b77e055fb313aeb4ea620c8dd03a105574ba704f", "cd5df75523866410809ca100dc9681e301e3c27567cf498077e8551b6d20e42f", "e249096428b3ae81b08327a63a485ad0878de3fb939049038579ac0ef61e17e7"] mccabe = ["ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42", "dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f"] more-itertools = ["b84b238cce0d9adad5ed87e745778d20a3f8487d0f0cb8b8a586816c7496458d", "c833ef592a0324bcc6a60e48440da07645063c453880c9477ceb22490aec1564"] +packaging = ["aec3fdbb8bc9e4bb65f0634b9f551ced63983a529d6a8931817d52fdd0816ddb", "fe1d8331dfa7cc0a883b49d75fc76380b2ab2734b220fbb87d774e4fd4b851f8"] parso = ["55cf25df1a35fd88b878715874d2c4dc1ad3f0eebd1e0266a67e1f55efccfbe1", "5c1f7791de6bd5dbbeac8db0ef5594b36799de198b3f7f7014643b0c5536b9d3"] pluggy = ["15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0", "966c145cd83c96502c3c3868f50408687b38434af77734af1e9ca461a4081d2d"] pudb = ["e8f0ea01b134d802872184b05bffc82af29a1eb2f9374a277434b932d68f58dc"] @@ -343,14 +601,26 @@ pydocstyle = ["da7831660b7355307b32778c4a0dbfb137d89254ef31a2b2978f50fc0b4d7586" pyflakes = ["17dbeb2e3f4d772725c777fabc446d5634d1038f234e77343108ce445ea69ce0", "d976835886f8c5b31d47970ed689944a0262b5f3afa00a5a7b4dc81e5449f8a2"] pygments = ["2a3fe295e54a20164a9df49c75fa58526d3be48e14aceba6d6b1e8ac0bfd6f1b", "98c8aa5a9f778fcd1026a17361ddaf7330d1b7c62ae97c3bb0ae73e0b9b6b0fe"] pylite = ["e338d20d3f8f72dd84d1e58f2fd6dba008d593e0cfacfb5fbdd5a297b830628e", "eb46f5beb1f2102672fd4355c013ac2feebc0df284d65f7711f2041a0a410141"] +pyparsing = ["4c830582a84fb022400b85429791bc551f1f4871c33f23e44f353119e92f969f", "c342dccb5250c08d45fd6f8b4a559613ca603b57498511740e65cd11a2e7dcec"] pytest = ["3f193df1cfe1d1609d4c583838bea3d532b18d6160fd3f55c9447fdca30848ec", "e246cf173c01169b9617fc07264b7b1316e78d7a650055235d6d897bc80d9660"] python-jsonrpc-server = ["05bcf26eac4c98c96afec266acdf563d8f454e12612da9a3f9aabb66c46daf35"] python-language-server = ["68d1a5ed20714e45ee417348ae46de45ab4ed32c6c02ad147cbb9d7ea5293adb"] +pytz = ["1c557d7d0e871de1f5ccd5833f60fb2550652da6be2693c1e02300743d21500d", "b02c06db6cf09c12dd25137e563b31700d3b80fcc4ad23abb7a315f2789819be"] +requests = ["11e007a8a2aa0323f5a921e9e6a2d7e4e67d9877e85773fba9ba6419025cbeb4", "9cf5292fcd0f598c671cfc1e0d7d1a7f13bb8085e9a590f48c010551dc6c4b31"] rope = ["52423a7eebb5306a6d63bdc91a7c657db51ac9babfb8341c9a1440831ecf3203", "ae1fa2fd56f64f4cc9be46493ce54bed0dd12dee03980c61a4393d89d84029ad", "d2830142c2e046f5fc26a022fe680675b6f48f81c7fc1f03a950706e746e9dfe"] six = ["1f1b7d42e254082a9db6279deae68afb421ceba6158efa6131de7b3003ee93fd", "30f610279e8b2578cab6db20741130331735c781b56053c59c4076da27f06b66"] snowballstemmer = ["209f257d7533fdb3cb73bdbd24f436239ca3b2fa67d56f6ff88e86be08cc5ef0", "df3bac3df4c2c01363f3dd2cfa78cce2840a79b9f1c2d2de9ce8d31683992f52"] +sphinx = ["298537cb3234578b2d954ff18c5608468229e116a9757af3b831c2b2b4819159", "e6e766b74f85f37a5f3e0773a1e1be8db3fcb799deb58ca6d18b70b0b44542a5"] +sphinx-rtd-theme = ["00cf895504a7895ee433807c62094cf1e95f065843bf3acd17037c3e9a2becd4", "728607e34d60456d736cc7991fd236afb828b21b82f956c5ea75f94c8414040a"] +sphinxcontrib-applehelp = ["edaa0ab2b2bc74403149cb0209d6775c96de797dfd5b5e2a71981309efab3897", "fb8dee85af95e5c30c91f10e7eb3c8967308518e0f7488a2828ef7bc191d0d5d"] +sphinxcontrib-devhelp = ["6c64b077937330a9128a4da74586e8c2130262f014689b4b89e2d08ee7294a34", "9512ecb00a2b0821a146736b39f7aeb90759834b07e81e8cc23a9c70bacb9981"] +sphinxcontrib-htmlhelp = ["4670f99f8951bd78cd4ad2ab962f798f5618b17675c35c5ac3b2132a14ea8422", "d4fd39a65a625c9df86d7fa8a2d9f3cd8299a3a4b15db63b50aac9e161d8eff7"] +sphinxcontrib-jsmath = ["2ec2eaebfb78f3f2078e73666b1415417a116cc848b72e5172e596c871103178", "a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8"] +sphinxcontrib-qthelp = ["513049b93031beb1f57d4daea74068a4feb77aa5630f856fcff2e50de14e9a20", "79465ce11ae5694ff165becda529a600c754f4bc459778778c7017374d4d406f"] +sphinxcontrib-serializinghtml = ["c0efb33f8052c04fd7a26c0a07f1678e8512e0faec19f4aa8f2473a8b81d5227", "db6615af393650bf1151a6cd39120c29abaf93cc60db8c48eb2dddbfdc3a9768"] toml = ["229f81c57791a41d65e399fc06bf0848bab550a9dfd5ed66df18ce5f05e73d5c", "235682dd292d5899d361a811df37e04a8828a5b1da3115886b73cf81ebc9100e", "f1db651f9657708513243e61e6cc67d101a39bad662eaa9b5546f789338e07a3"] ujson = ["f66073e5506e91d204ab0c614a148d5aa938bdbf104751be66f8ad7a222f5f86"] +urllib3 = ["a8a318824cc77d1fd4b2bec2ded92646630d7fe8619497b142c84a9e6f5a7293", "f3c5fd51747d450d4dcf6f923c81f78f811aab8205fda64b0aba34a4e48b0745"] urwid = ["0896f36060beb6bf3801cb554303fef336a79661401797551ba106d23ab4cd86"] yapf = ["712e23c468506bf12cadd10169f852572ecc61b266258422d45aaf4ad7ef43de", "cad8a272c6001b3401de3278238fdc54997b6c2e56baa751788915f879a52fca"] zipp = ["3718b1cbcd963c7d4c5511a8240812904164b7f381b647143a89d3b98f9bcd8e", "f06903e9f1f43b12d371004b4ac7b06ab39a44adc747266928ae6debfa7b3335"] diff --git a/pyproject.toml b/pyproject.toml index e1b9d0c..4194704 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -38,6 +38,8 @@ Pyflakes = "^2.1" Rope = "^0.16.0" python-language-server = "^0.31.4" pycodestyle = "^2.5" +sphinx = "^2.3" +sphinx_rtd_theme = "^0.4.3" [build-system] requires = ["poetry>=0.12"] diff --git a/src/panaetius/library.py b/src/panaetius/library.py index 039363b..54538f1 100644 --- a/src/panaetius/library.py +++ b/src/panaetius/library.py @@ -56,23 +56,23 @@ def set_config( to define a list, but want to make sure that a string representation of a list will be loaded properly if it set as an environment variable. - Example: + Example: - `config.toml` has the following attribute set: - ``` - [package.users] - auth = ['user1', 'user2'] - ``` + `config.toml` has the following attribute set: + ``` + [package.users] + auth = ['user1', 'user2'] + ``` - If set as an environment variable you can pass this list as a string - and set check=list: + If set as an environment variable you can pass this list as a string + and set check=list: - Environment variable: - PACKAGE_USERS_AUTH = "['user1', 'user2']" + Environment variable: + PACKAGE_USERS_AUTH = "['user1', 'user2']" - Usage in code: - ```python - set_config(CONFIG, 'users.auth', check=list) + Usage in code: + ```python + set_config(CONFIG, 'users.auth', check=list) ``` """ config_var = key.lower().replace('.', '_')