We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Utilize autosummary Sphinx directive in API Reference
## Proposal

A consolidated list of functionality would go a long way in [our API Reference](https://pyjanitor.readthedocs.io/api.html) section.

Other libraries have leveraged the [autosummary](http://www.sphinx-doc.org/en/master/usage/extensions/autosummary.html#directive-autosummary) Sphinx directive to achieve this to great effect. For instance:

* Pandas: [Docs](https://pandas.pydata.org/pandas-docs/stable/reference/indexing.html), [Raw](https://raw.githubusercontent.com/pandas-dev/pandas/master/doc/source/reference/indexing.rst)
* Matplotlib: [Docs](https://matplotlib.org/api/axes_api.html), [Raw](https://matplotlib.org/_sources/api/axes_api.rst.txt)

## Implementation Details

Apart from rolling `sphinx.ext.autosummary` into the `conf.py` this would also involve going through and enumerating the different functions in the `api.rst` documentation.

A concern here, though-- this would mean that all future feature introductions would have to get appended to the lists in these files, **which necessitates adding this step to the PR checklist**... Until someone figures out a more programmatic way to do this, anyhow 😉 

--- 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/conf.py`
Content:
```
1 # -*- coding: utf-8 -*-
2 #
3 # Configuration file for the Sphinx documentation builder.
4 #
5 # This file does only contain a selection of the most common options. For a
6 # full list see the documentation:
7 # http://www.sphinx-doc.org/en/stable/config
8 
9 # -- Path setup --------------------------------------------------------------
10 
11 # If extensions (or modules to document with autodoc) are in another directory,
12 # add these directories to sys.path here. If the directory is relative to the
13 # documentation root, use os.path.abspath to make it absolute, like shown here.
14 #
15 import os
16 import sys
17 from pathlib import Path
18 
19 sys.path.insert(0, os.path.abspath("."))
20 sys.path.insert(0, os.path.abspath("../examples"))
21 
22 # Make a symlink in our sphinx source directory to the top-level
23 # examples/notebooks directory so we can include notebooks in the doc
24 notebooks = Path("./notebooks")
25 if not notebooks.exists():
26     print("Making symlink to ../examples/notebooks")
27     notebooks.symlink_to("../examples/notebooks")
28 
29 
30 # -- Project information -----------------------------------------------------
31 
32 project = "pyjanitor"
33 copyright = "2018, Eric J. Ma"
34 author = "Eric J. Ma"
35 
36 # The short X.Y version
37 version = "0.1.0"
38 # The full version, including alpha/beta/rc tags
39 release = ""
40 
41 
42 # -- General configuration ---------------------------------------------------
43 
44 # If your documentation needs a minimal Sphinx version, state it here.
45 #
46 # needs_sphinx = '1.0'
47 
48 # Add any Sphinx extension module names here, as strings. They can be
49 # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
50 # ones.
51 extensions = [
52     "sphinx.ext.autodoc",
53     "sphinx.ext.doctest",
54     "sphinx.ext.intersphinx",
55     "sphinx.ext.todo",
56     "sphinx.ext.coverage",
57     "sphinx.ext.viewcode",
58     "sphinx.ext.githubpages",
59     "sphinxcontrib.fulltoc",
60     "nbsphinx",
61 ]
62 
63 # Add any paths that contain templates here, relative to this directory.
64 templates_path = ["_templates"]
65 
66 # The suffix(es) of source filenames.
67 # You can specify multiple suffix as a list of string:
68 #
69 # source_suffix = ['.rst', '.md']
70 source_suffix = [".md", ".rst", ".ipynb"]
71 
72 # The master toctree document.
73 master_doc = "index"
74 
75 # The language for content autogenerated by Sphinx. Refer to documentation
76 # for a list of supported languages.
77 #
78 # This is also used if you do content translation via gettext catalogs.
79 # Usually you set "language" from the command line for these cases.
80 language = None
81 
82 # List of patterns, relative to source directory, that match files and
83 # directories to ignore when looking for source files.
84 # This pattern also affects html_static_path and html_extra_path .
85 exclude_patterns = ["_build", "Thumbs.db", ".DS_Store", "**.ipynb_checkpoints"]
86 
87 # The name of the Pygments (syntax highlighting) style to use.
88 pygments_style = "sphinx"
89 
90 
91 # -- Options for HTML output -------------------------------------------------
92 
93 # The theme to use for HTML and HTML Help pages.  See the documentation for
94 # a list of builtin themes.
95 #
96 html_theme = "alabaster"
97 
98 # Theme options are theme-specific and customize the look and feel of a theme
99 # further.  For a list of options available for each theme, see the
100 # documentation.
101 #
102 html_theme_options = {"logo": "logo_title.svg"}
103 
104 # Add any paths that contain custom static files (such as style sheets) here,
105 # relative to this directory. They are copied after the builtin static files,
106 # so a file named "default.css" will overwrite the builtin "default.css".
107 html_static_path = ["_static"]
108 
109 # Custom sidebar templates, must be a dictionary that maps document names
110 # to template names.
111 #
112 # The default sidebars (for documents that don't match any pattern) are
113 # defined by theme itself.  Builtin themes are using these templates by
114 # default: ``['localtoc.html', 'relations.html', 'sourcelink.html',
115 # 'searchbox.html']``.
116 #
117 html_sidebars = {
118     "**": ["about.html", "navigation.html", "relations.html", "searchbox.html"]
119 }
120 
121 
122 # -- Options for HTMLHelp output ---------------------------------------------
123 
124 # Output file base name for HTML help builder.
125 htmlhelp_basename = "pyjanitordoc"
126 
127 
128 # -- Options for LaTeX output ------------------------------------------------
129 
130 latex_elements = {
131     # The paper size ('letterpaper' or 'a4paper').
132     #
133     # 'papersize': 'letterpaper',
134     # The font size ('10pt', '11pt' or '12pt').
135     #
136     # 'pointsize': '10pt',
137     # Additional stuff for the LaTeX preamble.
138     #
139     # 'preamble': '',
140     # Latex figure (float) alignment
141     #
142     # 'figure_align': 'htbp',
143 }
144 
145 # Grouping the document tree into LaTeX files. List of tuples
146 # (source start file, target name, title,
147 #  author, documentclass [howto, manual, or own class]).
148 latex_documents = [
149     (
150         master_doc,
151         "pyjanitor.tex",
152         "pyjanitor Documentation",
153         "Eric J. Ma",
154         "manual",
155     )
156 ]
157 
158 
159 # -- Options for manual page output ------------------------------------------
160 
161 # One entry per manual page. List of tuples
162 # (source start file, name, description, authors, manual section).
163 man_pages = [(master_doc, "pyjanitor", "pyjanitor Documentation", [author], 1)]
164 
165 
166 # -- Options for Texinfo output ----------------------------------------------
167 
168 # Grouping the document tree into Texinfo files. List of tuples
169 # (source start file, target name, title, author,
170 #  dir menu entry, description, category)
171 texinfo_documents = [
172     (
173         master_doc,
174         "pyjanitor",
175         "pyjanitor Documentation",
176         author,
177         "pyjanitor",
178         "One line description of project.",
179         "Miscellaneous",
180     )
181 ]
182 
183 
184 # -- Extension configuration -------------------------------------------------
185 
186 # -- Options for intersphinx extension ---------------------------------------
187 
188 # Example configuration for intersphinx: refer to the Python standard library.
189 intersphinx_mapping = {
190     "https://docs.python.org/": None,
191     "https://pandas.pydata.org/pandas-docs/stable": None,
192 }
193 
194 # -- Options for todo extension ----------------------------------------------
195 
196 # If true, `todo` and `todoList` produce output, else they produce nothing.
197 todo_include_todos = True
198
```
--- 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/conf.py b/docs/conf.py
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -58,6 +58,7 @@
     "sphinx.ext.githubpages",
     "sphinxcontrib.fulltoc",
     "nbsphinx",
+    "sphinx.ext.autosummary",
 ]
 
 # Add any paths that contain templates here, relative to this directory.

{"golden_diff": "diff --git a/docs/conf.py b/docs/conf.py\n--- a/docs/conf.py\n+++ b/docs/conf.py\n@@ -58,6 +58,7 @@\n     \"sphinx.ext.githubpages\",\n     \"sphinxcontrib.fulltoc\",\n     \"nbsphinx\",\n+    \"sphinx.ext.autosummary\",\n ]\n \n # Add any paths that contain templates here, relative to this directory.\n", "issue": "Utilize autosummary Sphinx directive in API Reference\n## Proposal\r\n\r\nA consolidated list of functionality would go a long way in [our API Reference](https://pyjanitor.readthedocs.io/api.html) section.\r\n\r\nOther libraries have leveraged the [autosummary](http://www.sphinx-doc.org/en/master/usage/extensions/autosummary.html#directive-autosummary) Sphinx directive to achieve this to great effect. For instance:\r\n\r\n* Pandas: [Docs](https://pandas.pydata.org/pandas-docs/stable/reference/indexing.html), [Raw](https://raw.githubusercontent.com/pandas-dev/pandas/master/doc/source/reference/indexing.rst)\r\n* Matplotlib: [Docs](https://matplotlib.org/api/axes_api.html), [Raw](https://matplotlib.org/_sources/api/axes_api.rst.txt)\r\n\r\n## Implementation Details\r\n\r\nApart from rolling `sphinx.ext.autosummary` into the `conf.py` this would also involve going through and enumerating the different functions in the `api.rst` documentation.\r\n\r\nA concern here, though-- this would mean that all future feature introductions would have to get appended to the lists in these files, **which necessitates adding this step to the PR checklist**... Until someone figures out a more programmatic way to do this, anyhow \ud83d\ude09 \n", "before_files": [{"content": "# -*- coding: utf-8 -*-\n#\n# Configuration file for the Sphinx documentation builder.\n#\n# This file does only contain a selection of the most common options. For a\n# full list see the documentation:\n# http://www.sphinx-doc.org/en/stable/config\n\n# -- Path setup --------------------------------------------------------------\n\n# If extensions (or modules to document with autodoc) are in another directory,\n# add these directories to sys.path here. If the directory is relative to the\n# documentation root, use os.path.abspath to make it absolute, like shown here.\n#\nimport os\nimport sys\nfrom pathlib import Path\n\nsys.path.insert(0, os.path.abspath(\".\"))\nsys.path.insert(0, os.path.abspath(\"../examples\"))\n\n# Make a symlink in our sphinx source directory to the top-level\n# examples/notebooks directory so we can include notebooks in the doc\nnotebooks = Path(\"./notebooks\")\nif not notebooks.exists():\n    print(\"Making symlink to ../examples/notebooks\")\n    notebooks.symlink_to(\"../examples/notebooks\")\n\n\n# -- Project information -----------------------------------------------------\n\nproject = \"pyjanitor\"\ncopyright = \"2018, Eric J. Ma\"\nauthor = \"Eric J. Ma\"\n\n# The short X.Y version\nversion = \"0.1.0\"\n# The full version, including alpha/beta/rc tags\nrelease = \"\"\n\n\n# -- General configuration ---------------------------------------------------\n\n# If your documentation needs a minimal Sphinx version, state it here.\n#\n# needs_sphinx = '1.0'\n\n# Add any Sphinx extension module names here, as strings. They can be\n# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom\n# ones.\nextensions = [\n    \"sphinx.ext.autodoc\",\n    \"sphinx.ext.doctest\",\n    \"sphinx.ext.intersphinx\",\n    \"sphinx.ext.todo\",\n    \"sphinx.ext.coverage\",\n    \"sphinx.ext.viewcode\",\n    \"sphinx.ext.githubpages\",\n    \"sphinxcontrib.fulltoc\",\n    \"nbsphinx\",\n]\n\n# Add any paths that contain templates here, relative to this directory.\ntemplates_path = [\"_templates\"]\n\n# The suffix(es) of source filenames.\n# You can specify multiple suffix as a list of string:\n#\n# source_suffix = ['.rst', '.md']\nsource_suffix = [\".md\", \".rst\", \".ipynb\"]\n\n# The master toctree document.\nmaster_doc = \"index\"\n\n# The language for content autogenerated by Sphinx. Refer to documentation\n# for a list of supported languages.\n#\n# This is also used if you do content translation via gettext catalogs.\n# Usually you set \"language\" from the command line for these cases.\nlanguage = None\n\n# List of patterns, relative to source directory, that match files and\n# directories to ignore when looking for source files.\n# This pattern also affects html_static_path and html_extra_path .\nexclude_patterns = [\"_build\", \"Thumbs.db\", \".DS_Store\", \"**.ipynb_checkpoints\"]\n\n# The name of the Pygments (syntax highlighting) style to use.\npygments_style = \"sphinx\"\n\n\n# -- Options for HTML output -------------------------------------------------\n\n# The theme to use for HTML and HTML Help pages.  See the documentation for\n# a list of builtin themes.\n#\nhtml_theme = \"alabaster\"\n\n# Theme options are theme-specific and customize the look and feel of a theme\n# further.  For a list of options available for each theme, see the\n# documentation.\n#\nhtml_theme_options = {\"logo\": \"logo_title.svg\"}\n\n# Add any paths that contain custom static files (such as style sheets) here,\n# relative to this directory. They are copied after the builtin static files,\n# so a file named \"default.css\" will overwrite the builtin \"default.css\".\nhtml_static_path = [\"_static\"]\n\n# Custom sidebar templates, must be a dictionary that maps document names\n# to template names.\n#\n# The default sidebars (for documents that don't match any pattern) are\n# defined by theme itself.  Builtin themes are using these templates by\n# default: ``['localtoc.html', 'relations.html', 'sourcelink.html',\n# 'searchbox.html']``.\n#\nhtml_sidebars = {\n    \"**\": [\"about.html\", \"navigation.html\", \"relations.html\", \"searchbox.html\"]\n}\n\n\n# -- Options for HTMLHelp output ---------------------------------------------\n\n# Output file base name for HTML help builder.\nhtmlhelp_basename = \"pyjanitordoc\"\n\n\n# -- Options for LaTeX output ------------------------------------------------\n\nlatex_elements = {\n    # The paper size ('letterpaper' or 'a4paper').\n    #\n    # 'papersize': 'letterpaper',\n    # The font size ('10pt', '11pt' or '12pt').\n    #\n    # 'pointsize': '10pt',\n    # Additional stuff for the LaTeX preamble.\n    #\n    # 'preamble': '',\n    # Latex figure (float) alignment\n    #\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    (\n        master_doc,\n        \"pyjanitor.tex\",\n        \"pyjanitor Documentation\",\n        \"Eric J. Ma\",\n        \"manual\",\n    )\n]\n\n\n# -- Options for manual page output ------------------------------------------\n\n# One entry per manual page. List of tuples\n# (source start file, name, description, authors, manual section).\nman_pages = [(master_doc, \"pyjanitor\", \"pyjanitor Documentation\", [author], 1)]\n\n\n# -- Options for 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    (\n        master_doc,\n        \"pyjanitor\",\n        \"pyjanitor Documentation\",\n        author,\n        \"pyjanitor\",\n        \"One line description of project.\",\n        \"Miscellaneous\",\n    )\n]\n\n\n# -- Extension configuration -------------------------------------------------\n\n# -- Options for intersphinx extension ---------------------------------------\n\n# Example configuration for intersphinx: refer to the Python standard library.\nintersphinx_mapping = {\n    \"https://docs.python.org/\": None,\n    \"https://pandas.pydata.org/pandas-docs/stable\": None,\n}\n\n# -- Options for todo extension ----------------------------------------------\n\n# If true, `todo` and `todoList` produce output, else they produce nothing.\ntodo_include_todos = True\n", "path": "docs/conf.py"}], "after_files": [{"content": "# -*- coding: utf-8 -*-\n#\n# Configuration file for the Sphinx documentation builder.\n#\n# This file does only contain a selection of the most common options. For a\n# full list see the documentation:\n# http://www.sphinx-doc.org/en/stable/config\n\n# -- Path setup --------------------------------------------------------------\n\n# If extensions (or modules to document with autodoc) are in another directory,\n# add these directories to sys.path here. If the directory is relative to the\n# documentation root, use os.path.abspath to make it absolute, like shown here.\n#\nimport os\nimport sys\nfrom pathlib import Path\n\nsys.path.insert(0, os.path.abspath(\".\"))\nsys.path.insert(0, os.path.abspath(\"../examples\"))\n\n# Make a symlink in our sphinx source directory to the top-level\n# examples/notebooks directory so we can include notebooks in the doc\nnotebooks = Path(\"./notebooks\")\nif not notebooks.exists():\n    print(\"Making symlink to ../examples/notebooks\")\n    notebooks.symlink_to(\"../examples/notebooks\")\n\n\n# -- Project information -----------------------------------------------------\n\nproject = \"pyjanitor\"\ncopyright = \"2018, Eric J. Ma\"\nauthor = \"Eric J. Ma\"\n\n# The short X.Y version\nversion = \"0.1.0\"\n# The full version, including alpha/beta/rc tags\nrelease = \"\"\n\n\n# -- General configuration ---------------------------------------------------\n\n# If your documentation needs a minimal Sphinx version, state it here.\n#\n# needs_sphinx = '1.0'\n\n# Add any Sphinx extension module names here, as strings. They can be\n# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom\n# ones.\nextensions = [\n    \"sphinx.ext.autodoc\",\n    \"sphinx.ext.doctest\",\n    \"sphinx.ext.intersphinx\",\n    \"sphinx.ext.todo\",\n    \"sphinx.ext.coverage\",\n    \"sphinx.ext.viewcode\",\n    \"sphinx.ext.githubpages\",\n    \"sphinxcontrib.fulltoc\",\n    \"nbsphinx\",\n    \"sphinx.ext.autosummary\",\n]\n\n# Add any paths that contain templates here, relative to this directory.\ntemplates_path = [\"_templates\"]\n\n# The suffix(es) of source filenames.\n# You can specify multiple suffix as a list of string:\n#\n# source_suffix = ['.rst', '.md']\nsource_suffix = [\".md\", \".rst\", \".ipynb\"]\n\n# The master toctree document.\nmaster_doc = \"index\"\n\n# The language for content autogenerated by Sphinx. Refer to documentation\n# for a list of supported languages.\n#\n# This is also used if you do content translation via gettext catalogs.\n# Usually you set \"language\" from the command line for these cases.\nlanguage = None\n\n# List of patterns, relative to source directory, that match files and\n# directories to ignore when looking for source files.\n# This pattern also affects html_static_path and html_extra_path .\nexclude_patterns = [\"_build\", \"Thumbs.db\", \".DS_Store\", \"**.ipynb_checkpoints\"]\n\n# The name of the Pygments (syntax highlighting) style to use.\npygments_style = \"sphinx\"\n\n\n# -- Options for HTML output -------------------------------------------------\n\n# The theme to use for HTML and HTML Help pages.  See the documentation for\n# a list of builtin themes.\n#\nhtml_theme = \"alabaster\"\n\n# Theme options are theme-specific and customize the look and feel of a theme\n# further.  For a list of options available for each theme, see the\n# documentation.\n#\nhtml_theme_options = {\"logo\": \"logo_title.svg\"}\n\n# Add any paths that contain custom static files (such as style sheets) here,\n# relative to this directory. They are copied after the builtin static files,\n# so a file named \"default.css\" will overwrite the builtin \"default.css\".\nhtml_static_path = [\"_static\"]\n\n# Custom sidebar templates, must be a dictionary that maps document names\n# to template names.\n#\n# The default sidebars (for documents that don't match any pattern) are\n# defined by theme itself.  Builtin themes are using these templates by\n# default: ``['localtoc.html', 'relations.html', 'sourcelink.html',\n# 'searchbox.html']``.\n#\nhtml_sidebars = {\n    \"**\": [\"about.html\", \"navigation.html\", \"relations.html\", \"searchbox.html\"]\n}\n\n\n# -- Options for HTMLHelp output ---------------------------------------------\n\n# Output file base name for HTML help builder.\nhtmlhelp_basename = \"pyjanitordoc\"\n\n\n# -- Options for LaTeX output ------------------------------------------------\n\nlatex_elements = {\n    # The paper size ('letterpaper' or 'a4paper').\n    #\n    # 'papersize': 'letterpaper',\n    # The font size ('10pt', '11pt' or '12pt').\n    #\n    # 'pointsize': '10pt',\n    # Additional stuff for the LaTeX preamble.\n    #\n    # 'preamble': '',\n    # Latex figure (float) alignment\n    #\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    (\n        master_doc,\n        \"pyjanitor.tex\",\n        \"pyjanitor Documentation\",\n        \"Eric J. Ma\",\n        \"manual\",\n    )\n]\n\n\n# -- Options for manual page output ------------------------------------------\n\n# One entry per manual page. List of tuples\n# (source start file, name, description, authors, manual section).\nman_pages = [(master_doc, \"pyjanitor\", \"pyjanitor Documentation\", [author], 1)]\n\n\n# -- Options for 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    (\n        master_doc,\n        \"pyjanitor\",\n        \"pyjanitor Documentation\",\n        author,\n        \"pyjanitor\",\n        \"One line description of project.\",\n        \"Miscellaneous\",\n    )\n]\n\n\n# -- Extension configuration -------------------------------------------------\n\n# -- Options for intersphinx extension ---------------------------------------\n\n# Example configuration for intersphinx: refer to the Python standard library.\nintersphinx_mapping = {\n    \"https://docs.python.org/\": None,\n    \"https://pandas.pydata.org/pandas-docs/stable\": None,\n}\n\n# -- Options for todo extension ----------------------------------------------\n\n# If true, `todo` and `todoList` produce output, else they produce nothing.\ntodo_include_todos = True\n", "path": "docs/conf.py"}]}