Read the Docs build information Build id: 253240 Project: leapyear-python-docs Version: latest Commit: 4f2bf34a575d7139ec8ac941f89c626bdb583b68 Date: 2019-10-25T08:56:51.118975Z State: finished Success: False [rtd-command-info] start-time: 2019-10-25T08:56:51.854199Z, end-time: 2019-10-25T08:56:55.378339Z, duration: 3, exit-code: 0 git clone --no-single-branch --depth 50 git@github.com:LeapYear/python-docs.git . Cloning into '.'... [rtd-command-info] start-time: 2019-10-25T08:56:55.846105Z, end-time: 2019-10-25T08:56:56.116964Z, duration: 0, exit-code: 0 git checkout --force origin/master Note: checking out 'origin/master'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by performing another checkout. If you want to create a new branch to retain commits you create, you may do so (now or later) by using -b with the checkout command again. Example: git checkout -b HEAD is now at 4f2bf34 master [rtd-command-info] start-time: 2019-10-25T08:56:56.248362Z, end-time: 2019-10-25T08:56:56.259541Z, duration: 0, exit-code: 0 git clean -d -f -f [rtd-command-info] start-time: 2019-10-25T08:56:57.250315Z, end-time: 2019-10-25T08:57:01.409824Z, duration: 4, exit-code: 0 python3.6 -mvirtualenv --no-site-packages --no-download Using base prefix '/home/docs/.pyenv/versions/3.6.8' New python executable in /home/docs/checkouts/readthedocs.org/user_builds/leapyear-python-docs/envs/latest/bin/python3.6 Also creating executable in /home/docs/checkouts/readthedocs.org/user_builds/leapyear-python-docs/envs/latest/bin/python Installing setuptools, pip, wheel... done. [rtd-command-info] start-time: 2019-10-25T08:57:01.495304Z, end-time: 2019-10-25T08:57:04.051302Z, duration: 2, exit-code: 0 python -m pip install --upgrade --cache-dir /home/docs/checkouts/readthedocs.org/user_builds/leapyear-python-docs/.cache/pip pip Collecting pip Downloading https://files.pythonhosted.org/packages/00/b6/9cfa56b4081ad13874b0c6f96af8ce16cfbc1cb06bedf8e9164ce5551ec1/pip-19.3.1-py2.py3-none-any.whl (1.4MB) Installing collected packages: pip Found existing installation: pip 19.1.1 Uninstalling pip-19.1.1: Successfully uninstalled pip-19.1.1 Successfully installed pip-19.3.1 [rtd-command-info] start-time: 2019-10-25T08:57:04.135588Z, end-time: 2019-10-25T08:57:14.809772Z, duration: 10, exit-code: 0 python -m pip install --upgrade --cache-dir /home/docs/checkouts/readthedocs.org/user_builds/leapyear-python-docs/.cache/pip Pygments==2.3.1 setuptools==41.0.1 docutils==0.14 mock==1.0.1 pillow==5.4.1 alabaster>=0.7,<0.8,!=0.7.5 commonmark==0.8.1 recommonmark==0.5.0 sphinx<2 sphinx-rtd-theme<0.5 readthedocs-sphinx-ext<1.1 Collecting Pygments==2.3.1 Downloading https://files.pythonhosted.org/packages/13/e5/6d710c9cf96c31ac82657bcfb441df328b22df8564d58d0c4cd62612674c/Pygments-2.3.1-py2.py3-none-any.whl (849kB) Requirement already up-to-date: setuptools==41.0.1 in /home/docs/checkouts/readthedocs.org/user_builds/leapyear-python-docs/envs/latest/lib/python3.6/site-packages (41.0.1) Collecting docutils==0.14 Downloading https://files.pythonhosted.org/packages/36/fa/08e9e6e0e3cbd1d362c3bbee8d01d0aedb2155c4ac112b19ef3cae8eed8d/docutils-0.14-py3-none-any.whl (543kB) Collecting mock==1.0.1 Downloading https://files.pythonhosted.org/packages/a2/52/7edcd94f0afb721a2d559a5b9aae8af4f8f2c79bc63fdbe8a8a6c9b23bbe/mock-1.0.1.tar.gz (818kB) Collecting pillow==5.4.1 Downloading https://files.pythonhosted.org/packages/85/5e/e91792f198bbc5a0d7d3055ad552bc4062942d27eaf75c3e2783cf64eae5/Pillow-5.4.1-cp36-cp36m-manylinux1_x86_64.whl (2.0MB) Collecting alabaster!=0.7.5,<0.8,>=0.7 Downloading https://files.pythonhosted.org/packages/10/ad/00b090d23a222943eb0eda509720a404f531a439e803f6538f35136cae9e/alabaster-0.7.12-py2.py3-none-any.whl Collecting commonmark==0.8.1 Downloading https://files.pythonhosted.org/packages/ab/ca/439c88039583a29564a0043186875258e9a4f041fb5c422cd387b8e10175/commonmark-0.8.1-py2.py3-none-any.whl (47kB) Collecting recommonmark==0.5.0 Downloading https://files.pythonhosted.org/packages/9b/3d/92ea48401622510e57b4bdaa74dc9db2fb9e9e892324b48f9c02d716a93a/recommonmark-0.5.0-py2.py3-none-any.whl Collecting sphinx<2 Downloading https://files.pythonhosted.org/packages/7d/66/a4af242b4348b729b9d46ce5db23943ce9bca7da9bbe2ece60dc27f26420/Sphinx-1.8.5-py2.py3-none-any.whl (3.1MB) Collecting sphinx-rtd-theme<0.5 Downloading https://files.pythonhosted.org/packages/60/b4/4df37087a1d36755e3a3bfd2a30263f358d2dea21938240fa02313d45f51/sphinx_rtd_theme-0.4.3-py2.py3-none-any.whl (6.4MB) Collecting readthedocs-sphinx-ext<1.1 Downloading https://files.pythonhosted.org/packages/51/43/a5a98d9aec325b2824bdf504fa446ae876d0909d03e28667018f9eb01bcd/readthedocs_sphinx_ext-1.0.0-py2.py3-none-any.whl Collecting future Downloading https://files.pythonhosted.org/packages/3f/bf/57733d44afd0cf67580658507bd11d3ec629612d5e0e432beb4b8f6fbb04/future-0.18.1.tar.gz (828kB) Collecting six>=1.5 Downloading https://files.pythonhosted.org/packages/73/fb/00a976f728d0d1fecfe898238ce23f502a721c0ac0ecfedb80e0d88c64e9/six-1.12.0-py2.py3-none-any.whl Collecting packaging Downloading https://files.pythonhosted.org/packages/cf/94/9672c2d4b126e74c4496c6b3c58a8b51d6419267be9e70660ba23374c875/packaging-19.2-py2.py3-none-any.whl Collecting snowballstemmer>=1.1 Downloading https://files.pythonhosted.org/packages/7d/4b/cdf1113a0e88b641893b814e9c36f69a6fda28cd88b62c7f0d858cde3166/snowballstemmer-2.0.0-py2.py3-none-any.whl (97kB) Collecting requests>=2.0.0 Downloading https://files.pythonhosted.org/packages/51/bd/23c926cd341ea6b7dd0b2a00aba99ae0f828be89d72b2190f27c11d4b7fb/requests-2.22.0-py2.py3-none-any.whl (57kB) Collecting Jinja2>=2.3 Downloading https://files.pythonhosted.org/packages/65/e0/eb35e762802015cab1ccee04e8a277b03f1d8e53da3ec3106882ec42558b/Jinja2-2.10.3-py2.py3-none-any.whl (125kB) Collecting sphinxcontrib-websupport Downloading https://files.pythonhosted.org/packages/2a/59/d64bda9b7480a84a3569be4dde267c0f6675b255ba63b4c8e84469940457/sphinxcontrib_websupport-1.1.2-py2.py3-none-any.whl Collecting imagesize Downloading https://files.pythonhosted.org/packages/fc/b6/aef66b4c52a6ad6ac18cf6ebc5731ed06d8c9ae4d3b2d9951f261150be67/imagesize-1.1.0-py2.py3-none-any.whl Collecting babel!=2.0,>=1.3 Downloading https://files.pythonhosted.org/packages/2c/60/f2af68eb046c5de5b1fe6dd4743bf42c074f7141fe7b2737d3061533b093/Babel-2.7.0-py2.py3-none-any.whl (8.4MB) Collecting pyparsing>=2.0.2 Downloading https://files.pythonhosted.org/packages/11/fa/0160cd525c62d7abd076a070ff02b2b94de589f1a9789774f17d7c54058e/pyparsing-2.4.2-py2.py3-none-any.whl (65kB) Collecting urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 Downloading https://files.pythonhosted.org/packages/e0/da/55f51ea951e1b7c63a579c09dd7db825bb730ec1fe9c0180fc77bfb31448/urllib3-1.25.6-py2.py3-none-any.whl (125kB) Collecting chardet<3.1.0,>=3.0.2 Downloading https://files.pythonhosted.org/packages/bc/a9/01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8/chardet-3.0.4-py2.py3-none-any.whl (133kB) Collecting idna<2.9,>=2.5 Downloading https://files.pythonhosted.org/packages/14/2c/cd551d81dbe15200be1cf41cd03869a46fe7226e7450af7a6545bfc474c9/idna-2.8-py2.py3-none-any.whl (58kB) Collecting certifi>=2017.4.17 Downloading https://files.pythonhosted.org/packages/18/b0/8146a4f8dd402f60744fa380bc73ca47303cccf8b9190fd16a827281eac2/certifi-2019.9.11-py2.py3-none-any.whl (154kB) Collecting MarkupSafe>=0.23 Downloading https://files.pythonhosted.org/packages/b2/5f/23e0023be6bb885d00ffbefad2942bc51a620328ee910f64abe5a8d18dd1/MarkupSafe-1.1.1-cp36-cp36m-manylinux1_x86_64.whl Collecting pytz>=2015.7 Downloading https://files.pythonhosted.org/packages/e7/f9/f0b53f88060247251bf481fa6ea62cd0d25bf1b11a87888e53ce5b7c8ad2/pytz-2019.3-py2.py3-none-any.whl (509kB) Building wheels for collected packages: mock, future Building wheel for mock (setup.py): started Building wheel for mock (setup.py): finished with status 'done' Created wheel for mock: filename=mock-1.0.1-cp36-none-any.whl size=23755 sha256=e8094361d55b348b3ff87c42c2716f5bb6d6e34ac9c80ef85f75bcab0801b1aa Stored in directory: /home/docs/checkouts/readthedocs.org/user_builds/leapyear-python-docs/.cache/pip/wheels/7e/72/92/744b532c779242b57aab4bcba80c312b30c069bbd60025e7e6 Building wheel for future (setup.py): started Building wheel for future (setup.py): finished with status 'done' Created wheel for future: filename=future-0.18.1-cp36-none-any.whl size=490418 sha256=1212f4fe61f9c79f013e47cdcfdb223198e5ed9828ba6ba7b713de6a2b8681b9 Stored in directory: /home/docs/checkouts/readthedocs.org/user_builds/leapyear-python-docs/.cache/pip/wheels/74/bc/50/ae030267a192919b289f84661cfeb5573cf383841c543e8696 Successfully built mock future Installing collected packages: Pygments, docutils, mock, pillow, alabaster, future, commonmark, six, pyparsing, packaging, snowballstemmer, urllib3, chardet, idna, certifi, requests, MarkupSafe, Jinja2, sphinxcontrib-websupport, imagesize, pytz, babel, sphinx, recommonmark, sphinx-rtd-theme, readthedocs-sphinx-ext Successfully installed Jinja2-2.10.3 MarkupSafe-1.1.1 Pygments-2.3.1 alabaster-0.7.12 babel-2.7.0 certifi-2019.9.11 chardet-3.0.4 commonmark-0.8.1 docutils-0.14 future-0.18.1 idna-2.8 imagesize-1.1.0 mock-1.0.1 packaging-19.2 pillow-5.4.1 pyparsing-2.4.2 pytz-2019.3 readthedocs-sphinx-ext-1.0.0 recommonmark-0.5.0 requests-2.22.0 six-1.12.0 snowballstemmer-2.0.0 sphinx-1.8.5 sphinx-rtd-theme-0.4.3 sphinxcontrib-websupport-1.1.2 urllib3-1.25.6 [rtd-command-info] start-time: 2019-10-25T08:57:14.900174Z, end-time: 2019-10-25T08:57:26.522359Z, duration: 11, exit-code: 0 python -m pip install --upgrade --upgrade-strategy eager --cache-dir /home/docs/checkouts/readthedocs.org/user_builds/leapyear-python-docs/.cache/pip /home/docs/checkouts/readthedocs.org/user_builds/leapyear-python-docs/checkouts/latest Processing /home/docs/checkouts/readthedocs.org/user_builds/leapyear-python-docs/checkouts/latest Installing build dependencies: started Installing build dependencies: finished with status 'done' Getting requirements to build wheel: started Getting requirements to build wheel: finished with status 'done' Preparing wheel metadata: started Preparing wheel metadata: finished with status 'done' Collecting numpy==1.13.3; python_version >= "3.0" Downloading https://files.pythonhosted.org/packages/57/a7/e3e6bd9d595125e1abbe162e323fd2d06f6f6683185294b79cd2cdb190d5/numpy-1.13.3-cp36-cp36m-manylinux1_x86_64.whl (17.0MB) Collecting python-dateutil==2.6.1; python_version >= "3.0" Downloading https://files.pythonhosted.org/packages/4b/0d/7ed381ab4fe80b8ebf34411d14f253e1cf3e56e2820ffa1d8844b23859a2/python_dateutil-2.6.1-py2.py3-none-any.whl (194kB) Collecting pandas==0.24.2; python_version >= "3.0" Downloading https://files.pythonhosted.org/packages/19/74/e50234bc82c553fecdbd566d8650801e3fe2d6d8c8d940638e3d8a7c5522/pandas-0.24.2-cp36-cp36m-manylinux1_x86_64.whl (10.1MB) Collecting typing==3.7.4; python_version >= "3.0" Downloading https://files.pythonhosted.org/packages/28/b8/a1d6b7cf322f91305bcb5e7d8f6c3028954d1e3e716cddc1cdce2ac63247/typing-3.7.4-py3-none-any.whl Requirement already up-to-date: six>=1.5 in /home/docs/checkouts/readthedocs.org/user_builds/leapyear-python-docs/envs/latest/lib/python3.6/site-packages (from python-dateutil==2.6.1; python_version >= "3.0"->leapyear==0.0.0) (1.12.0) Requirement already up-to-date: pytz>=2011k in /home/docs/checkouts/readthedocs.org/user_builds/leapyear-python-docs/envs/latest/lib/python3.6/site-packages (from pandas==0.24.2; python_version >= "3.0"->leapyear==0.0.0) (2019.3) Building wheels for collected packages: leapyear Building wheel for leapyear (PEP 517): started Building wheel for leapyear (PEP 517): finished with status 'done' Created wheel for leapyear: filename=leapyear-0.0.0-cp36-none-any.whl size=274018 sha256=8275871ed80edfd2ff2c6caa9aa74573f28d4ae71c1363958d4da447eacfeddc Stored in directory: /tmp/pip-ephem-wheel-cache-gvz0y665/wheels/f7/07/82/60b779e5802f0e564beb2f30873542d2d8030b15da536750bc Successfully built leapyear Installing collected packages: numpy, python-dateutil, pandas, typing, leapyear Successfully installed leapyear-0.0.0 numpy-1.13.3 pandas-0.24.2 python-dateutil-2.6.1 typing-3.7.4 [rtd-command-info] start-time: 2019-10-25T08:57:31.315657Z, end-time: 2019-10-25T08:57:31.627322Z, duration: 0, exit-code: 0 cat docs/conf.py # -*- coding: utf-8 -*- # flake8: noqa import os import sphinx_rtd_theme import sys from datetime import datetime # docs/ directory DOCS_DIR = os.path.dirname(__file__) sys.path.append(DOCS_DIR) from leapyear.version import LEAPYEAR_VERSION as release extensions = [ "sphinx.ext.autodoc", "sphinx.ext.intersphinx", "sphinx.ext.napoleon", "sphinx.ext.mathjax", "sphinx.ext.doctest", "sphinx_autodoc_typehints", "sphinx.ext.todo", ] templates_path = ["_templates"] master_doc = "index" project = "leapyear" now = datetime.now() copyright = "2016-{}, LeapYear Technologies. This information is confidential and proprietary and may not be reproduced in whole or in part without written authorization by a representative of LeapYear Technologies.".format( now.year ) version = ".".join(release.split(".")[:2]) exclude_patterns = ["build"] # -- Options for extensions --------------------------------------------------- autodoc_member_order = "bysource" todo_include_todos = bool( int(os.getenv("LY_INCLUDE_TODOS", False)) ) # Include TODO items when rendering # doctests in python modules need to be explicitly marked with `.. doctest::` doctest_test_doctest_blocks = "" napoleon_google_docstring = False napoleon_numpy_docstring = True intersphinx_mapping = {"https://docs.python.org/3/": None} # -- Options for HTML output -------------------------------------------------- html_theme = "sphinx_rtd_theme" html_theme_path = [sphinx_rtd_theme.get_html_theme_path()] html_static_path = ["_static"] html_favicon = os.path.join("_static", "favicon.ico") html_show_sourcelink = False html_show_sphinx = False htmlhelp_basename = "leapyeardoc" html_context = { "display_github": False, # Add 'Edit on Github' link instead of 'View page source' "last_updated": now.strftime("%Y-%m-%d"), "commit": False, } def setup(app): app.add_stylesheet("css/custom.css") ########################################################################### # auto-created readthedocs.org specific configuration # ########################################################################### # # The following code was added during an automated build on readthedocs.org # It is auto created and injected for every build. The result is based on the # conf.py.tmpl file found in the readthedocs.org codebase: # https://github.com/rtfd/readthedocs.org/blob/master/readthedocs/doc_builder/templates/doc_builder/conf.py.tmpl # import importlib import sys import os.path from six import string_types from sphinx import version_info # Get suffix for proper linking to GitHub # This is deprecated in Sphinx 1.3+, # as each page can have its own suffix if globals().get('source_suffix', False): if isinstance(source_suffix, string_types): SUFFIX = source_suffix elif isinstance(source_suffix, (list, tuple)): # Sphinx >= 1.3 supports list/tuple to define multiple suffixes SUFFIX = source_suffix[0] elif isinstance(source_suffix, dict): # Sphinx >= 1.8 supports a mapping dictionary for multiple suffixes SUFFIX = list(source_suffix.keys())[0] # make a ``list()`` for py2/py3 compatibility else: # default to .rst SUFFIX = '.rst' else: SUFFIX = '.rst' # Add RTD Static Path. Add to the end because it overwrites previous files. if not 'html_static_path' in globals(): html_static_path = [] if os.path.exists('_static'): html_static_path.append('_static') # Add RTD Theme only if they aren't overriding it already using_rtd_theme = ( ( 'html_theme' in globals() and html_theme in ['default'] and # Allow people to bail with a hack of having an html_style 'html_style' not in globals() ) or 'html_theme' not in globals() ) if using_rtd_theme: theme = importlib.import_module('sphinx_rtd_theme') html_theme = 'sphinx_rtd_theme' html_style = None html_theme_options = {} if 'html_theme_path' in globals(): html_theme_path.append(theme.get_html_theme_path()) else: html_theme_path = [theme.get_html_theme_path()] if globals().get('websupport2_base_url', False): websupport2_base_url = 'https://readthedocs.com/websupport' websupport2_static_url = 'https://media.readthedocs.com/' #Add project information to the template context. context = { 'using_theme': using_rtd_theme, 'html_theme': html_theme, 'current_version': "latest", 'version_slug': "latest", 'MEDIA_URL': "https://media.readthedocs.com/media/", 'STATIC_URL': "https://media.readthedocs.com/", 'PRODUCTION_DOMAIN': "readthedocs.com", 'versions': [ ("latest", "/en/latest/"), ("2.8.0", "/en/2.8.0/"), ("2.7.0", "/en/2.7.0/"), ("2.6.2", "/en/2.6.2/"), ("2.6.1", "/en/2.6.1/"), ("2.6.0", "/en/2.6.0/"), ("2.5.0", "/en/2.5.0/"), ("2.4.2", "/en/2.4.2/"), ("2.4.1", "/en/2.4.1/"), ("2.3.1", "/en/2.3.1/"), ("2.3.0", "/en/2.3.0/"), ("2.2.2", "/en/2.2.2/"), ("2.2.1", "/en/2.2.1/"), ("2.2.0", "/en/2.2.0/"), ("2.2.0-beta-3", "/en/2.2.0-beta-3/"), ("2.2.0-beta-2", "/en/2.2.0-beta-2/"), ("2.0.10", "/en/2.0.10/"), ("2.0.8", "/en/2.0.8/"), ("2.0.7", "/en/2.0.7/"), ], 'downloads': [ ("pdf", "//readthedocs.com/projects/leapyear-python-docs/downloads/pdf/latest/"), ("html", "//readthedocs.com/projects/leapyear-python-docs/downloads/htmlzip/latest/"), ], 'subprojects': [ ], 'slug': 'leapyear-python-docs', 'name': u'python-docs', 'rtd_language': u'en', 'programming_language': u'words', 'canonical_url': 'https://docs.leapyear.io/en/2.8.0/', 'analytics_code': 'None', 'single_version': False, 'conf_py_path': '/docs/', 'api_host': 'https://readthedocs.com', 'github_user': 'LeapYear', 'github_repo': 'python-docs', 'github_version': 'master', 'display_github': True, 'bitbucket_user': 'None', 'bitbucket_repo': 'None', 'bitbucket_version': 'master', 'display_bitbucket': False, 'gitlab_user': 'None', 'gitlab_repo': 'None', 'gitlab_version': 'master', 'display_gitlab': False, 'READTHEDOCS': True, 'using_theme': (html_theme == "default"), 'new_theme': (html_theme == "sphinx_rtd_theme"), 'source_suffix': SUFFIX, 'ad_free': False, 'user_analytics_code': '', 'global_analytics_code': 'UA-17997319-2', 'commit': '4f2bf34a', } if 'html_context' in globals(): html_context.update(context) else: html_context = context # Add custom RTD extension if 'extensions' in globals(): # Insert at the beginning because it can interfere # with other extensions. # See https://github.com/rtfd/readthedocs.org/pull/4054 extensions.insert(0, "readthedocs_ext.readthedocs") else: extensions = ["readthedocs_ext.readthedocs"] # Add External version warning banner to the external version documentation if 'branch' == 'external': extensions.insert(1, "readthedocs_ext.external_version_warning") project_language = 'en' # User's Sphinx configurations language_user = globals().get('language', None) latex_engine_user = globals().get('latex_engine', None) latex_elements_user = globals().get('latex_elements', None) # Remove this once xindy gets installed in Docker image and XINDYOPS # env variable is supported # https://github.com/rtfd/readthedocs-docker-images/pull/98 latex_use_xindy = False chinese = any([ language_user in ('zh_CN', 'zh_TW'), project_language in ('zh_CN', 'zh_TW'), ]) japanese = any([ language_user == 'ja', project_language == 'ja', ]) if chinese: latex_engine = latex_engine_user or 'xelatex' latex_elements_rtd = { 'preamble': '\\usepackage[UTF8]{ctex}\n', } latex_elements = latex_elements_user or latex_elements_rtd elif japanese: latex_engine = latex_engine_user or 'platex' [rtd-command-info] start-time: 2019-10-25T08:57:31.711607Z, end-time: 2019-10-25T08:57:33.272747Z, duration: 1, exit-code: 2 python sphinx-build -T -E -b readthedocs -d _build/doctrees-readthedocs -D language=en . _build/html Running Sphinx v1.8.5 loading translations [en]... done Traceback (most recent call last): File "/home/docs/checkouts/readthedocs.org/user_builds/leapyear-python-docs/envs/latest/lib/python3.6/site-packages/sphinx/registry.py", line 472, in load_extension mod = __import__(extname, None, None, ['setup']) ModuleNotFoundError: No module named 'sphinx_autodoc_typehints' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/docs/checkouts/readthedocs.org/user_builds/leapyear-python-docs/envs/latest/lib/python3.6/site-packages/sphinx/cmd/build.py", line 303, in build_main args.tags, args.verbosity, args.jobs, args.keep_going) File "/home/docs/checkouts/readthedocs.org/user_builds/leapyear-python-docs/envs/latest/lib/python3.6/site-packages/sphinx/application.py", line 228, in __init__ self.setup_extension(extension) File "/home/docs/checkouts/readthedocs.org/user_builds/leapyear-python-docs/envs/latest/lib/python3.6/site-packages/sphinx/application.py", line 449, in setup_extension self.registry.load_extension(self, extname) File "/home/docs/checkouts/readthedocs.org/user_builds/leapyear-python-docs/envs/latest/lib/python3.6/site-packages/sphinx/registry.py", line 475, in load_extension raise ExtensionError(__('Could not import extension %s') % extname, err) sphinx.errors.ExtensionError: Could not import extension sphinx_autodoc_typehints (exception: No module named 'sphinx_autodoc_typehints') Extension error: Could not import extension sphinx_autodoc_typehints (exception: No module named 'sphinx_autodoc_typehints')