Read the Docs build information Build id: 161190 Project: icb-scanpy Version: latest Commit: 2bbaeaac67ee8bc074bc603f098eab2faa8ca45f Date: 2018-11-20T14:01:19.812638Z State: finished Success: True [rtd-command-info] start-time: 2018-11-20T20:01:20.503629Z, end-time: 2018-11-20T20:01:20.510158Z, duration: 0, exit-code: 0 git remote set-url origin https://github.com/theislab/scanpy.git [rtd-command-info] start-time: 2018-11-20T20:01:20.574174Z, end-time: 2018-11-20T20:01:20.843601Z, duration: 0, exit-code: 0 git fetch --tags --prune --prune-tags From https://github.com/theislab/scanpy ce10d02..2bbaeaa master -> origin/master [rtd-command-info] start-time: 2018-11-20T20:01:20.915252Z, end-time: 2018-11-20T20:01:20.923227Z, duration: 0, exit-code: 0 git checkout --force origin/master Previous HEAD position was ce10d02 Improved pca docs HEAD is now at 2bbaeaa We don’t need difficult dependencies for the docs! [rtd-command-info] start-time: 2018-11-20T20:01:20.989702Z, end-time: 2018-11-20T20:01:20.997148Z, duration: 0, exit-code: 0 git clean -d -f -f [rtd-command-info] start-time: 2018-11-20T20:01:21.090234Z, end-time: 2018-11-20T20:01:21.096168Z, duration: 0, exit-code: 0 git branch -r origin/HEAD -> origin/master origin/VolkerBergen-patch-1 origin/hvg origin/kbet origin/master origin/norml origin/version0 [rtd-command-info] start-time: 2018-11-20T20:01:21.809570Z, end-time: 2018-11-20T20:01:25.839426Z, duration: 4, exit-code: 0 python3.6 -mvirtualenv --no-site-packages --no-download Using base prefix '/home/docs/.pyenv/versions/3.6.2' New python executable in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/bin/python3.6 Not overwriting existing python script /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/bin/python (you must use /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/bin/python3.6) Installing setuptools, pip, wheel...done. [rtd-command-info] start-time: 2018-11-20T20:01:25.907351Z, end-time: 2018-11-20T20:01:33.123565Z, duration: 7, exit-code: 0 python pip install --upgrade --cache-dir /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/.cache/pip Pygments==2.2.0 setuptools<40 docutils==0.13.1 mock==1.0.1 pillow==2.6.1 alabaster>=0.7,<0.8,!=0.7.5 commonmark==0.5.4 recommonmark==0.4.0 sphinx<1.8 sphinx-rtd-theme<0.5 readthedocs-sphinx-ext<0.6 Requirement already up-to-date: Pygments==2.2.0 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages Requirement already up-to-date: setuptools<40 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages Requirement already up-to-date: docutils==0.13.1 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages Requirement already up-to-date: mock==1.0.1 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages Requirement already up-to-date: pillow==2.6.1 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages Requirement already up-to-date: alabaster!=0.7.5,<0.8,>=0.7 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages Requirement already up-to-date: commonmark==0.5.4 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages Requirement already up-to-date: recommonmark==0.4.0 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages Collecting sphinx<1.8 Using cached https://files.pythonhosted.org/packages/90/f9/a0babe32c78480994e4f1b93315558f5ed756104054a7029c672a8d77b72/Sphinx-1.7.9-py2.py3-none-any.whl Requirement already up-to-date: sphinx-rtd-theme<0.5 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages Requirement already up-to-date: readthedocs-sphinx-ext<0.6 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages Requirement already up-to-date: snowballstemmer>=1.1 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from sphinx<1.8) Requirement already up-to-date: requests>=2.0.0 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from sphinx<1.8) Requirement already up-to-date: packaging in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from sphinx<1.8) Requirement already up-to-date: Jinja2>=2.3 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from sphinx<1.8) Requirement already up-to-date: babel!=2.0,>=1.3 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from sphinx<1.8) Requirement already up-to-date: imagesize in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from sphinx<1.8) Requirement already up-to-date: six>=1.5 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from sphinx<1.8) Requirement already up-to-date: sphinxcontrib-websupport in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from sphinx<1.8) Requirement already up-to-date: certifi>=2017.4.17 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from requests>=2.0.0->sphinx<1.8) Requirement already up-to-date: chardet<3.1.0,>=3.0.2 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from requests>=2.0.0->sphinx<1.8) Requirement already up-to-date: idna<2.8,>=2.5 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from requests>=2.0.0->sphinx<1.8) Requirement already up-to-date: urllib3<1.25,>=1.21.1 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from requests>=2.0.0->sphinx<1.8) Requirement already up-to-date: pyparsing>=2.0.2 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from packaging->sphinx<1.8) Requirement already up-to-date: MarkupSafe>=0.23 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from Jinja2>=2.3->sphinx<1.8) Requirement already up-to-date: pytz>=0a in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from babel!=2.0,>=1.3->sphinx<1.8) Installing collected packages: sphinx Found existing installation: Sphinx 1.8.2 Uninstalling Sphinx-1.8.2: Successfully uninstalled Sphinx-1.8.2 Successfully installed sphinx-1.7.9 You are using pip version 9.0.3, however version 18.1 is available. You should consider upgrading via the 'pip install --upgrade pip' command. [rtd-command-info] start-time: 2018-11-20T20:01:33.185567Z, end-time: 2018-11-20T20:01:35.497973Z, duration: 2, exit-code: 0 python pip install --exists-action=w --cache-dir /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/.cache/pip -r docs/requires.txt Requirement already satisfied: sphinx_rtd_theme>=0.3.1 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from -r docs/requires.txt (line 2)) Collecting sphinx>=1.8 (from -r docs/requires.txt (line 4)) Using cached https://files.pythonhosted.org/packages/ff/d5/3a8727d6f890b1ae45da72a55bf8449e9f2c535a444923b338c3f509f203/Sphinx-1.8.2-py2.py3-none-any.whl Requirement already satisfied: sphinx-autodoc-typehints in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from -r docs/requires.txt (line 5)) Requirement already satisfied: anndata>=0.6.7 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from -r docs/requires.txt (line 7)) Requirement already satisfied: matplotlib>=2.2 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from -r docs/requires.txt (line 8)) Requirement already satisfied: pandas>=0.21 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from -r docs/requires.txt (line 9)) Requirement already satisfied: scipy in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from -r docs/requires.txt (line 10)) Requirement already satisfied: seaborn in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from -r docs/requires.txt (line 11)) Requirement already satisfied: h5py in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from -r docs/requires.txt (line 12)) Requirement already satisfied: tables in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from -r docs/requires.txt (line 13)) Requirement already satisfied: scikit-learn>=0.19.1 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from -r docs/requires.txt (line 14)) Requirement already satisfied: networkx in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from -r docs/requires.txt (line 16)) Requirement already satisfied: natsort in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from -r docs/requires.txt (line 17)) Requirement already satisfied: joblib in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from -r docs/requires.txt (line 18)) Requirement already satisfied: numba in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from -r docs/requires.txt (line 19)) Requirement already satisfied: six>=1.5 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from sphinx>=1.8->-r docs/requires.txt (line 4)) Requirement already satisfied: imagesize in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from sphinx>=1.8->-r docs/requires.txt (line 4)) Requirement already satisfied: babel!=2.0,>=1.3 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from sphinx>=1.8->-r docs/requires.txt (line 4)) Requirement already satisfied: snowballstemmer>=1.1 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from sphinx>=1.8->-r docs/requires.txt (line 4)) Requirement already satisfied: Pygments>=2.0 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from sphinx>=1.8->-r docs/requires.txt (line 4)) Requirement already satisfied: sphinxcontrib-websupport in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from sphinx>=1.8->-r docs/requires.txt (line 4)) Requirement already satisfied: requests>=2.0.0 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from sphinx>=1.8->-r docs/requires.txt (line 4)) Requirement already satisfied: packaging in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from sphinx>=1.8->-r docs/requires.txt (line 4)) Requirement already satisfied: alabaster<0.8,>=0.7 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from sphinx>=1.8->-r docs/requires.txt (line 4)) Requirement already satisfied: setuptools in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from sphinx>=1.8->-r docs/requires.txt (line 4)) Requirement already satisfied: docutils>=0.11 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from sphinx>=1.8->-r docs/requires.txt (line 4)) Requirement already satisfied: Jinja2>=2.3 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from sphinx>=1.8->-r docs/requires.txt (line 4)) Requirement already satisfied: numpy~=1.14 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from anndata>=0.6.7->-r docs/requires.txt (line 7)) Requirement already satisfied: cycler>=0.10 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from matplotlib>=2.2->-r docs/requires.txt (line 8)) Requirement already satisfied: kiwisolver>=1.0.1 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from matplotlib>=2.2->-r docs/requires.txt (line 8)) Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from matplotlib>=2.2->-r docs/requires.txt (line 8)) Requirement already satisfied: python-dateutil>=2.1 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from matplotlib>=2.2->-r docs/requires.txt (line 8)) Requirement already satisfied: pytz>=2011k in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from pandas>=0.21->-r docs/requires.txt (line 9)) Requirement already satisfied: numexpr>=2.5.2 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from tables->-r docs/requires.txt (line 13)) Requirement already satisfied: decorator>=4.3.0 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from networkx->-r docs/requires.txt (line 16)) Requirement already satisfied: llvmlite>=0.25.0dev0 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from numba->-r docs/requires.txt (line 19)) Requirement already satisfied: idna<2.8,>=2.5 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from requests>=2.0.0->sphinx>=1.8->-r docs/requires.txt (line 4)) Requirement already satisfied: urllib3<1.25,>=1.21.1 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from requests>=2.0.0->sphinx>=1.8->-r docs/requires.txt (line 4)) Requirement already satisfied: certifi>=2017.4.17 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from requests>=2.0.0->sphinx>=1.8->-r docs/requires.txt (line 4)) Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from requests>=2.0.0->sphinx>=1.8->-r docs/requires.txt (line 4)) Requirement already satisfied: MarkupSafe>=0.23 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from Jinja2>=2.3->sphinx>=1.8->-r docs/requires.txt (line 4)) Installing collected packages: sphinx Found existing installation: Sphinx 1.7.9 Uninstalling Sphinx-1.7.9: Successfully uninstalled Sphinx-1.7.9 Successfully installed sphinx-1.8.2 You are using pip version 9.0.3, however version 18.1 is available. You should consider upgrading via the 'pip install --upgrade pip' command. [rtd-command-info] start-time: 2018-11-20T20:01:35.984070Z, end-time: 2018-11-20T20:01:36.046515Z, duration: 0, exit-code: 0 cat docs/conf.py import sys import inspect import logging from pathlib import Path from datetime import datetime from typing import Optional from sphinx.application import Sphinx from sphinx.ext import autosummary # remove PyCharm’s old six module if 'six' in sys.modules: print(*sys.path, sep='\n') for pypath in list(sys.path): if any(p in pypath for p in ['PyCharm', 'pycharm']) and 'helpers' in pypath: sys.path.remove(pypath) del sys.modules['six'] import matplotlib # noqa # Don’t use tkinter agg when importing scanpy → … → matplotlib matplotlib.use('agg') HERE = Path(__file__).parent sys.path.insert(0, str(HERE.parent)) import scanpy.api # noqa logger = logging.getLogger(__name__) # -- General configuration ------------------------------------------------ needs_sphinx = '1.7' # autosummary bugfix extensions = [ 'sphinx.ext.autodoc', 'sphinx.ext.doctest', 'sphinx.ext.coverage', 'sphinx.ext.mathjax', 'sphinx.ext.autosummary', # 'plot_generator', # 'plot_directive', 'sphinx.ext.napoleon', 'sphinx_autodoc_typehints', 'sphinx.ext.intersphinx', # 'ipython_directive', # 'ipython_console_highlighting', ] # Generate the API documentation when building autosummary_generate = True # both of the following two lines don't work # see falexwolf's issue for numpydoc # autodoc_member_order = 'bysource' # autodoc_default_flags = ['members'] napoleon_google_docstring = False napoleon_numpy_docstring = True napoleon_include_init_with_doc = False napoleon_use_rtype = False napoleon_custom_sections = [('Params', 'Parameters')] intersphinx_mapping = dict( python=('https://docs.python.org/3', None), numpy=('https://docs.scipy.org/doc/numpy/', None), scipy=('https://docs.scipy.org/doc/scipy/reference/', None), sklearn=('https://scikit-learn.org/stable/', None), pandas=('http://pandas.pydata.org/pandas-docs/stable/', None), matplotlib=('https://matplotlib.org/', None), anndata=('https://anndata.readthedocs.io/en/latest/', None), bbknn=('https://bbknn.readthedocs.io/en/latest/', None), leidenalg=('https://leidenalg.readthedocs.io/en/latest/', None), louvain=('https://louvain-igraph.readthedocs.io/en/latest/', None), ) templates_path = ['_templates'] source_suffix = '.rst' master_doc = 'index' project = 'Scanpy' author = 'Alex Wolf, Philipp Angerer, Fidel Ramirez, Isaac Virshup, Davide Cittaro, Gokcen Eraslan, Tom White, Tobias Callies, Andrés R. Muñoz-Rojas.' copyright = f'{datetime.now():%Y}, {author}' version = scanpy.__version__.replace('.dirty', '') release = version exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] pygments_style = 'sphinx' todo_include_todos = False # -- Options for HTML output ---------------------------------------------- html_theme = 'sphinx_rtd_theme' html_theme_options = dict( navigation_depth=2, ) html_context = dict( display_github=True, # Integrate GitHub github_user='theislab', # Username github_repo='scanpy', # Repo name github_version='master', # Version conf_py_path='/docs/', # Path in the checkout to the docs root ) html_static_path = ['_static'] def setup(app): app.add_stylesheet('css/custom.css') # -- Options for other output formats ------------------------------------------ htmlhelp_basename = 'Scanpydoc' latex_documents = [ (master_doc, 'Scanpy.tex', 'Scanpy Documentation', 'Alex Wolf, Philipp Angerer', 'manual'), ] man_pages = [ (master_doc, 'scanpy', 'Scanpy Documentation', [author], 1) ] texinfo_documents = [ (master_doc, 'Scanpy', 'Scanpy Documentation', author, 'Scanpy', 'One line description of project.', 'Miscellaneous'), ] # -- generate_options override ------------------------------------------ # The only thing changed here is that we specify imported_members=True # in the generate_autosummary_docs call. def process_generate_options(app: Sphinx): genfiles = app.config.autosummary_generate if genfiles and not hasattr(genfiles, '__len__'): env = app.builder.env genfiles = [ env.doc2path(x, base=None) for x in env.found_docs if Path(env.doc2path(x)).is_file() ] if not genfiles: return ext = app.config.source_suffix genfiles = [ genfile + ('' if genfile.endswith(tuple(ext)) else ext[0]) for genfile in genfiles ] suffix = autosummary.get_rst_suffix(app) if suffix is None: return from sphinx.ext.autosummary.generate import generate_autosummary_docs generate_autosummary_docs( genfiles, builder=app.builder, warn=logger.warning, info=logger.info, suffix=suffix, base_path=app.srcdir, imported_members=True, app=app, ) autosummary.process_generate_options = process_generate_options # -- GitHub URLs for class and method pages ------------------------------------------ def get_obj_module(qualname): """Get a module/class/attribute and its original module by qualname""" modname = qualname classname = None attrname = None while modname not in sys.modules: attrname = classname modname, classname = modname.rsplit('.', 1) # retrieve object and find original module name if classname: cls = getattr(sys.modules[modname], classname) modname = cls.__module__ obj = getattr(cls, attrname) if attrname else cls else: obj = None return obj, sys.modules[modname] def get_linenos(obj): """Get an object’s line numbers""" try: lines, start = inspect.getsourcelines(obj) except TypeError: return None, None else: return start, start + len(lines) - 1 project_dir = Path(__file__).parent.parent # project/docs/conf.py/../.. → project/ github_url1 = 'https://github.com/{github_user}/{github_repo}/tree/{github_version}'.format_map(html_context) github_url2 = 'https://github.com/theislab/anndata/tree/master' def modurl(qualname: str) -> str: """Get the full GitHub URL for some object’s qualname.""" obj, module = get_obj_module(qualname) github_url = github_url1 try: path = Path(module.__file__).relative_to(project_dir) except ValueError: # trying to document something from another package github_url = github_url2 path = '/'.join(module.__file__.split('/')[-2:]) start, end = get_linenos(obj) fragment = f'#L{start}-L{end}' if start and end else '' return f'{github_url}/{path}{fragment}' def api_image(qualname: str) -> Optional[str]: # I’d like to make this a contextfilter, but the jinja context doesn’t contain the path, # so no chance to not hardcode “api/” here. path = Path(__file__).parent / 'api' / f'{qualname}.png' print(path, path.is_file()) return f'.. image:: {path.name}\n :width: 200\n :align: right' if path.is_file() else '' # html_context doesn’t apply to autosummary templates ☹ # and there’s no way to insert filters into those templates # so we have to modify the default filters from jinja2.defaults import DEFAULT_FILTERS DEFAULT_FILTERS.update(modurl=modurl, api_image=api_image) # -- Override some classnames in autodoc -------------------------------------------- # This makes sure that automatically documented links actually # end up being links instead of pointing nowhere. import sphinx_autodoc_typehints qualname_overrides = { 'anndata.base.AnnData': 'anndata.AnnData', 'scipy.sparse.base.spmatrix': 'scipy.sparse.spmatrix', 'scipy.sparse.csr.csr_matrix': 'scipy.sparse.csr_matrix', 'scipy.sparse.csc.csc_matrix': 'scipy.sparse.csc_matrix', } fa_orig = sphinx_autodoc_typehints.format_annotation def format_annotation(annotation): if inspect.isclass(annotation): full_name = '{}.{}'.format(annotation.__module__, annotation.__qualname__) override = qualname_overrides.get(full_name) if override is not None: return f':py:class:`~{qualname_overrides[full_name]}`' return fa_orig(annotation) sphinx_autodoc_typehints.format_annotation = format_annotation # -- Prettier Param docs -------------------------------------------- # Our PrettyTypedField is the same as the default PyTypedField, # except that the items (e.g. function parameters) get rendered as # definition list instead of paragraphs with some formatting. from typing import Dict, List, Tuple from docutils import nodes from sphinx import addnodes from sphinx.domains.python import PyTypedField, PyObject from sphinx.environment import BuildEnvironment class PrettyTypedField(PyTypedField): list_type = nodes.definition_list def make_field( self, types: Dict[str, List[nodes.Node]], domain: str, items: Tuple[str, List[nodes.inline]], env: BuildEnvironment = None ) -> nodes.field: def makerefs(rolename, name, node): return self.make_xrefs(rolename, domain, name, node, env=env) def handle_item(fieldarg: str, content: List[nodes.inline]) -> nodes.definition_list_item: head = nodes.term() head += makerefs(self.rolename, fieldarg, addnodes.literal_strong) fieldtype = types.pop(fieldarg, None) if fieldtype is not None: head += nodes.Text(' : ') if len(fieldtype) == 1 and isinstance(fieldtype[0], nodes.Text): text_node, = fieldtype # type: nodes.Text head += makerefs(self.typerolename, text_node.astext(), addnodes.literal_emphasis) else: head += fieldtype body_content = nodes.paragraph('', '', *content) body = nodes.definition('', body_content) return nodes.definition_list_item('', head, body) fieldname = nodes.field_name('', self.label) if len(items) == 1 and self.can_collapse: fieldarg, content = items[0] bodynode = handle_item(fieldarg, content) else: bodynode = self.list_type() for fieldarg, content in items: bodynode += handle_item(fieldarg, content) fieldbody = nodes.field_body('', bodynode) return nodes.field('', fieldname, fieldbody) # replace matching field types with ours PyObject.doc_field_types = [ PrettyTypedField( ft.name, names=ft.names, typenames=ft.typenames, label=ft.label, rolename=ft.rolename, typerolename=ft.typerolename, can_collapse=ft.can_collapse, ) if isinstance(ft, PyTypedField) else ft for ft in PyObject.doc_field_types ] ########################################################################### # 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 else: SUFFIX = source_suffix[0] 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') html_static_path.append('/home/docs/checkouts/readthedocs.org/readthedocs/templates/sphinx/_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/"), ("stable", "/en/stable/"), ], 'downloads': [ ("htmlzip", "//readthedocs.com/projects/icb-scanpy/downloads/htmlzip/latest/"), ], 'subprojects': [ ], 'slug': 'icb-scanpy', 'name': u'scanpy', 'rtd_language': u'en', 'programming_language': u'py', 'canonical_url': 'https://icb-scanpy.readthedocs-hosted.com/en/latest/', 'analytics_code': '', 'single_version': False, 'conf_py_path': '/docs/', 'api_host': 'https://readthedocs.com', 'github_user': 'theislab', 'github_repo': 'scanpy', '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': '2bbaeaac', } 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"] [rtd-command-info] start-time: 2018-11-20T20:01:36.124294Z, end-time: 2018-11-20T20:02:13.016955Z, duration: 36, exit-code: 0 python sphinx-build -T -E -b readthedocs -d _build/doctrees-readthedocs -D language=en . _build/html Running Sphinx v1.8.2 /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/bin /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python36.zip /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6 /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/lib-dynload /home/docs/.pyenv/versions/3.6.2/lib/python3.6 /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages loading translations [en]... done making output directory... loading intersphinx inventory from https://docs.python.org/3/objects.inv... loading intersphinx inventory from https://docs.scipy.org/doc/numpy/objects.inv... loading intersphinx inventory from https://docs.scipy.org/doc/scipy/reference/objects.inv... loading intersphinx inventory from https://scikit-learn.org/stable/objects.inv... loading intersphinx inventory from http://pandas.pydata.org/pandas-docs/stable/objects.inv... loading intersphinx inventory from https://matplotlib.org/objects.inv... loading intersphinx inventory from https://anndata.readthedocs.io/en/latest/objects.inv... loading intersphinx inventory from https://bbknn.readthedocs.io/en/latest/objects.inv... loading intersphinx inventory from https://leidenalg.readthedocs.io/en/latest/objects.inv... loading intersphinx inventory from https://louvain-igraph.readthedocs.io/en/latest/objects.inv... building [mo]: targets for 0 po files that are out of date building [readthedocs]: targets for 112 source files that are out of date updating environment: 112 added, 0 changed, 0 removed reading sources... [ 0%] api/index reading sources... [ 1%] api/plotting reading sources... [ 2%] api/scanpy.api.AnnData reading sources... [ 3%] api/scanpy.api.Neighbors reading sources... [ 4%] api/scanpy.api.Neighbors.compute_eigen reading sources... [ 5%] api/scanpy.api.Neighbors.compute_neighbors reading sources... [ 6%] api/scanpy.api.Neighbors.compute_transitions reading sources... [ 7%] api/scanpy.api.Neighbors.connectivities reading sources... [ 8%] api/scanpy.api.Neighbors.distances reading sources... [ 8%] api/scanpy.api.Neighbors.distances_dpt reading sources... [ 9%] api/scanpy.api.Neighbors.eigen_basis reading sources... [ 10%] api/scanpy.api.Neighbors.eigen_values reading sources... [ 11%] api/scanpy.api.Neighbors.getdoc reading sources... [ 12%] api/scanpy.api.Neighbors.laplacian reading sources... [ 13%] api/scanpy.api.Neighbors.to_igraph reading sources... [ 14%] api/scanpy.api.Neighbors.transitions reading sources... [ 15%] api/scanpy.api.Neighbors.transitions_sym reading sources... [ 16%] api/scanpy.api.datasets.blobs reading sources... [ 16%] api/scanpy.api.datasets.krumsiek11 reading sources... [ 17%] api/scanpy.api.datasets.moignard15 reading sources... [ 18%] api/scanpy.api.datasets.paul15 reading sources... [ 19%] api/scanpy.api.datasets.pbmc3k reading sources... [ 20%] api/scanpy.api.datasets.pbmc68k_reduced reading sources... [ 21%] api/scanpy.api.datasets.toggleswitch reading sources... [ 22%] api/scanpy.api.export_to.spring_project reading sources... [ 23%] api/scanpy.api.logging.print_versions reading sources... [ 24%] api/scanpy.api.pl.clustermap reading sources... [ 25%] api/scanpy.api.pl.diffmap reading sources... [ 25%] api/scanpy.api.pl.dotplot reading sources... [ 26%] api/scanpy.api.pl.dpt_groups_pseudotime reading sources... [ 27%] api/scanpy.api.pl.dpt_timeseries reading sources... [ 28%] api/scanpy.api.pl.draw_graph reading sources... [ 29%] api/scanpy.api.pl.filter_genes_dispersion reading sources... [ 30%] api/scanpy.api.pl.heatmap reading sources... [ 31%] api/scanpy.api.pl.highest_expr_genes reading sources... [ 32%] api/scanpy.api.pl.matrixplot reading sources... [ 33%] api/scanpy.api.pl.paga reading sources... [ 33%] api/scanpy.api.pl.paga_compare reading sources... [ 34%] api/scanpy.api.pl.paga_path reading sources... [ 35%] api/scanpy.api.pl.pca reading sources... [ 36%] api/scanpy.api.pl.pca_loadings reading sources... [ 37%] api/scanpy.api.pl.pca_overview reading sources... [ 38%] api/scanpy.api.pl.pca_variance_ratio reading sources... [ 39%] api/scanpy.api.pl.phate reading sources... [ 40%] api/scanpy.api.pl.rank_genes_groups reading sources... [ 41%] api/scanpy.api.pl.rank_genes_groups_dotplot reading sources... [ 41%] api/scanpy.api.pl.rank_genes_groups_heatmap reading sources... [ 42%] api/scanpy.api.pl.rank_genes_groups_matrixplot reading sources... [ 43%] api/scanpy.api.pl.rank_genes_groups_stacked_violin reading sources... [ 44%] api/scanpy.api.pl.rank_genes_groups_violin reading sources... [ 45%] api/scanpy.api.pl.ranking reading sources... [ 46%] api/scanpy.api.pl.scatter reading sources... [ 47%] api/scanpy.api.pl.sim reading sources... [ 48%] api/scanpy.api.pl.stacked_violin reading sources... [ 49%] api/scanpy.api.pl.tsne reading sources... [ 50%] api/scanpy.api.pl.umap reading sources... [ 50%] api/scanpy.api.pl.violin reading sources... [ 51%] api/scanpy.api.pp.bbknn reading sources... [ 52%] api/scanpy.api.pp.calculate_qc_metrics reading sources... [ 53%] api/scanpy.api.pp.dca reading sources... [ 54%] api/scanpy.api.pp.downsample_counts reading sources... [ 55%] api/scanpy.api.pp.filter_cells reading sources... [ 56%] api/scanpy.api.pp.filter_genes reading sources... [ 57%] api/scanpy.api.pp.filter_genes_dispersion reading sources... [ 58%] api/scanpy.api.pp.highly_variable_genes reading sources... [ 58%] api/scanpy.api.pp.log1p reading sources... [ 59%] api/scanpy.api.pp.magic reading sources... [ 60%] api/scanpy.api.pp.mnn_correct reading sources... [ 61%] api/scanpy.api.pp.neighbors reading sources... [ 62%] api/scanpy.api.pp.normalize_per_cell reading sources... [ 63%] api/scanpy.api.pp.pca reading sources... [ 64%] api/scanpy.api.pp.recipe_seurat reading sources... [ 65%] api/scanpy.api.pp.recipe_weinreb17 reading sources... [ 66%] api/scanpy.api.pp.recipe_zheng17 reading sources... [ 66%] api/scanpy.api.pp.regress_out reading sources... [ 67%] api/scanpy.api.pp.scale reading sources... [ 68%] api/scanpy.api.pp.subsample reading sources... [ 69%] api/scanpy.api.queries.mitochondrial_genes reading sources... [ 70%] api/scanpy.api.read reading sources... [ 71%] api/scanpy.api.read_10x_h5 reading sources... [ 72%] api/scanpy.api.read_10x_mtx reading sources... [ 73%] api/scanpy.api.read_csv reading sources... [ 74%] api/scanpy.api.read_excel reading sources... [ 75%] api/scanpy.api.read_h5ad reading sources... [ 75%] api/scanpy.api.read_hdf reading sources... [ 76%] api/scanpy.api.read_loom reading sources... [ 77%] api/scanpy.api.read_mtx reading sources... [ 78%] api/scanpy.api.read_text reading sources... [ 79%] api/scanpy.api.read_umi_tools reading sources... [ 80%] api/scanpy.api.set_figure_params reading sources... [ 81%] api/scanpy.api.tl.cyclone reading sources... [ 82%] api/scanpy.api.tl.diffmap reading sources... [ 83%] api/scanpy.api.tl.dpt reading sources... [ 83%] api/scanpy.api.tl.draw_graph reading sources... [ 84%] api/scanpy.api.tl.leiden reading sources... [ 85%] api/scanpy.api.tl.louvain reading sources... [ 86%] api/scanpy.api.tl.paga reading sources... [ 87%] api/scanpy.api.tl.pca reading sources... [ 88%] api/scanpy.api.tl.phate reading sources... [ 89%] api/scanpy.api.tl.rank_genes_groups reading sources... [ 90%] api/scanpy.api.tl.sandbag reading sources... [ 91%] api/scanpy.api.tl.score_genes reading sources... [ 91%] api/scanpy.api.tl.score_genes_cell_cycle reading sources... [ 92%] api/scanpy.api.tl.sim reading sources... [ 93%] api/scanpy.api.tl.tsne reading sources... [ 94%] api/scanpy.api.tl.umap reading sources... [ 95%] basic_usage reading sources... [ 96%] examples reading sources... [ 97%] index reading sources... [ 98%] installation reading sources... [ 99%] references reading sources... [100%] release_notes looking for now-outdated files... none found pickling environment... done checking consistency... /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/checkouts/latest/docs/references.rst:32: WARNING: Citation [Ester96] is not referenced. /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/checkouts/latest/docs/references.rst:45: WARNING: Citation [Fruchterman91] is not referenced. /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/checkouts/latest/docs/references.rst:49: WARNING: Citation [Hagberg08] is not referenced. /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/checkouts/latest/docs/references.rst:53: WARNING: Citation [Hastie09] is not referenced. /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/checkouts/latest/docs/references.rst:70: WARNING: Citation [Huber15] is not referenced. /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/checkouts/latest/docs/references.rst:86: WARNING: Citation [Krumsiek10] is not referenced. /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/checkouts/latest/docs/references.rst:130: WARNING: Citation [Murphy12] is not referenced. /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/checkouts/latest/docs/references.rst:139: WARNING: Citation [Park18] is not referenced. done preparing documents... done writing output... [ 0%] api/index writing output... [ 1%] api/plotting writing output... [ 2%] api/scanpy.api.AnnData writing output... [ 3%] api/scanpy.api.Neighbors writing output... [ 4%] api/scanpy.api.Neighbors.compute_eigen writing output... [ 5%] api/scanpy.api.Neighbors.compute_neighbors writing output... [ 6%] api/scanpy.api.Neighbors.compute_transitions writing output... [ 7%] api/scanpy.api.Neighbors.connectivities writing output... [ 8%] api/scanpy.api.Neighbors.distances writing output... [ 8%] api/scanpy.api.Neighbors.distances_dpt writing output... [ 9%] api/scanpy.api.Neighbors.eigen_basis writing output... [ 10%] api/scanpy.api.Neighbors.eigen_values writing output... [ 11%] api/scanpy.api.Neighbors.getdoc writing output... [ 12%] api/scanpy.api.Neighbors.laplacian writing output... [ 13%] api/scanpy.api.Neighbors.to_igraph writing output... [ 14%] api/scanpy.api.Neighbors.transitions writing output... [ 15%] api/scanpy.api.Neighbors.transitions_sym writing output... [ 16%] api/scanpy.api.datasets.blobs writing output... [ 16%] api/scanpy.api.datasets.krumsiek11 writing output... [ 17%] api/scanpy.api.datasets.moignard15 writing output... [ 18%] api/scanpy.api.datasets.paul15 writing output... [ 19%] api/scanpy.api.datasets.pbmc3k writing output... [ 20%] api/scanpy.api.datasets.pbmc68k_reduced writing output... [ 21%] api/scanpy.api.datasets.toggleswitch writing output... [ 22%] api/scanpy.api.export_to.spring_project writing output... [ 23%] api/scanpy.api.logging.print_versions writing output... [ 24%] api/scanpy.api.pl.clustermap writing output... [ 25%] api/scanpy.api.pl.diffmap writing output... [ 25%] api/scanpy.api.pl.dotplot writing output... [ 26%] api/scanpy.api.pl.dpt_groups_pseudotime writing output... [ 27%] api/scanpy.api.pl.dpt_timeseries writing output... [ 28%] api/scanpy.api.pl.draw_graph writing output... [ 29%] api/scanpy.api.pl.filter_genes_dispersion writing output... [ 30%] api/scanpy.api.pl.heatmap writing output... [ 31%] api/scanpy.api.pl.highest_expr_genes writing output... [ 32%] api/scanpy.api.pl.matrixplot writing output... [ 33%] api/scanpy.api.pl.paga writing output... [ 33%] api/scanpy.api.pl.paga_compare writing output... [ 34%] api/scanpy.api.pl.paga_path writing output... [ 35%] api/scanpy.api.pl.pca writing output... [ 36%] api/scanpy.api.pl.pca_loadings writing output... [ 37%] api/scanpy.api.pl.pca_overview writing output... [ 38%] api/scanpy.api.pl.pca_variance_ratio writing output... [ 39%] api/scanpy.api.pl.phate writing output... [ 40%] api/scanpy.api.pl.rank_genes_groups writing output... [ 41%] api/scanpy.api.pl.rank_genes_groups_dotplot writing output... [ 41%] api/scanpy.api.pl.rank_genes_groups_heatmap writing output... [ 42%] api/scanpy.api.pl.rank_genes_groups_matrixplot writing output... [ 43%] api/scanpy.api.pl.rank_genes_groups_stacked_violin writing output... [ 44%] api/scanpy.api.pl.rank_genes_groups_violin writing output... [ 45%] api/scanpy.api.pl.ranking writing output... [ 46%] api/scanpy.api.pl.scatter writing output... [ 47%] api/scanpy.api.pl.sim writing output... [ 48%] api/scanpy.api.pl.stacked_violin writing output... [ 49%] api/scanpy.api.pl.tsne writing output... [ 50%] api/scanpy.api.pl.umap writing output... [ 50%] api/scanpy.api.pl.violin writing output... [ 51%] api/scanpy.api.pp.bbknn writing output... [ 52%] api/scanpy.api.pp.calculate_qc_metrics writing output... [ 53%] api/scanpy.api.pp.dca writing output... [ 54%] api/scanpy.api.pp.downsample_counts writing output... [ 55%] api/scanpy.api.pp.filter_cells writing output... [ 56%] api/scanpy.api.pp.filter_genes writing output... [ 57%] api/scanpy.api.pp.filter_genes_dispersion writing output... [ 58%] api/scanpy.api.pp.highly_variable_genes writing output... [ 58%] api/scanpy.api.pp.log1p writing output... [ 59%] api/scanpy.api.pp.magic writing output... [ 60%] api/scanpy.api.pp.mnn_correct writing output... [ 61%] api/scanpy.api.pp.neighbors writing output... [ 62%] api/scanpy.api.pp.normalize_per_cell writing output... [ 63%] api/scanpy.api.pp.pca writing output... [ 64%] api/scanpy.api.pp.recipe_seurat writing output... [ 65%] api/scanpy.api.pp.recipe_weinreb17 writing output... [ 66%] api/scanpy.api.pp.recipe_zheng17 writing output... [ 66%] api/scanpy.api.pp.regress_out writing output... [ 67%] api/scanpy.api.pp.scale writing output... [ 68%] api/scanpy.api.pp.subsample writing output... [ 69%] api/scanpy.api.queries.mitochondrial_genes writing output... [ 70%] api/scanpy.api.read writing output... [ 71%] api/scanpy.api.read_10x_h5 writing output... [ 72%] api/scanpy.api.read_10x_mtx writing output... [ 73%] api/scanpy.api.read_csv writing output... [ 74%] api/scanpy.api.read_excel writing output... [ 75%] api/scanpy.api.read_h5ad writing output... [ 75%] api/scanpy.api.read_hdf writing output... [ 76%] api/scanpy.api.read_loom writing output... [ 77%] api/scanpy.api.read_mtx writing output... [ 78%] api/scanpy.api.read_text writing output... [ 79%] api/scanpy.api.read_umi_tools writing output... [ 80%] api/scanpy.api.set_figure_params writing output... [ 81%] api/scanpy.api.tl.cyclone writing output... [ 82%] api/scanpy.api.tl.diffmap writing output... [ 83%] api/scanpy.api.tl.dpt writing output... [ 83%] api/scanpy.api.tl.draw_graph writing output... [ 84%] api/scanpy.api.tl.leiden writing output... [ 85%] api/scanpy.api.tl.louvain writing output... [ 86%] api/scanpy.api.tl.paga writing output... [ 87%] api/scanpy.api.tl.pca writing output... [ 88%] api/scanpy.api.tl.phate writing output... [ 89%] api/scanpy.api.tl.rank_genes_groups writing output... [ 90%] api/scanpy.api.tl.sandbag writing output... [ 91%] api/scanpy.api.tl.score_genes writing output... [ 91%] api/scanpy.api.tl.score_genes_cell_cycle writing output... [ 92%] api/scanpy.api.tl.sim writing output... [ 93%] api/scanpy.api.tl.tsne writing output... [ 94%] api/scanpy.api.tl.umap writing output... [ 95%] basic_usage writing output... [ 96%] examples writing output... [ 97%] index writing output... [ 98%] installation writing output... [ 99%] references writing output... [100%] release_notes generating indices... genindex py-modindex writing additional pages... search copying images... [ 11%] api/scanpy.api.pl.dotplot.png copying images... [ 22%] api/scanpy.api.pl.heatmap.png copying images... [ 33%] api/scanpy.api.pl.matrixplot.png copying images... [ 44%] api/scanpy.api.pl.rank_genes_groups_dotplot.png copying images... [ 55%] api/scanpy.api.pl.rank_genes_groups_heatmap.png copying images... [ 66%] api/scanpy.api.pl.rank_genes_groups_matrixplot.png copying images... [ 77%] api/scanpy.api.pl.rank_genes_groups_stacked_violin.png copying images... [ 88%] api/scanpy.api.pl.stacked_violin.png copying images... [100%] api/scanpy.api.pl.violin.png copying static files... WARNING: html_static_path entry '/home/docs/checkouts/readthedocs.org/readthedocs/templates/sphinx/_static' does not exist done copying readthedocs static files... done copying searchtools... WARNING: Missing searchtools.js_t done copying extra files... done dumping search index in English (code: en) ... done dumping object inventory... done build succeeded, 10 warnings. The HTML pages are in _build/html. [rtd-command-info] start-time: 2018-11-20T20:02:13.157348Z, end-time: 2018-11-20T20:02:24.248815Z, duration: 11, exit-code: 0 python sphinx-build -T -b readthedocssinglehtmllocalmedia -d _build/doctrees-readthedocssinglehtmllocalmedia -D language=en . _build/localmedia Running Sphinx v1.8.2 /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/bin /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python36.zip /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6 /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/lib-dynload /home/docs/.pyenv/versions/3.6.2/lib/python3.6 /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages loading translations [en]... done making output directory... loading pickled environment... done loading intersphinx inventory from https://louvain-igraph.readthedocs.io/en/latest/objects.inv... building [mo]: targets for 0 po files that are out of date building [readthedocssinglehtmllocalmedia]: all documents updating environment: 112 added, 0 changed, 0 removed reading sources... [ 0%] api/index reading sources... [ 1%] api/plotting reading sources... [ 2%] api/scanpy.api.AnnData reading sources... [ 3%] api/scanpy.api.Neighbors reading sources... [ 4%] api/scanpy.api.Neighbors.compute_eigen reading sources... [ 5%] api/scanpy.api.Neighbors.compute_neighbors reading sources... [ 6%] api/scanpy.api.Neighbors.compute_transitions reading sources... [ 7%] api/scanpy.api.Neighbors.connectivities reading sources... [ 8%] api/scanpy.api.Neighbors.distances reading sources... [ 8%] api/scanpy.api.Neighbors.distances_dpt reading sources... [ 9%] api/scanpy.api.Neighbors.eigen_basis reading sources... [ 10%] api/scanpy.api.Neighbors.eigen_values reading sources... [ 11%] api/scanpy.api.Neighbors.getdoc reading sources... [ 12%] api/scanpy.api.Neighbors.laplacian reading sources... [ 13%] api/scanpy.api.Neighbors.to_igraph reading sources... [ 14%] api/scanpy.api.Neighbors.transitions reading sources... [ 15%] api/scanpy.api.Neighbors.transitions_sym reading sources... [ 16%] api/scanpy.api.datasets.blobs reading sources... [ 16%] api/scanpy.api.datasets.krumsiek11 reading sources... [ 17%] api/scanpy.api.datasets.moignard15 reading sources... [ 18%] api/scanpy.api.datasets.paul15 reading sources... [ 19%] api/scanpy.api.datasets.pbmc3k reading sources... [ 20%] api/scanpy.api.datasets.pbmc68k_reduced reading sources... [ 21%] api/scanpy.api.datasets.toggleswitch reading sources... [ 22%] api/scanpy.api.export_to.spring_project reading sources... [ 23%] api/scanpy.api.logging.print_versions reading sources... [ 24%] api/scanpy.api.pl.clustermap reading sources... [ 25%] api/scanpy.api.pl.diffmap reading sources... [ 25%] api/scanpy.api.pl.dotplot reading sources... [ 26%] api/scanpy.api.pl.dpt_groups_pseudotime reading sources... [ 27%] api/scanpy.api.pl.dpt_timeseries reading sources... [ 28%] api/scanpy.api.pl.draw_graph reading sources... [ 29%] api/scanpy.api.pl.filter_genes_dispersion reading sources... [ 30%] api/scanpy.api.pl.heatmap reading sources... [ 31%] api/scanpy.api.pl.highest_expr_genes reading sources... [ 32%] api/scanpy.api.pl.matrixplot reading sources... [ 33%] api/scanpy.api.pl.paga reading sources... [ 33%] api/scanpy.api.pl.paga_compare reading sources... [ 34%] api/scanpy.api.pl.paga_path reading sources... [ 35%] api/scanpy.api.pl.pca reading sources... [ 36%] api/scanpy.api.pl.pca_loadings reading sources... [ 37%] api/scanpy.api.pl.pca_overview reading sources... [ 38%] api/scanpy.api.pl.pca_variance_ratio reading sources... [ 39%] api/scanpy.api.pl.phate reading sources... [ 40%] api/scanpy.api.pl.rank_genes_groups reading sources... [ 41%] api/scanpy.api.pl.rank_genes_groups_dotplot reading sources... [ 41%] api/scanpy.api.pl.rank_genes_groups_heatmap reading sources... [ 42%] api/scanpy.api.pl.rank_genes_groups_matrixplot reading sources... [ 43%] api/scanpy.api.pl.rank_genes_groups_stacked_violin reading sources... [ 44%] api/scanpy.api.pl.rank_genes_groups_violin reading sources... [ 45%] api/scanpy.api.pl.ranking reading sources... [ 46%] api/scanpy.api.pl.scatter reading sources... [ 47%] api/scanpy.api.pl.sim reading sources... [ 48%] api/scanpy.api.pl.stacked_violin reading sources... [ 49%] api/scanpy.api.pl.tsne reading sources... [ 50%] api/scanpy.api.pl.umap reading sources... [ 50%] api/scanpy.api.pl.violin reading sources... [ 51%] api/scanpy.api.pp.bbknn reading sources... [ 52%] api/scanpy.api.pp.calculate_qc_metrics reading sources... [ 53%] api/scanpy.api.pp.dca reading sources... [ 54%] api/scanpy.api.pp.downsample_counts reading sources... [ 55%] api/scanpy.api.pp.filter_cells reading sources... [ 56%] api/scanpy.api.pp.filter_genes reading sources... [ 57%] api/scanpy.api.pp.filter_genes_dispersion reading sources... [ 58%] api/scanpy.api.pp.highly_variable_genes reading sources... [ 58%] api/scanpy.api.pp.log1p reading sources... [ 59%] api/scanpy.api.pp.magic reading sources... [ 60%] api/scanpy.api.pp.mnn_correct reading sources... [ 61%] api/scanpy.api.pp.neighbors reading sources... [ 62%] api/scanpy.api.pp.normalize_per_cell reading sources... [ 63%] api/scanpy.api.pp.pca reading sources... [ 64%] api/scanpy.api.pp.recipe_seurat reading sources... [ 65%] api/scanpy.api.pp.recipe_weinreb17 reading sources... [ 66%] api/scanpy.api.pp.recipe_zheng17 reading sources... [ 66%] api/scanpy.api.pp.regress_out reading sources... [ 67%] api/scanpy.api.pp.scale reading sources... [ 68%] api/scanpy.api.pp.subsample reading sources... [ 69%] api/scanpy.api.queries.mitochondrial_genes reading sources... [ 70%] api/scanpy.api.read reading sources... [ 71%] api/scanpy.api.read_10x_h5 reading sources... [ 72%] api/scanpy.api.read_10x_mtx reading sources... [ 73%] api/scanpy.api.read_csv reading sources... [ 74%] api/scanpy.api.read_excel reading sources... [ 75%] api/scanpy.api.read_h5ad reading sources... [ 75%] api/scanpy.api.read_hdf reading sources... [ 76%] api/scanpy.api.read_loom reading sources... [ 77%] api/scanpy.api.read_mtx reading sources... [ 78%] api/scanpy.api.read_text reading sources... [ 79%] api/scanpy.api.read_umi_tools reading sources... [ 80%] api/scanpy.api.set_figure_params reading sources... [ 81%] api/scanpy.api.tl.cyclone reading sources... [ 82%] api/scanpy.api.tl.diffmap reading sources... [ 83%] api/scanpy.api.tl.dpt reading sources... [ 83%] api/scanpy.api.tl.draw_graph reading sources... [ 84%] api/scanpy.api.tl.leiden reading sources... [ 85%] api/scanpy.api.tl.louvain reading sources... [ 86%] api/scanpy.api.tl.paga reading sources... [ 87%] api/scanpy.api.tl.pca reading sources... [ 88%] api/scanpy.api.tl.phate reading sources... [ 89%] api/scanpy.api.tl.rank_genes_groups reading sources... [ 90%] api/scanpy.api.tl.sandbag reading sources... [ 91%] api/scanpy.api.tl.score_genes reading sources... [ 91%] api/scanpy.api.tl.score_genes_cell_cycle reading sources... [ 92%] api/scanpy.api.tl.sim reading sources... [ 93%] api/scanpy.api.tl.tsne reading sources... [ 94%] api/scanpy.api.tl.umap reading sources... [ 95%] basic_usage reading sources... [ 96%] examples reading sources... [ 97%] index reading sources... [ 98%] installation reading sources... [ 99%] references reading sources... [100%] release_notes looking for now-outdated files... none found pickling environment... done checking consistency... /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/checkouts/latest/docs/references.rst:32: WARNING: Citation [Ester96] is not referenced. /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/checkouts/latest/docs/references.rst:45: WARNING: Citation [Fruchterman91] is not referenced. /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/checkouts/latest/docs/references.rst:49: WARNING: Citation [Hagberg08] is not referenced. /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/checkouts/latest/docs/references.rst:53: WARNING: Citation [Hastie09] is not referenced. /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/checkouts/latest/docs/references.rst:70: WARNING: Citation [Huber15] is not referenced. /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/checkouts/latest/docs/references.rst:86: WARNING: Citation [Krumsiek10] is not referenced. /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/checkouts/latest/docs/references.rst:130: WARNING: Citation [Murphy12] is not referenced. /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/checkouts/latest/docs/references.rst:139: WARNING: Citation [Park18] is not referenced. done preparing documents... done assembling single document... examples basic_usage installation api/index api/scanpy.api.pp.calculate_qc_metrics api/scanpy.api.pp.filter_cells api/scanpy.api.pp.filter_genes api/scanpy.api.pp.highly_variable_genes api/scanpy.api.pp.filter_genes_dispersion api/scanpy.api.pp.log1p api/scanpy.api.pp.pca api/scanpy.api.pp.normalize_per_cell api/scanpy.api.pp.regress_out api/scanpy.api.pp.scale api/scanpy.api.pp.subsample api/scanpy.api.pp.downsample_counts api/scanpy.api.pp.recipe_zheng17 api/scanpy.api.pp.recipe_weinreb17 api/scanpy.api.pp.recipe_seurat api/scanpy.api.pp.bbknn api/scanpy.api.pp.mnn_correct api/scanpy.api.pp.dca api/scanpy.api.pp.magic api/scanpy.api.pp.neighbors api/scanpy.api.tl.pca api/scanpy.api.tl.tsne api/scanpy.api.tl.umap api/scanpy.api.tl.draw_graph api/scanpy.api.tl.diffmap api/scanpy.api.tl.phate api/scanpy.api.tl.leiden api/scanpy.api.tl.louvain api/scanpy.api.tl.dpt api/scanpy.api.tl.paga api/scanpy.api.tl.rank_genes_groups api/scanpy.api.tl.score_genes api/scanpy.api.tl.score_genes_cell_cycle api/scanpy.api.tl.sandbag api/scanpy.api.tl.cyclone api/scanpy.api.tl.sim api/plotting api/scanpy.api.pl.scatter api/scanpy.api.pl.heatmap api/scanpy.api.pl.dotplot api/scanpy.api.pl.violin api/scanpy.api.pl.stacked_violin api/scanpy.api.pl.matrixplot api/scanpy.api.pl.clustermap api/scanpy.api.pl.ranking api/scanpy.api.pl.highest_expr_genes api/scanpy.api.pl.filter_genes_dispersion api/scanpy.api.pl.pca api/scanpy.api.pl.pca_loadings api/scanpy.api.pl.pca_variance_ratio api/scanpy.api.pl.pca_overview api/scanpy.api.pl.tsne api/scanpy.api.pl.umap api/scanpy.api.pl.diffmap api/scanpy.api.pl.draw_graph api/scanpy.api.pl.phate api/scanpy.api.pl.dpt_groups_pseudotime api/scanpy.api.pl.dpt_timeseries api/scanpy.api.pl.paga api/scanpy.api.pl.paga_path api/scanpy.api.pl.paga_compare api/scanpy.api.pl.rank_genes_groups api/scanpy.api.pl.rank_genes_groups_violin api/scanpy.api.pl.rank_genes_groups_stacked_violin api/scanpy.api.pl.rank_genes_groups_heatmap api/scanpy.api.pl.rank_genes_groups_dotplot api/scanpy.api.pl.rank_genes_groups_matrixplot api/scanpy.api.pl.sim api/scanpy.api.read api/scanpy.api.read_10x_h5 api/scanpy.api.read_10x_mtx api/scanpy.api.read_h5ad api/scanpy.api.read_csv api/scanpy.api.read_excel api/scanpy.api.read_hdf api/scanpy.api.read_loom api/scanpy.api.read_mtx api/scanpy.api.read_text api/scanpy.api.read_umi_tools api/scanpy.api.queries.mitochondrial_genes api/scanpy.api.Neighbors api/scanpy.api.Neighbors.connectivities api/scanpy.api.Neighbors.distances api/scanpy.api.Neighbors.distances_dpt api/scanpy.api.Neighbors.eigen_basis api/scanpy.api.Neighbors.eigen_values api/scanpy.api.Neighbors.getdoc api/scanpy.api.Neighbors.laplacian api/scanpy.api.Neighbors.transitions api/scanpy.api.Neighbors.transitions_sym api/scanpy.api.Neighbors.compute_eigen api/scanpy.api.Neighbors.compute_neighbors api/scanpy.api.Neighbors.compute_transitions api/scanpy.api.Neighbors.to_igraph api/scanpy.api.set_figure_params api/scanpy.api.logging.print_versions api/scanpy.api.datasets.blobs api/scanpy.api.datasets.krumsiek11 api/scanpy.api.datasets.moignard15 api/scanpy.api.datasets.pbmc3k api/scanpy.api.datasets.pbmc68k_reduced api/scanpy.api.datasets.paul15 api/scanpy.api.datasets.toggleswitch api/scanpy.api.export_to.spring_project references writing... done writing additional files... copying images... [ 11%] api/scanpy.api.pl.heatmap.png copying images... [ 22%] api/scanpy.api.pl.dotplot.png copying images... [ 33%] api/scanpy.api.pl.violin.png copying images... [ 44%] api/scanpy.api.pl.stacked_violin.png copying images... [ 55%] api/scanpy.api.pl.matrixplot.png copying images... [ 66%] api/scanpy.api.pl.rank_genes_groups_stacked_violin.png copying images... [ 77%] api/scanpy.api.pl.rank_genes_groups_heatmap.png copying images... [ 88%] api/scanpy.api.pl.rank_genes_groups_dotplot.png copying images... [100%] api/scanpy.api.pl.rank_genes_groups_matrixplot.png copying static files... /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages/readthedocs_ext/readthedocs.py:106: RemovedInSphinx20Warning: builder.css_files is deprecated. Please use app.add_stylesheet() instead. app.builder.css_files.insert(0, theme_css) WARNING: html_static_path entry '/home/docs/checkouts/readthedocs.org/readthedocs/templates/sphinx/_static' does not exist done copying readthedocs static files... done copying extra files... done dumping object inventory... done build succeeded, 9 warnings. The HTML page is in _build/localmedia.