We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
readthedocs: 'extensions' is not defined
Por alguna razón, hemos encontrado https://github.com/UPC/ravada/issues/890 en la CI de readthedocs, y actualmente los builds tienen el siguiente error:

```
% python -m sphinx -T -j auto -E -b html -d _build/doctrees -D language=es . _build/html
Running Sphinx v2.2.0

Traceback (most recent call last):
  File "/home/cmaureir/repos/python-docs-es-admin/venv/lib/python3.9/site-packages/sphinx/config.py", line 361, in eval_config_file
    execfile_(filename, namespace)
  File "/home/cmaureir/repos/python-docs-es-admin/venv/lib/python3.9/site-packages/sphinx/util/pycompat.py", line 81, in execfile_
    exec(code, _globals)
  File "/home/cmaureir/repos/python-docs-es-admin/conf.py", line 22, in <module>
    from conf import *
  File "/home/cmaureir/repos/python-docs-es-admin/conf.py", line 72, in <module>
    if extensions:
NameError: name 'extensions' is not defined

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/cmaureir/repos/python-docs-es-admin/venv/lib/python3.9/site-packages/sphinx/cmd/build.py", line 272, in build_main
    app = Sphinx(args.sourcedir, args.confdir, args.outputdir,
  File "/home/cmaureir/repos/python-docs-es-admin/venv/lib/python3.9/site-packages/sphinx/application.py", line 210, in __init__
    self.config = Config.read(self.confdir, confoverrides or {}, self.tags)
  File "/home/cmaureir/repos/python-docs-es-admin/venv/lib/python3.9/site-packages/sphinx/config.py", line 196, in read
    namespace = eval_config_file(filename, tags)
  File "/home/cmaureir/repos/python-docs-es-admin/venv/lib/python3.9/site-packages/sphinx/config.py", line 371, in eval_config_file
    raise ConfigError(msg % traceback.format_exc())
sphinx.errors.ConfigError: There is a programmable error in your configuration file:

Traceback (most recent call last):
  File "/home/cmaureir/repos/python-docs-es-admin/venv/lib/python3.9/site-packages/sphinx/config.py", line 361, in eval_config_file
    execfile_(filename, namespace)
  File "/home/cmaureir/repos/python-docs-es-admin/venv/lib/python3.9/site-packages/sphinx/util/pycompat.py", line 81, in execfile_
    exec(code, _globals)
  File "/home/cmaureir/repos/python-docs-es-admin/conf.py", line 22, in <module>
    from conf import *
  File "/home/cmaureir/repos/python-docs-es-admin/conf.py", line 72, in <module>
    if extensions:
NameError: name 'extensions' is not defined


Configuration error:
There is a programmable error in your configuration file:

Traceback (most recent call last):
  File "/home/cmaureir/repos/python-docs-es-admin/venv/lib/python3.9/site-packages/sphinx/config.py", line 361, in eval_config_file
    execfile_(filename, namespace)
  File "/home/cmaureir/repos/python-docs-es-admin/venv/lib/python3.9/site-packages/sphinx/util/pycompat.py", line 81, in execfile_
    exec(code, _globals)
  File "/home/cmaureir/repos/python-docs-es-admin/conf.py", line 22, in <module>
    from conf import *
  File "/home/cmaureir/repos/python-docs-es-admin/conf.py", line 72, in <module>
    if extensions:
NameError: name 'extensions' is not defined
```

Localmente `extensions` está definido, pero por alguna razón no en el CI de readthedocs.

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `conf.py`
Content:
```
1 # Sphinx configuration file.
2 #
3 #  - import original configurations from cpython/Doc/conf.py
4 #  - append the path considering the cpython submodule is at ./cpython
5 #  - create the symbolic links under ./cpython/locale/es/LC_MESSAGES
6 #  - make the build to work under Read the Docs
7 #
8 # The git submodule was created using this Stack Overflow answer
9 # to fetch only the commit that I needed and avoid clonning the whole history
10 # https://stackoverflow.com/a/27445058
11 #
12 # This can be built locally using `sphinx-build` by running
13 #
14 #   $ sphinx-build -b html -d _build/doctrees -D language=es . _build/html
15 
16 import sys, os, time
17 sys.path.append(os.path.abspath('cpython/Doc/tools/extensions'))
18 sys.path.append(os.path.abspath('cpython/Doc/includes'))
19 
20 # Import all the Sphinx settings from cpython
21 sys.path.append(os.path.abspath('cpython/Doc'))
22 from conf import *
23 
24 # Call patchlevel with the proper path to get the version from
25 # instead of hardcoding it
26 import patchlevel
27 version, release = patchlevel.get_header_version_info(os.path.abspath('cpython/Doc'))
28 
29 project = 'Python en Español'
30 copyright = '2001-%s, Python Software Foundation' % time.strftime('%Y')
31 
32 html_theme_path = ['cpython/Doc/tools']
33 templates_path = ['cpython/Doc/tools/templates']
34 html_static_path = ['cpython/Doc/tools/static']
35 
36 os.system('mkdir -p cpython/locales/es/')
37 os.system('ln -nfs `pwd` cpython/locales/es/LC_MESSAGES')
38 
39 html_short_title = f'Documentación {release}'
40 html_title = f'Documentación de Python en Español -- {release}'
41 
42 exclude_patterns = [
43     # This file is not included and it not marked as :orphan:
44     'distutils/_setuptools_disclaimer.rst',
45     'README.rst',
46 ]
47 
48 if not os.environ.get('SPHINX_GETTEXT') == 'True':
49     # Override all the files from ``.overrides`` directory
50     from pathlib import Path
51     overrides_paths = Path('.overrides')
52 
53     for path in overrides_paths.glob('**/*.*'):
54         if path.name == 'README.rst' and path.parent == '.overrides':
55             continue
56         destroot = str(path.parent).replace('.overrides', '').lstrip('/')
57         outputdir = Path('cpython/Doc') / destroot / path.name
58         os.system(f'ln -nfs `pwd`/{path.parent}/{path.name} {outputdir}')
59 
60 gettext_compact = False
61 locale_dirs = ['../locales', 'cpython/locales']  # relative to the sourcedir
62 
63 
64 # NOTE: Read the Docs does not support "multi document output".
65 # So, we put all the documentation as a single file for now.
66 _stdauthor = r'Guido van Rossum\\and the Python development team'
67 latex_documents = [
68     ('contents', 'python-docs-es.tex', u'Documentación de Python en Español',
69      _stdauthor, 'manual'),
70 ]
71 
72 extensions.extend([
73     'sphinx_tabs.tabs',
74     'sphinxemoji.sphinxemoji',
75 ])
76 
77 
78 def setup(app):
79 
80     def add_contributing_banner(app, doctree):
81         """
82         Insert a banner at the top of the index.
83 
84         This way, we can easily communicate people to help with the translation,
85         pointing them to different resources.
86         """
87 
88         if app.builder.format != 'html':
89             # Do not include the banner when building with other formats
90             # (this is useful when using -b gettext)
91             return
92 
93         from docutils import nodes, core
94 
95         message = '¡Ayúdanos a traducir la documentación oficial de Python al Español! ' \
96         f'Puedes encontrar más información en `Como contribuir </es/{version}/CONTRIBUTING.html>`_.  ' \
97         'Ayuda a acercar Python a más personas de habla hispana.'
98 
99         paragraph = core.publish_doctree(message)[0]
100         banner = nodes.warning(ids=['contributing-banner'])
101         banner.append(paragraph)
102 
103         for document in doctree.traverse(nodes.document):
104             document.insert(0, banner)
105 
106     # Change the sourcedir programmatically because Read the Docs always call it with `.`
107     app.srcdir = 'cpython/Doc'
108 
109     app.connect('doctree-read', add_contributing_banner)
110 
111     # Import the sphinx-autorun manually to avoid this warning
112     # TODO: Remove this code and use just ``extensions.append('sphinx_autorun')`` when
113     # that issue gets fixed
114     # See https://github.com/WhyNotHugo/sphinx-autorun/issues/17
115 
116     # WARNING: the sphinx_autorun extension does not declare if it is safe for
117     # parallel reading, assuming it isn't - please ask the extension author to
118     # check and make it explicit
119     # WARNING: doing serial read
120     from sphinx_autorun import RunBlock, AutoRun
121     app.add_directive('runblock', RunBlock)
122     app.connect('builder-inited', AutoRun.builder_init)
123     app.add_config_value('autorun_languages', AutoRun.config, 'env')
124     return {
125         'version': '0.1',
126         'parallel_read_safe': True,
127         'parallel_write_safe': True,
128     }
129
```
--- 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/conf.py b/conf.py
--- a/conf.py
+++ b/conf.py
@@ -69,10 +69,16 @@
      _stdauthor, 'manual'),
 ]
 
-extensions.extend([
-    'sphinx_tabs.tabs',
-    'sphinxemoji.sphinxemoji',
-])
+try:
+    extensions.extend([
+        'sphinx_tabs.tabs',
+        'sphinxemoji.sphinxemoji',
+    ])
+except NameError:
+    extensions = [
+        'sphinx_tabs.tabs',
+        'sphinxemoji.sphinxemoji',
+    ]
 
 
 def setup(app):

{"golden_diff": "diff --git a/conf.py b/conf.py\n--- a/conf.py\n+++ b/conf.py\n@@ -69,10 +69,16 @@\n      _stdauthor, 'manual'),\n ]\n \n-extensions.extend([\n-    'sphinx_tabs.tabs',\n-    'sphinxemoji.sphinxemoji',\n-])\n+try:\n+    extensions.extend([\n+        'sphinx_tabs.tabs',\n+        'sphinxemoji.sphinxemoji',\n+    ])\n+except NameError:\n+    extensions = [\n+        'sphinx_tabs.tabs',\n+        'sphinxemoji.sphinxemoji',\n+    ]\n \n \n def setup(app):\n", "issue": "readthedocs: 'extensions' is not defined\nPor alguna raz\u00f3n, hemos encontrado https://github.com/UPC/ravada/issues/890 en la CI de readthedocs, y actualmente los builds tienen el siguiente error:\r\n\r\n```\r\n% python -m sphinx -T -j auto -E -b html -d _build/doctrees -D language=es . _build/html\r\nRunning Sphinx v2.2.0\r\n\r\nTraceback (most recent call last):\r\n  File \"/home/cmaureir/repos/python-docs-es-admin/venv/lib/python3.9/site-packages/sphinx/config.py\", line 361, in eval_config_file\r\n    execfile_(filename, namespace)\r\n  File \"/home/cmaureir/repos/python-docs-es-admin/venv/lib/python3.9/site-packages/sphinx/util/pycompat.py\", line 81, in execfile_\r\n    exec(code, _globals)\r\n  File \"/home/cmaureir/repos/python-docs-es-admin/conf.py\", line 22, in <module>\r\n    from conf import *\r\n  File \"/home/cmaureir/repos/python-docs-es-admin/conf.py\", line 72, in <module>\r\n    if extensions:\r\nNameError: name 'extensions' is not defined\r\n\r\nDuring handling of the above exception, another exception occurred:\r\n\r\nTraceback (most recent call last):\r\n  File \"/home/cmaureir/repos/python-docs-es-admin/venv/lib/python3.9/site-packages/sphinx/cmd/build.py\", line 272, in build_main\r\n    app = Sphinx(args.sourcedir, args.confdir, args.outputdir,\r\n  File \"/home/cmaureir/repos/python-docs-es-admin/venv/lib/python3.9/site-packages/sphinx/application.py\", line 210, in __init__\r\n    self.config = Config.read(self.confdir, confoverrides or {}, self.tags)\r\n  File \"/home/cmaureir/repos/python-docs-es-admin/venv/lib/python3.9/site-packages/sphinx/config.py\", line 196, in read\r\n    namespace = eval_config_file(filename, tags)\r\n  File \"/home/cmaureir/repos/python-docs-es-admin/venv/lib/python3.9/site-packages/sphinx/config.py\", line 371, in eval_config_file\r\n    raise ConfigError(msg % traceback.format_exc())\r\nsphinx.errors.ConfigError: There is a programmable error in your configuration file:\r\n\r\nTraceback (most recent call last):\r\n  File \"/home/cmaureir/repos/python-docs-es-admin/venv/lib/python3.9/site-packages/sphinx/config.py\", line 361, in eval_config_file\r\n    execfile_(filename, namespace)\r\n  File \"/home/cmaureir/repos/python-docs-es-admin/venv/lib/python3.9/site-packages/sphinx/util/pycompat.py\", line 81, in execfile_\r\n    exec(code, _globals)\r\n  File \"/home/cmaureir/repos/python-docs-es-admin/conf.py\", line 22, in <module>\r\n    from conf import *\r\n  File \"/home/cmaureir/repos/python-docs-es-admin/conf.py\", line 72, in <module>\r\n    if extensions:\r\nNameError: name 'extensions' is not defined\r\n\r\n\r\nConfiguration error:\r\nThere is a programmable error in your configuration file:\r\n\r\nTraceback (most recent call last):\r\n  File \"/home/cmaureir/repos/python-docs-es-admin/venv/lib/python3.9/site-packages/sphinx/config.py\", line 361, in eval_config_file\r\n    execfile_(filename, namespace)\r\n  File \"/home/cmaureir/repos/python-docs-es-admin/venv/lib/python3.9/site-packages/sphinx/util/pycompat.py\", line 81, in execfile_\r\n    exec(code, _globals)\r\n  File \"/home/cmaureir/repos/python-docs-es-admin/conf.py\", line 22, in <module>\r\n    from conf import *\r\n  File \"/home/cmaureir/repos/python-docs-es-admin/conf.py\", line 72, in <module>\r\n    if extensions:\r\nNameError: name 'extensions' is not defined\r\n```\r\n\r\nLocalmente `extensions` est\u00e1 definido, pero por alguna raz\u00f3n no en el CI de readthedocs.\n", "before_files": [{"content": "# Sphinx configuration file.\n#\n#  - import original configurations from cpython/Doc/conf.py\n#  - append the path considering the cpython submodule is at ./cpython\n#  - create the symbolic links under ./cpython/locale/es/LC_MESSAGES\n#  - make the build to work under Read the Docs\n#\n# The git submodule was created using this Stack Overflow answer\n# to fetch only the commit that I needed and avoid clonning the whole history\n# https://stackoverflow.com/a/27445058\n#\n# This can be built locally using `sphinx-build` by running\n#\n#   $ sphinx-build -b html -d _build/doctrees -D language=es . _build/html\n\nimport sys, os, time\nsys.path.append(os.path.abspath('cpython/Doc/tools/extensions'))\nsys.path.append(os.path.abspath('cpython/Doc/includes'))\n\n# Import all the Sphinx settings from cpython\nsys.path.append(os.path.abspath('cpython/Doc'))\nfrom conf import *\n\n# Call patchlevel with the proper path to get the version from\n# instead of hardcoding it\nimport patchlevel\nversion, release = patchlevel.get_header_version_info(os.path.abspath('cpython/Doc'))\n\nproject = 'Python en Espa\u00f1ol'\ncopyright = '2001-%s, Python Software Foundation' % time.strftime('%Y')\n\nhtml_theme_path = ['cpython/Doc/tools']\ntemplates_path = ['cpython/Doc/tools/templates']\nhtml_static_path = ['cpython/Doc/tools/static']\n\nos.system('mkdir -p cpython/locales/es/')\nos.system('ln -nfs `pwd` cpython/locales/es/LC_MESSAGES')\n\nhtml_short_title = f'Documentaci\u00f3n {release}'\nhtml_title = f'Documentaci\u00f3n de Python en Espa\u00f1ol -- {release}'\n\nexclude_patterns = [\n    # This file is not included and it not marked as :orphan:\n    'distutils/_setuptools_disclaimer.rst',\n    'README.rst',\n]\n\nif not os.environ.get('SPHINX_GETTEXT') == 'True':\n    # Override all the files from ``.overrides`` directory\n    from pathlib import Path\n    overrides_paths = Path('.overrides')\n\n    for path in overrides_paths.glob('**/*.*'):\n        if path.name == 'README.rst' and path.parent == '.overrides':\n            continue\n        destroot = str(path.parent).replace('.overrides', '').lstrip('/')\n        outputdir = Path('cpython/Doc') / destroot / path.name\n        os.system(f'ln -nfs `pwd`/{path.parent}/{path.name} {outputdir}')\n\ngettext_compact = False\nlocale_dirs = ['../locales', 'cpython/locales']  # relative to the sourcedir\n\n\n# NOTE: Read the Docs does not support \"multi document output\".\n# So, we put all the documentation as a single file for now.\n_stdauthor = r'Guido van Rossum\\\\and the Python development team'\nlatex_documents = [\n    ('contents', 'python-docs-es.tex', u'Documentaci\u00f3n de Python en Espa\u00f1ol',\n     _stdauthor, 'manual'),\n]\n\nextensions.extend([\n    'sphinx_tabs.tabs',\n    'sphinxemoji.sphinxemoji',\n])\n\n\ndef setup(app):\n\n    def add_contributing_banner(app, doctree):\n        \"\"\"\n        Insert a banner at the top of the index.\n\n        This way, we can easily communicate people to help with the translation,\n        pointing them to different resources.\n        \"\"\"\n\n        if app.builder.format != 'html':\n            # Do not include the banner when building with other formats\n            # (this is useful when using -b gettext)\n            return\n\n        from docutils import nodes, core\n\n        message = '\u00a1Ay\u00fadanos a traducir la documentaci\u00f3n oficial de Python al Espa\u00f1ol! ' \\\n        f'Puedes encontrar m\u00e1s informaci\u00f3n en `Como contribuir </es/{version}/CONTRIBUTING.html>`_.  ' \\\n        'Ayuda a acercar Python a m\u00e1s personas de habla hispana.'\n\n        paragraph = core.publish_doctree(message)[0]\n        banner = nodes.warning(ids=['contributing-banner'])\n        banner.append(paragraph)\n\n        for document in doctree.traverse(nodes.document):\n            document.insert(0, banner)\n\n    # Change the sourcedir programmatically because Read the Docs always call it with `.`\n    app.srcdir = 'cpython/Doc'\n\n    app.connect('doctree-read', add_contributing_banner)\n\n    # Import the sphinx-autorun manually to avoid this warning\n    # TODO: Remove this code and use just ``extensions.append('sphinx_autorun')`` when\n    # that issue gets fixed\n    # See https://github.com/WhyNotHugo/sphinx-autorun/issues/17\n\n    # WARNING: the sphinx_autorun extension does not declare if it is safe for\n    # parallel reading, assuming it isn't - please ask the extension author to\n    # check and make it explicit\n    # WARNING: doing serial read\n    from sphinx_autorun import RunBlock, AutoRun\n    app.add_directive('runblock', RunBlock)\n    app.connect('builder-inited', AutoRun.builder_init)\n    app.add_config_value('autorun_languages', AutoRun.config, 'env')\n    return {\n        'version': '0.1',\n        'parallel_read_safe': True,\n        'parallel_write_safe': True,\n    }\n", "path": "conf.py"}], "after_files": [{"content": "# Sphinx configuration file.\n#\n#  - import original configurations from cpython/Doc/conf.py\n#  - append the path considering the cpython submodule is at ./cpython\n#  - create the symbolic links under ./cpython/locale/es/LC_MESSAGES\n#  - make the build to work under Read the Docs\n#\n# The git submodule was created using this Stack Overflow answer\n# to fetch only the commit that I needed and avoid clonning the whole history\n# https://stackoverflow.com/a/27445058\n#\n# This can be built locally using `sphinx-build` by running\n#\n#   $ sphinx-build -b html -d _build/doctrees -D language=es . _build/html\n\nimport sys, os, time\nsys.path.append(os.path.abspath('cpython/Doc/tools/extensions'))\nsys.path.append(os.path.abspath('cpython/Doc/includes'))\n\n# Import all the Sphinx settings from cpython\nsys.path.append(os.path.abspath('cpython/Doc'))\nfrom conf import *\n\n# Call patchlevel with the proper path to get the version from\n# instead of hardcoding it\nimport patchlevel\nversion, release = patchlevel.get_header_version_info(os.path.abspath('cpython/Doc'))\n\nproject = 'Python en Espa\u00f1ol'\ncopyright = '2001-%s, Python Software Foundation' % time.strftime('%Y')\n\nhtml_theme_path = ['cpython/Doc/tools']\ntemplates_path = ['cpython/Doc/tools/templates']\nhtml_static_path = ['cpython/Doc/tools/static']\n\nos.system('mkdir -p cpython/locales/es/')\nos.system('ln -nfs `pwd` cpython/locales/es/LC_MESSAGES')\n\nhtml_short_title = f'Documentaci\u00f3n {release}'\nhtml_title = f'Documentaci\u00f3n de Python en Espa\u00f1ol -- {release}'\n\nexclude_patterns = [\n    # This file is not included and it not marked as :orphan:\n    'distutils/_setuptools_disclaimer.rst',\n    'README.rst',\n]\n\nif not os.environ.get('SPHINX_GETTEXT') == 'True':\n    # Override all the files from ``.overrides`` directory\n    from pathlib import Path\n    overrides_paths = Path('.overrides')\n\n    for path in overrides_paths.glob('**/*.*'):\n        if path.name == 'README.rst' and path.parent == '.overrides':\n            continue\n        destroot = str(path.parent).replace('.overrides', '').lstrip('/')\n        outputdir = Path('cpython/Doc') / destroot / path.name\n        os.system(f'ln -nfs `pwd`/{path.parent}/{path.name} {outputdir}')\n\ngettext_compact = False\nlocale_dirs = ['../locales', 'cpython/locales']  # relative to the sourcedir\n\n\n# NOTE: Read the Docs does not support \"multi document output\".\n# So, we put all the documentation as a single file for now.\n_stdauthor = r'Guido van Rossum\\\\and the Python development team'\nlatex_documents = [\n    ('contents', 'python-docs-es.tex', u'Documentaci\u00f3n de Python en Espa\u00f1ol',\n     _stdauthor, 'manual'),\n]\n\ntry:\n    extensions.extend([\n        'sphinx_tabs.tabs',\n        'sphinxemoji.sphinxemoji',\n    ])\nexcept NameError:\n    extensions = [\n        'sphinx_tabs.tabs',\n        'sphinxemoji.sphinxemoji',\n    ]\n\n\ndef setup(app):\n\n    def add_contributing_banner(app, doctree):\n        \"\"\"\n        Insert a banner at the top of the index.\n\n        This way, we can easily communicate people to help with the translation,\n        pointing them to different resources.\n        \"\"\"\n\n        if app.builder.format != 'html':\n            # Do not include the banner when building with other formats\n            # (this is useful when using -b gettext)\n            return\n\n        from docutils import nodes, core\n\n        message = '\u00a1Ay\u00fadanos a traducir la documentaci\u00f3n oficial de Python al Espa\u00f1ol! ' \\\n        f'Puedes encontrar m\u00e1s informaci\u00f3n en `Como contribuir </es/{version}/CONTRIBUTING.html>`_.  ' \\\n        'Ayuda a acercar Python a m\u00e1s personas de habla hispana.'\n\n        paragraph = core.publish_doctree(message)[0]\n        banner = nodes.warning(ids=['contributing-banner'])\n        banner.append(paragraph)\n\n        for document in doctree.traverse(nodes.document):\n            document.insert(0, banner)\n\n    # Change the sourcedir programmatically because Read the Docs always call it with `.`\n    app.srcdir = 'cpython/Doc'\n\n    app.connect('doctree-read', add_contributing_banner)\n\n    # Import the sphinx-autorun manually to avoid this warning\n    # TODO: Remove this code and use just ``extensions.append('sphinx_autorun')`` when\n    # that issue gets fixed\n    # See https://github.com/WhyNotHugo/sphinx-autorun/issues/17\n\n    # WARNING: the sphinx_autorun extension does not declare if it is safe for\n    # parallel reading, assuming it isn't - please ask the extension author to\n    # check and make it explicit\n    # WARNING: doing serial read\n    from sphinx_autorun import RunBlock, AutoRun\n    app.add_directive('runblock', RunBlock)\n    app.connect('builder-inited', AutoRun.builder_init)\n    app.add_config_value('autorun_languages', AutoRun.config, 'env')\n    return {\n        'version': '0.1',\n        'parallel_read_safe': True,\n        'parallel_write_safe': True,\n    }\n", "path": "conf.py"}]}