We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
API docs list duplicate attributes
Looks like all the attributes in the API docs are listed twice:

https://jupyterhub.readthedocs.io/en/latest/api/proxy.html#module-jupyterhub.proxy




--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `docs/source/conf.py`
Content:
```
1 # -*- coding: utf-8 -*-
2 #
3 import sys
4 import os
5 import shlex
6 
7 # For conversion from markdown to html
8 import recommonmark.parser
9 
10 # Set paths
11 sys.path.insert(0, os.path.abspath('.'))
12 
13 # -- General configuration ------------------------------------------------
14 
15 # Minimal Sphinx version
16 needs_sphinx = '1.4'
17 
18 # Sphinx extension modules
19 extensions = [
20     'sphinx.ext.autodoc',
21     'sphinx.ext.intersphinx',
22     'sphinx.ext.napoleon',
23     'autodoc_traits',
24     'jupyter_alabaster_theme',
25 ]
26 
27 templates_path = ['_templates']
28 
29 # The master toctree document.
30 master_doc = 'index'
31 
32 # General information about the project.
33 project = u'JupyterHub'
34 copyright = u'2016, Project Jupyter team'
35 author = u'Project Jupyter team'
36 
37 # Autopopulate version
38 from os.path import dirname
39 docs = dirname(dirname(__file__))
40 root = dirname(docs)
41 sys.path.insert(0, root)
42 sys.path.insert(0, os.path.join(docs, 'sphinxext'))
43 
44 import jupyterhub
45 # The short X.Y version.
46 version = '%i.%i' % jupyterhub.version_info[:2]
47 # The full version, including alpha/beta/rc tags.
48 release = jupyterhub.__version__
49 
50 language = None
51 exclude_patterns = []
52 pygments_style = 'sphinx'
53 todo_include_todos = False
54 
55 # Set the default role so we can use `foo` instead of ``foo``
56 default_role = 'literal'
57 
58 # -- Source -------------------------------------------------------------
59 
60 source_parsers = {
61     '.md': 'recommonmark.parser.CommonMarkParser',
62 }
63 
64 source_suffix = ['.rst', '.md']
65 #source_encoding = 'utf-8-sig'
66 
67 # -- Options for HTML output ----------------------------------------------
68 
69 # The theme to use for HTML and HTML Help pages.
70 html_theme = 'jupyter_alabaster_theme'
71 
72 #html_theme_options = {}
73 #html_theme_path = []
74 #html_title = None
75 #html_short_title = None
76 #html_logo = None
77 #html_favicon = None
78 
79 # Paths that contain custom static files (such as style sheets)
80 html_static_path = ['_static']
81 
82 #html_extra_path = []
83 #html_last_updated_fmt = '%b %d, %Y'
84 #html_use_smartypants = True
85 #html_sidebars = {}
86 #html_additional_pages = {}
87 #html_domain_indices = True
88 #html_use_index = True
89 #html_split_index = False
90 #html_show_sourcelink = True
91 #html_show_sphinx = True
92 #html_show_copyright = True
93 #html_use_opensearch = ''
94 #html_file_suffix = None
95 #html_search_language = 'en'
96 #html_search_options = {'type': 'default'}
97 #html_search_scorer = 'scorer.js'
98 htmlhelp_basename = 'JupyterHubdoc'
99 
100 # -- Options for LaTeX output ---------------------------------------------
101 
102 latex_elements = {
103 #'papersize': 'letterpaper',
104 #'pointsize': '10pt',
105 #'preamble': '',
106 #'figure_align': 'htbp',
107 }
108 
109 # Grouping the document tree into LaTeX files. List of tuples
110 # (source start file, target name, title,
111 #  author, documentclass [howto, manual, or own class]).
112 latex_documents = [
113   (master_doc, 'JupyterHub.tex', u'JupyterHub Documentation',
114    u'Project Jupyter team', 'manual'),
115 ]
116 
117 #latex_logo = None
118 #latex_use_parts = False
119 #latex_show_pagerefs = False
120 #latex_show_urls = False
121 #latex_appendices = []
122 #latex_domain_indices = True
123 
124 
125 # -- manual page output -------------------------------------------------
126 
127 # One entry per manual page. List of tuples
128 # (source start file, name, description, authors, manual section).
129 man_pages = [
130     (master_doc, 'jupyterhub', u'JupyterHub Documentation',
131      [author], 1)
132 ]
133 
134 #man_show_urls = False
135 
136 
137 # -- Texinfo output -----------------------------------------------------
138 
139 # Grouping the document tree into Texinfo files. List of tuples
140 # (source start file, target name, title, author,
141 #  dir menu entry, description, category)
142 texinfo_documents = [
143   (master_doc, 'JupyterHub', u'JupyterHub Documentation',
144    author, 'JupyterHub', 'One line description of project.',
145    'Miscellaneous'),
146 ]
147 
148 #texinfo_appendices = []
149 #texinfo_domain_indices = True
150 #texinfo_show_urls = 'footnote'
151 #texinfo_no_detailmenu = False
152 
153 
154 # -- Epub output --------------------------------------------------------
155 
156 # Bibliographic Dublin Core info.
157 epub_title = project
158 epub_author = author
159 epub_publisher = author
160 epub_copyright = copyright
161 
162 # A list of files that should not be packed into the epub file.
163 epub_exclude_files = ['search.html']
164 
165 # -- Intersphinx ----------------------------------------------------------
166 
167 intersphinx_mapping = {'https://docs.python.org/3/': None}
168 
169 # -- Read The Docs --------------------------------------------------------
170 
171 on_rtd = os.environ.get('READTHEDOCS', None) == 'True'
172 if not on_rtd:
173     import jupyter_alabaster_theme
174     html_theme = 'jupyter_alabaster_theme'
175     html_theme_path = [jupyter_alabaster_theme.get_path()]
176 else:
177     # readthedocs.org uses their theme by default, so no need to specify it
178     # build rest-api, since RTD doesn't run make
179     from subprocess import check_call as sh
180     sh(['make', 'rest-api'], cwd=docs)
181 
182 # -- Spell checking -------------------------------------------------------
183 
184 try:
185     import sphinxcontrib.spelling
186 except ImportError:
187     pass
188 else:
189     extensions.append("sphinxcontrib.spelling")
190 
191 spelling_word_list_filename='spelling_wordlist.txt'
192
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/docs/source/conf.py b/docs/source/conf.py
--- a/docs/source/conf.py
+++ b/docs/source/conf.py
@@ -21,7 +21,6 @@
     'sphinx.ext.intersphinx',
     'sphinx.ext.napoleon',
     'autodoc_traits',
-    'jupyter_alabaster_theme',
 ]
 
 templates_path = ['_templates']
@@ -67,34 +66,39 @@
 # -- Options for HTML output ----------------------------------------------
 
 # The theme to use for HTML and HTML Help pages.
-html_theme = 'jupyter_alabaster_theme'
+html_theme = 'alabaster'
 
-#html_theme_options = {}
-#html_theme_path = []
-#html_title = None
-#html_short_title = None
-#html_logo = None
-#html_favicon = None
+html_logo = '_static/images/logo/logo.png'
+html_favicon = '_static/images/logo/favicon.ico'
 
 # Paths that contain custom static files (such as style sheets)
 html_static_path = ['_static']
 
-#html_extra_path = []
-#html_last_updated_fmt = '%b %d, %Y'
-#html_use_smartypants = True
-#html_sidebars = {}
-#html_additional_pages = {}
-#html_domain_indices = True
-#html_use_index = True
-#html_split_index = False
-#html_show_sourcelink = True
-#html_show_sphinx = True
-#html_show_copyright = True
-#html_use_opensearch = ''
-#html_file_suffix = None
-#html_search_language = 'en'
-#html_search_options = {'type': 'default'}
-#html_search_scorer = 'scorer.js'
+html_theme_options = {
+    'show_related': True,
+    'description': 'Documentation for JupyterHub',
+    'github_user': 'jupyterhub',
+    'github_repo': 'jupyterhub',
+    'github_banner': False,
+    'github_button': True,
+    'github_type': 'star',
+    'show_powered_by': False,
+    'extra_nav_links': {
+        'GitHub Repo': 'http://github.com/jupyterhub/jupyterhub',
+        'Issue Tracker': 'http://github.com/jupyterhub/jupyterhub/issues',
+    },
+}
+
+html_sidebars = {
+    '**': [
+        'about.html',
+        'searchbox.html',
+        'navigation.html',
+        'relations.html',
+        'sourcelink.html',
+    ],
+}
+
 htmlhelp_basename = 'JupyterHubdoc'
 
 # -- Options for LaTeX output ---------------------------------------------
@@ -170,9 +174,7 @@
 
 on_rtd = os.environ.get('READTHEDOCS', None) == 'True'
 if not on_rtd:
-    import jupyter_alabaster_theme
-    html_theme = 'jupyter_alabaster_theme'
-    html_theme_path = [jupyter_alabaster_theme.get_path()]
+    html_theme = 'alabaster'
 else:
     # readthedocs.org uses their theme by default, so no need to specify it
     # build rest-api, since RTD doesn't run make

{"golden_diff": "diff --git a/docs/source/conf.py b/docs/source/conf.py\n--- a/docs/source/conf.py\n+++ b/docs/source/conf.py\n@@ -21,7 +21,6 @@\n     'sphinx.ext.intersphinx',\n     'sphinx.ext.napoleon',\n     'autodoc_traits',\n-    'jupyter_alabaster_theme',\n ]\n \n templates_path = ['_templates']\n@@ -67,34 +66,39 @@\n # -- Options for HTML output ----------------------------------------------\n \n # The theme to use for HTML and HTML Help pages.\n-html_theme = 'jupyter_alabaster_theme'\n+html_theme = 'alabaster'\n \n-#html_theme_options = {}\n-#html_theme_path = []\n-#html_title = None\n-#html_short_title = None\n-#html_logo = None\n-#html_favicon = None\n+html_logo = '_static/images/logo/logo.png'\n+html_favicon = '_static/images/logo/favicon.ico'\n \n # Paths that contain custom static files (such as style sheets)\n html_static_path = ['_static']\n \n-#html_extra_path = []\n-#html_last_updated_fmt = '%b %d, %Y'\n-#html_use_smartypants = True\n-#html_sidebars = {}\n-#html_additional_pages = {}\n-#html_domain_indices = True\n-#html_use_index = True\n-#html_split_index = False\n-#html_show_sourcelink = True\n-#html_show_sphinx = True\n-#html_show_copyright = True\n-#html_use_opensearch = ''\n-#html_file_suffix = None\n-#html_search_language = 'en'\n-#html_search_options = {'type': 'default'}\n-#html_search_scorer = 'scorer.js'\n+html_theme_options = {\n+    'show_related': True,\n+    'description': 'Documentation for JupyterHub',\n+    'github_user': 'jupyterhub',\n+    'github_repo': 'jupyterhub',\n+    'github_banner': False,\n+    'github_button': True,\n+    'github_type': 'star',\n+    'show_powered_by': False,\n+    'extra_nav_links': {\n+        'GitHub Repo': 'http://github.com/jupyterhub/jupyterhub',\n+        'Issue Tracker': 'http://github.com/jupyterhub/jupyterhub/issues',\n+    },\n+}\n+\n+html_sidebars = {\n+    '**': [\n+        'about.html',\n+        'searchbox.html',\n+        'navigation.html',\n+        'relations.html',\n+        'sourcelink.html',\n+    ],\n+}\n+\n htmlhelp_basename = 'JupyterHubdoc'\n \n # -- Options for LaTeX output ---------------------------------------------\n@@ -170,9 +174,7 @@\n \n on_rtd = os.environ.get('READTHEDOCS', None) == 'True'\n if not on_rtd:\n-    import jupyter_alabaster_theme\n-    html_theme = 'jupyter_alabaster_theme'\n-    html_theme_path = [jupyter_alabaster_theme.get_path()]\n+    html_theme = 'alabaster'\n else:\n     # readthedocs.org uses their theme by default, so no need to specify it\n     # build rest-api, since RTD doesn't run make\n", "issue": "API docs list duplicate attributes\nLooks like all the attributes in the API docs are listed twice:\r\n\r\nhttps://jupyterhub.readthedocs.io/en/latest/api/proxy.html#module-jupyterhub.proxy\r\n\r\n\r\n\n", "before_files": [{"content": "# -*- coding: utf-8 -*-\n#\nimport sys\nimport os\nimport shlex\n\n# For conversion from markdown to html\nimport recommonmark.parser\n\n# Set paths\nsys.path.insert(0, os.path.abspath('.'))\n\n# -- General configuration ------------------------------------------------\n\n# Minimal Sphinx version\nneeds_sphinx = '1.4'\n\n# Sphinx extension modules\nextensions = [\n    'sphinx.ext.autodoc',\n    'sphinx.ext.intersphinx',\n    'sphinx.ext.napoleon',\n    'autodoc_traits',\n    'jupyter_alabaster_theme',\n]\n\ntemplates_path = ['_templates']\n\n# The master toctree document.\nmaster_doc = 'index'\n\n# General information about the project.\nproject = u'JupyterHub'\ncopyright = u'2016, Project Jupyter team'\nauthor = u'Project Jupyter team'\n\n# Autopopulate version\nfrom os.path import dirname\ndocs = dirname(dirname(__file__))\nroot = dirname(docs)\nsys.path.insert(0, root)\nsys.path.insert(0, os.path.join(docs, 'sphinxext'))\n\nimport jupyterhub\n# The short X.Y version.\nversion = '%i.%i' % jupyterhub.version_info[:2]\n# The full version, including alpha/beta/rc tags.\nrelease = jupyterhub.__version__\n\nlanguage = None\nexclude_patterns = []\npygments_style = 'sphinx'\ntodo_include_todos = False\n\n# Set the default role so we can use `foo` instead of ``foo``\ndefault_role = 'literal'\n\n# -- Source -------------------------------------------------------------\n\nsource_parsers = {\n    '.md': 'recommonmark.parser.CommonMarkParser',\n}\n\nsource_suffix = ['.rst', '.md']\n#source_encoding = 'utf-8-sig'\n\n# -- Options for HTML output ----------------------------------------------\n\n# The theme to use for HTML and HTML Help pages.\nhtml_theme = 'jupyter_alabaster_theme'\n\n#html_theme_options = {}\n#html_theme_path = []\n#html_title = None\n#html_short_title = None\n#html_logo = None\n#html_favicon = None\n\n# Paths that contain custom static files (such as style sheets)\nhtml_static_path = ['_static']\n\n#html_extra_path = []\n#html_last_updated_fmt = '%b %d, %Y'\n#html_use_smartypants = True\n#html_sidebars = {}\n#html_additional_pages = {}\n#html_domain_indices = True\n#html_use_index = True\n#html_split_index = False\n#html_show_sourcelink = True\n#html_show_sphinx = True\n#html_show_copyright = True\n#html_use_opensearch = ''\n#html_file_suffix = None\n#html_search_language = 'en'\n#html_search_options = {'type': 'default'}\n#html_search_scorer = 'scorer.js'\nhtmlhelp_basename = 'JupyterHubdoc'\n\n# -- Options for LaTeX output ---------------------------------------------\n\nlatex_elements = {\n#'papersize': 'letterpaper',\n#'pointsize': '10pt',\n#'preamble': '',\n#'figure_align': 'htbp',\n}\n\n# Grouping the document tree into LaTeX files. List of tuples\n# (source start file, target name, title,\n#  author, documentclass [howto, manual, or own class]).\nlatex_documents = [\n  (master_doc, 'JupyterHub.tex', u'JupyterHub Documentation',\n   u'Project Jupyter team', 'manual'),\n]\n\n#latex_logo = None\n#latex_use_parts = False\n#latex_show_pagerefs = False\n#latex_show_urls = False\n#latex_appendices = []\n#latex_domain_indices = True\n\n\n# -- manual page output -------------------------------------------------\n\n# One entry per manual page. List of tuples\n# (source start file, name, description, authors, manual section).\nman_pages = [\n    (master_doc, 'jupyterhub', u'JupyterHub Documentation',\n     [author], 1)\n]\n\n#man_show_urls = False\n\n\n# -- Texinfo output -----------------------------------------------------\n\n# Grouping the document tree into Texinfo files. List of tuples\n# (source start file, target name, title, author,\n#  dir menu entry, description, category)\ntexinfo_documents = [\n  (master_doc, 'JupyterHub', u'JupyterHub Documentation',\n   author, 'JupyterHub', 'One line description of project.',\n   'Miscellaneous'),\n]\n\n#texinfo_appendices = []\n#texinfo_domain_indices = True\n#texinfo_show_urls = 'footnote'\n#texinfo_no_detailmenu = False\n\n\n# -- Epub output --------------------------------------------------------\n\n# Bibliographic Dublin Core info.\nepub_title = project\nepub_author = author\nepub_publisher = author\nepub_copyright = copyright\n\n# A list of files that should not be packed into the epub file.\nepub_exclude_files = ['search.html']\n\n# -- Intersphinx ----------------------------------------------------------\n\nintersphinx_mapping = {'https://docs.python.org/3/': None}\n\n# -- Read The Docs --------------------------------------------------------\n\non_rtd = os.environ.get('READTHEDOCS', None) == 'True'\nif not on_rtd:\n    import jupyter_alabaster_theme\n    html_theme = 'jupyter_alabaster_theme'\n    html_theme_path = [jupyter_alabaster_theme.get_path()]\nelse:\n    # readthedocs.org uses their theme by default, so no need to specify it\n    # build rest-api, since RTD doesn't run make\n    from subprocess import check_call as sh\n    sh(['make', 'rest-api'], cwd=docs)\n\n# -- Spell checking -------------------------------------------------------\n\ntry:\n    import sphinxcontrib.spelling\nexcept ImportError:\n    pass\nelse:\n    extensions.append(\"sphinxcontrib.spelling\")\n\nspelling_word_list_filename='spelling_wordlist.txt'\n", "path": "docs/source/conf.py"}], "after_files": [{"content": "# -*- coding: utf-8 -*-\n#\nimport sys\nimport os\nimport shlex\n\n# For conversion from markdown to html\nimport recommonmark.parser\n\n# Set paths\nsys.path.insert(0, os.path.abspath('.'))\n\n# -- General configuration ------------------------------------------------\n\n# Minimal Sphinx version\nneeds_sphinx = '1.4'\n\n# Sphinx extension modules\nextensions = [\n    'sphinx.ext.autodoc',\n    'sphinx.ext.intersphinx',\n    'sphinx.ext.napoleon',\n    'autodoc_traits',\n]\n\ntemplates_path = ['_templates']\n\n# The master toctree document.\nmaster_doc = 'index'\n\n# General information about the project.\nproject = u'JupyterHub'\ncopyright = u'2016, Project Jupyter team'\nauthor = u'Project Jupyter team'\n\n# Autopopulate version\nfrom os.path import dirname\ndocs = dirname(dirname(__file__))\nroot = dirname(docs)\nsys.path.insert(0, root)\nsys.path.insert(0, os.path.join(docs, 'sphinxext'))\n\nimport jupyterhub\n# The short X.Y version.\nversion = '%i.%i' % jupyterhub.version_info[:2]\n# The full version, including alpha/beta/rc tags.\nrelease = jupyterhub.__version__\n\nlanguage = None\nexclude_patterns = []\npygments_style = 'sphinx'\ntodo_include_todos = False\n\n# Set the default role so we can use `foo` instead of ``foo``\ndefault_role = 'literal'\n\n# -- Source -------------------------------------------------------------\n\nsource_parsers = {\n    '.md': 'recommonmark.parser.CommonMarkParser',\n}\n\nsource_suffix = ['.rst', '.md']\n#source_encoding = 'utf-8-sig'\n\n# -- Options for HTML output ----------------------------------------------\n\n# The theme to use for HTML and HTML Help pages.\nhtml_theme = 'alabaster'\n\nhtml_logo = '_static/images/logo/logo.png'\nhtml_favicon = '_static/images/logo/favicon.ico'\n\n# Paths that contain custom static files (such as style sheets)\nhtml_static_path = ['_static']\n\nhtml_theme_options = {\n    'show_related': True,\n    'description': 'Documentation for JupyterHub',\n    'github_user': 'jupyterhub',\n    'github_repo': 'jupyterhub',\n    'github_banner': False,\n    'github_button': True,\n    'github_type': 'star',\n    'show_powered_by': False,\n    'extra_nav_links': {\n        'GitHub Repo': 'http://github.com/jupyterhub/jupyterhub',\n        'Issue Tracker': 'http://github.com/jupyterhub/jupyterhub/issues',\n    },\n}\n\nhtml_sidebars = {\n    '**': [\n        'about.html',\n        'searchbox.html',\n        'navigation.html',\n        'relations.html',\n        'sourcelink.html',\n    ],\n}\n\nhtmlhelp_basename = 'JupyterHubdoc'\n\n# -- Options for LaTeX output ---------------------------------------------\n\nlatex_elements = {\n#'papersize': 'letterpaper',\n#'pointsize': '10pt',\n#'preamble': '',\n#'figure_align': 'htbp',\n}\n\n# Grouping the document tree into LaTeX files. List of tuples\n# (source start file, target name, title,\n#  author, documentclass [howto, manual, or own class]).\nlatex_documents = [\n  (master_doc, 'JupyterHub.tex', u'JupyterHub Documentation',\n   u'Project Jupyter team', 'manual'),\n]\n\n#latex_logo = None\n#latex_use_parts = False\n#latex_show_pagerefs = False\n#latex_show_urls = False\n#latex_appendices = []\n#latex_domain_indices = True\n\n\n# -- manual page output -------------------------------------------------\n\n# One entry per manual page. List of tuples\n# (source start file, name, description, authors, manual section).\nman_pages = [\n    (master_doc, 'jupyterhub', u'JupyterHub Documentation',\n     [author], 1)\n]\n\n#man_show_urls = False\n\n\n# -- Texinfo output -----------------------------------------------------\n\n# Grouping the document tree into Texinfo files. List of tuples\n# (source start file, target name, title, author,\n#  dir menu entry, description, category)\ntexinfo_documents = [\n  (master_doc, 'JupyterHub', u'JupyterHub Documentation',\n   author, 'JupyterHub', 'One line description of project.',\n   'Miscellaneous'),\n]\n\n#texinfo_appendices = []\n#texinfo_domain_indices = True\n#texinfo_show_urls = 'footnote'\n#texinfo_no_detailmenu = False\n\n\n# -- Epub output --------------------------------------------------------\n\n# Bibliographic Dublin Core info.\nepub_title = project\nepub_author = author\nepub_publisher = author\nepub_copyright = copyright\n\n# A list of files that should not be packed into the epub file.\nepub_exclude_files = ['search.html']\n\n# -- Intersphinx ----------------------------------------------------------\n\nintersphinx_mapping = {'https://docs.python.org/3/': None}\n\n# -- Read The Docs --------------------------------------------------------\n\non_rtd = os.environ.get('READTHEDOCS', None) == 'True'\nif not on_rtd:\n    html_theme = 'alabaster'\nelse:\n    # readthedocs.org uses their theme by default, so no need to specify it\n    # build rest-api, since RTD doesn't run make\n    from subprocess import check_call as sh\n    sh(['make', 'rest-api'], cwd=docs)\n\n# -- Spell checking -------------------------------------------------------\n\ntry:\n    import sphinxcontrib.spelling\nexcept ImportError:\n    pass\nelse:\n    extensions.append(\"sphinxcontrib.spelling\")\n\nspelling_word_list_filename='spelling_wordlist.txt'\n", "path": "docs/source/conf.py"}]}