We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Give `external` higher billing in the docs?
At the moment external modules are kind of hidden in the docs. I think it'd be worth making them more visible (at least on the same page as everything else). I've been giving this a shot, but have hit the limit of my sphinx/ rst abilities.

Two ideas for how they could be more discoverable:

* They get their own heading under `api`
* They're mixed in with everything else (so everything stays organized by topic), but their names are prepended with `sce` while scanpy functions are prepended with `sc`.

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `scanpy/external/__init__.py`
Content:
```
1 from . import tl
2 from . import pl
3 from . import pp
4 
5 from .. import _exporting as exporting
6 
7 import sys
8 from .. import utils
9 utils.annotate_doc_types(sys.modules[__name__], 'scanpy')
10 del sys, utils
11 
12 
13 __doc__ = """\
14 External API
15 ============
16 
17 
18 Import Scanpy's wrappers to external tools as::
19 
20    import scanpy.external as sce
21 
22 Preprocessing: PP
23 ------------------
24 
25 Batch effect correction
26 ~~~~~~~~~~~~~~~~~~~~~~~
27 
28 .. autosummary::
29    :toctree: .
30 
31    pp.bbknn
32    pp.mnn_correct
33 
34 Imputation
35 ~~~~~~~~~~
36 
37 Note that the fundamental limitations of imputation are still under `debate
38 <https://github.com/theislab/scanpy/issues/189>`__.
39 
40 .. autosummary::
41    :toctree: .
42 
43    pp.dca
44    pp.magic
45 
46 
47 Tools: TL
48 ----------
49 
50 Embeddings
51 ~~~~~~~~~~
52 
53 .. autosummary::
54    :toctree: .
55 
56    tl.phate
57    tl.palantir
58 
59 Clustering and trajectory inference
60 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
61 
62 .. autosummary::
63    :toctree: .
64 
65    tl.phenograph
66 
67 Gene scores, Cell cycle
68 ~~~~~~~~~~~~~~~~~~~~~~~
69 
70 .. autosummary::
71    :toctree: .
72 
73    tl.sandbag
74    tl.cyclone
75 
76 
77 Plotting: PL
78 ------------
79 
80 .. autosummary::
81    :toctree: .
82 
83    pl.phate
84    tl.palantir
85 
86 
87 Exporting
88 ---------
89 
90 .. autosummary::
91    :toctree: .
92 
93    exporting.spring_project
94    exporting.cellbrowser
95 """
96
```
--- 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/scanpy/external/__init__.py b/scanpy/external/__init__.py
--- a/scanpy/external/__init__.py
+++ b/scanpy/external/__init__.py
@@ -19,6 +19,8 @@
 
    import scanpy.external as sce
 
+If you'd like to see your tool included here, please open a `pull request <https://github.com/theislab/scanpy>`_!
+
 Preprocessing: PP
 ------------------

{"golden_diff": "diff --git a/scanpy/external/__init__.py b/scanpy/external/__init__.py\n--- a/scanpy/external/__init__.py\n+++ b/scanpy/external/__init__.py\n@@ -19,6 +19,8 @@\n \n    import scanpy.external as sce\n \n+If you'd like to see your tool included here, please open a `pull request <https://github.com/theislab/scanpy>`_!\n+\n Preprocessing: PP\n ------------------\n", "issue": "Give `external` higher billing in the docs?\nAt the moment external modules are kind of hidden in the docs. I think it'd be worth making them more visible (at least on the same page as everything else). I've been giving this a shot, but have hit the limit of my sphinx/ rst abilities.\r\n\r\nTwo ideas for how they could be more discoverable:\r\n\r\n* They get their own heading under `api`\r\n* They're mixed in with everything else (so everything stays organized by topic), but their names are prepended with `sce` while scanpy functions are prepended with `sc`.\n", "before_files": [{"content": "from . import tl\nfrom . import pl\nfrom . import pp\n\nfrom .. import _exporting as exporting\n\nimport sys\nfrom .. import utils\nutils.annotate_doc_types(sys.modules[__name__], 'scanpy')\ndel sys, utils\n\n\n__doc__ = \"\"\"\\\nExternal API\n============\n\n\nImport Scanpy's wrappers to external tools as::\n\n   import scanpy.external as sce\n\nPreprocessing: PP\n------------------\n\nBatch effect correction\n~~~~~~~~~~~~~~~~~~~~~~~\n\n.. autosummary::\n   :toctree: .\n\n   pp.bbknn\n   pp.mnn_correct\n\nImputation\n~~~~~~~~~~\n\nNote that the fundamental limitations of imputation are still under `debate\n<https://github.com/theislab/scanpy/issues/189>`__.\n\n.. autosummary::\n   :toctree: .\n\n   pp.dca\n   pp.magic\n\n\nTools: TL\n----------\n\nEmbeddings\n~~~~~~~~~~\n\n.. autosummary::\n   :toctree: .\n\n   tl.phate\n   tl.palantir\n\nClustering and trajectory inference\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n.. autosummary::\n   :toctree: .\n\n   tl.phenograph\n\nGene scores, Cell cycle\n~~~~~~~~~~~~~~~~~~~~~~~\n\n.. autosummary::\n   :toctree: .\n\n   tl.sandbag\n   tl.cyclone\n\n\nPlotting: PL\n------------\n\n.. autosummary::\n   :toctree: .\n\n   pl.phate\n   tl.palantir\n\n\nExporting\n---------\n\n.. autosummary::\n   :toctree: .\n\n   exporting.spring_project\n   exporting.cellbrowser\n\"\"\"\n", "path": "scanpy/external/__init__.py"}], "after_files": [{"content": "from . import tl\nfrom . import pl\nfrom . import pp\n\nfrom .. import _exporting as exporting\n\nimport sys\nfrom .. import utils\nutils.annotate_doc_types(sys.modules[__name__], 'scanpy')\ndel sys, utils\n\n\n__doc__ = \"\"\"\\\nExternal API\n============\n\n\nImport Scanpy's wrappers to external tools as::\n\n   import scanpy.external as sce\n\nIf you'd like to see your tool included here, please open a `pull request <https://github.com/theislab/scanpy>`_!\n\nPreprocessing: PP\n------------------\n\nBatch effect correction\n~~~~~~~~~~~~~~~~~~~~~~~\n\n.. autosummary::\n   :toctree: .\n\n   pp.bbknn\n   pp.mnn_correct\n\nImputation\n~~~~~~~~~~\n\nNote that the fundamental limitations of imputation are still under `debate\n<https://github.com/theislab/scanpy/issues/189>`__.\n\n.. autosummary::\n   :toctree: .\n\n   pp.dca\n   pp.magic\n\n\nTools: TL\n----------\n\nEmbeddings\n~~~~~~~~~~\n\n.. autosummary::\n   :toctree: .\n\n   tl.phate\n   tl.palantir\n\nClustering and trajectory inference\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n.. autosummary::\n   :toctree: .\n\n   tl.phenograph\n\nGene scores, Cell cycle\n~~~~~~~~~~~~~~~~~~~~~~~\n\n.. autosummary::\n   :toctree: .\n\n   tl.sandbag\n   tl.cyclone\n\n\nPlotting: PL\n------------\n\n.. autosummary::\n   :toctree: .\n\n   pl.phate\n   tl.palantir\n\n\nExporting\n---------\n\n.. autosummary::\n   :toctree: .\n\n   exporting.spring_project\n   exporting.cellbrowser\n\"\"\"\n", "path": "scanpy/external/__init__.py"}]}