Read the Docs build information Build id: 236282 Project: icb-scanpy Version: latest Commit: b08c4ac558de37c22a01ce7e00c9d73e26311e80 Date: 2019-08-27T09:44:18.579826Z State: finished Success: False [rtd-command-info] start-time: 2019-08-27T09:44:19.041499Z, end-time: 2019-08-27T09:44:21.115551Z, duration: 2, exit-code: 0 git clone --no-single-branch --depth 50 https://github.com/theislab/scanpy.git . Cloning into '.'... [rtd-command-info] start-time: 2019-08-27T09:44:21.415707Z, end-time: 2019-08-27T09:44:21.522349Z, duration: 0, exit-code: 0 git checkout --force origin/master Note: checking out 'origin/master'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by performing another checkout. If you want to create a new branch to retain commits you create, you may do so (now or later) by using -b with the checkout command again. Example: git checkout -b HEAD is now at b08c4ac Embedding improvements (#794) [rtd-command-info] start-time: 2019-08-27T09:44:21.611024Z, end-time: 2019-08-27T09:44:21.627340Z, duration: 0, exit-code: 0 git clean -d -f -f [rtd-command-info] start-time: 2019-08-27T09:44:22.876952Z, end-time: 2019-08-27T09:44:26.255348Z, duration: 3, exit-code: 0 python3.6 -mvirtualenv --no-site-packages --no-download Using base prefix '/home/docs/.pyenv/versions/3.6.4' New python executable in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/bin/python3.6 Also creating executable in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/bin/python Installing setuptools, pip, wheel... done. [rtd-command-info] start-time: 2019-08-27T09:44:26.337423Z, end-time: 2019-08-27T09:44:29.370719Z, duration: 3, exit-code: 0 python -m pip install --upgrade --cache-dir /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/.cache/pip pip Collecting pip Downloading https://files.pythonhosted.org/packages/30/db/9e38760b32e3e7f40cce46dd5fb107b8c73840df38f0046d8e6514e675a1/pip-19.2.3-py2.py3-none-any.whl (1.4MB) Installing collected packages: pip Found existing installation: pip 18.1 Uninstalling pip-18.1: Successfully uninstalled pip-18.1 Successfully installed pip-19.2.3 [rtd-command-info] start-time: 2019-08-27T09:44:29.450527Z, end-time: 2019-08-27T09:44:42.632556Z, duration: 13, exit-code: 0 python -m pip install --upgrade --cache-dir /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/.cache/pip Pygments==2.3.1 setuptools==41.0.1 docutils==0.14 mock==1.0.1 pillow==5.4.1 alabaster>=0.7,<0.8,!=0.7.5 commonmark==0.8.1 recommonmark==0.5.0 sphinx<2 sphinx-rtd-theme<0.5 readthedocs-sphinx-ext<1.1 Collecting Pygments==2.3.1 Downloading https://files.pythonhosted.org/packages/13/e5/6d710c9cf96c31ac82657bcfb441df328b22df8564d58d0c4cd62612674c/Pygments-2.3.1-py2.py3-none-any.whl (849kB) Collecting setuptools==41.0.1 Downloading https://files.pythonhosted.org/packages/ec/51/f45cea425fd5cb0b0380f5b0f048ebc1da5b417e48d304838c02d6288a1e/setuptools-41.0.1-py2.py3-none-any.whl (575kB) Collecting docutils==0.14 Downloading https://files.pythonhosted.org/packages/36/fa/08e9e6e0e3cbd1d362c3bbee8d01d0aedb2155c4ac112b19ef3cae8eed8d/docutils-0.14-py3-none-any.whl (543kB) Collecting mock==1.0.1 Downloading https://files.pythonhosted.org/packages/a2/52/7edcd94f0afb721a2d559a5b9aae8af4f8f2c79bc63fdbe8a8a6c9b23bbe/mock-1.0.1.tar.gz (818kB) Collecting pillow==5.4.1 Downloading https://files.pythonhosted.org/packages/85/5e/e91792f198bbc5a0d7d3055ad552bc4062942d27eaf75c3e2783cf64eae5/Pillow-5.4.1-cp36-cp36m-manylinux1_x86_64.whl (2.0MB) Collecting alabaster!=0.7.5,<0.8,>=0.7 Downloading https://files.pythonhosted.org/packages/10/ad/00b090d23a222943eb0eda509720a404f531a439e803f6538f35136cae9e/alabaster-0.7.12-py2.py3-none-any.whl Collecting commonmark==0.8.1 Downloading https://files.pythonhosted.org/packages/ab/ca/439c88039583a29564a0043186875258e9a4f041fb5c422cd387b8e10175/commonmark-0.8.1-py2.py3-none-any.whl (47kB) Collecting recommonmark==0.5.0 Downloading https://files.pythonhosted.org/packages/9b/3d/92ea48401622510e57b4bdaa74dc9db2fb9e9e892324b48f9c02d716a93a/recommonmark-0.5.0-py2.py3-none-any.whl Collecting sphinx<2 Downloading https://files.pythonhosted.org/packages/7d/66/a4af242b4348b729b9d46ce5db23943ce9bca7da9bbe2ece60dc27f26420/Sphinx-1.8.5-py2.py3-none-any.whl (3.1MB) Collecting sphinx-rtd-theme<0.5 Downloading https://files.pythonhosted.org/packages/60/b4/4df37087a1d36755e3a3bfd2a30263f358d2dea21938240fa02313d45f51/sphinx_rtd_theme-0.4.3-py2.py3-none-any.whl (6.4MB) Collecting readthedocs-sphinx-ext<1.1 Downloading https://files.pythonhosted.org/packages/51/43/a5a98d9aec325b2824bdf504fa446ae876d0909d03e28667018f9eb01bcd/readthedocs_sphinx_ext-1.0.0-py2.py3-none-any.whl Collecting future (from commonmark==0.8.1) Downloading https://files.pythonhosted.org/packages/90/52/e20466b85000a181e1e144fd8305caf2cf475e2f9674e797b222f8105f5f/future-0.17.1.tar.gz (829kB) Collecting sphinxcontrib-websupport (from sphinx<2) Downloading https://files.pythonhosted.org/packages/2a/59/d64bda9b7480a84a3569be4dde267c0f6675b255ba63b4c8e84469940457/sphinxcontrib_websupport-1.1.2-py2.py3-none-any.whl Collecting imagesize (from sphinx<2) Downloading https://files.pythonhosted.org/packages/fc/b6/aef66b4c52a6ad6ac18cf6ebc5731ed06d8c9ae4d3b2d9951f261150be67/imagesize-1.1.0-py2.py3-none-any.whl Collecting snowballstemmer>=1.1 (from sphinx<2) Downloading https://files.pythonhosted.org/packages/a0/5e/d9ead2d57d39b3e1c1868ce84212319e5543a19c4185dce7e42a9dd968b0/snowballstemmer-1.9.0.tar.gz (76kB) Collecting Jinja2>=2.3 (from sphinx<2) Downloading https://files.pythonhosted.org/packages/1d/e7/fd8b501e7a6dfe492a433deb7b9d833d39ca74916fa8bc63dd1a4947a671/Jinja2-2.10.1-py2.py3-none-any.whl (124kB) Collecting requests>=2.0.0 (from sphinx<2) Downloading https://files.pythonhosted.org/packages/51/bd/23c926cd341ea6b7dd0b2a00aba99ae0f828be89d72b2190f27c11d4b7fb/requests-2.22.0-py2.py3-none-any.whl (57kB) Collecting packaging (from sphinx<2) Downloading https://files.pythonhosted.org/packages/ec/22/630ac83e8f8a9566c4f88038447ed9e16e6f10582767a01f31c769d9a71e/packaging-19.1-py2.py3-none-any.whl Collecting babel!=2.0,>=1.3 (from sphinx<2) Downloading https://files.pythonhosted.org/packages/2c/60/f2af68eb046c5de5b1fe6dd4743bf42c074f7141fe7b2737d3061533b093/Babel-2.7.0-py2.py3-none-any.whl (8.4MB) Collecting six>=1.5 (from sphinx<2) Downloading https://files.pythonhosted.org/packages/73/fb/00a976f728d0d1fecfe898238ce23f502a721c0ac0ecfedb80e0d88c64e9/six-1.12.0-py2.py3-none-any.whl Collecting MarkupSafe>=0.23 (from Jinja2>=2.3->sphinx<2) Downloading https://files.pythonhosted.org/packages/b2/5f/23e0023be6bb885d00ffbefad2942bc51a620328ee910f64abe5a8d18dd1/MarkupSafe-1.1.1-cp36-cp36m-manylinux1_x86_64.whl Collecting urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 (from requests>=2.0.0->sphinx<2) Downloading https://files.pythonhosted.org/packages/e6/60/247f23a7121ae632d62811ba7f273d0e58972d75e58a94d329d51550a47d/urllib3-1.25.3-py2.py3-none-any.whl (150kB) Collecting chardet<3.1.0,>=3.0.2 (from requests>=2.0.0->sphinx<2) Downloading https://files.pythonhosted.org/packages/bc/a9/01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8/chardet-3.0.4-py2.py3-none-any.whl (133kB) Collecting certifi>=2017.4.17 (from requests>=2.0.0->sphinx<2) Downloading https://files.pythonhosted.org/packages/69/1b/b853c7a9d4f6a6d00749e94eb6f3a041e342a885b87340b79c1ef73e3a78/certifi-2019.6.16-py2.py3-none-any.whl (157kB) Collecting idna<2.9,>=2.5 (from requests>=2.0.0->sphinx<2) Downloading https://files.pythonhosted.org/packages/14/2c/cd551d81dbe15200be1cf41cd03869a46fe7226e7450af7a6545bfc474c9/idna-2.8-py2.py3-none-any.whl (58kB) Collecting pyparsing>=2.0.2 (from packaging->sphinx<2) Downloading https://files.pythonhosted.org/packages/11/fa/0160cd525c62d7abd076a070ff02b2b94de589f1a9789774f17d7c54058e/pyparsing-2.4.2-py2.py3-none-any.whl (65kB) Collecting attrs (from packaging->sphinx<2) Downloading https://files.pythonhosted.org/packages/23/96/d828354fa2dbdf216eaa7b7de0db692f12c234f7ef888cc14980ef40d1d2/attrs-19.1.0-py2.py3-none-any.whl Collecting pytz>=2015.7 (from babel!=2.0,>=1.3->sphinx<2) Downloading https://files.pythonhosted.org/packages/87/76/46d697698a143e05f77bec5a526bf4e56a0be61d63425b68f4ba553b51f2/pytz-2019.2-py2.py3-none-any.whl (508kB) Building wheels for collected packages: mock, future, snowballstemmer Building wheel for mock (setup.py): started Building wheel for mock (setup.py): finished with status 'done' Created wheel for mock: filename=mock-1.0.1-cp36-none-any.whl size=23755 sha256=c9205eaacb18188c23974c4eebeecc118decb2138af4798d9e6a3bd47b8a080d Stored in directory: /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/.cache/pip/wheels/7e/72/92/744b532c779242b57aab4bcba80c312b30c069bbd60025e7e6 Building wheel for future (setup.py): started Building wheel for future (setup.py): finished with status 'done' Created wheel for future: filename=future-0.17.1-cp36-none-any.whl size=488731 sha256=d92d02341d135a83ba04ba51c7169f2d94e7c31f6cc72b930b034c3369487ad8 Stored in directory: /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/.cache/pip/wheels/0c/61/d2/d6b7317325828fbb39ee6ad559dbe4664d0896da4721bf379e Building wheel for snowballstemmer (setup.py): started Building wheel for snowballstemmer (setup.py): finished with status 'done' Created wheel for snowballstemmer: filename=snowballstemmer-1.9.0-cp36-none-any.whl size=93833 sha256=751cc2661a91a8aeb127f2525a4b04d9e9f05f4e0ce135f069d23831ac469597 Stored in directory: /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/.cache/pip/wheels/93/db/97/496f1d6bbcad1fecbc58fe45363540414be519312eded82bab Successfully built mock future snowballstemmer Installing collected packages: Pygments, setuptools, docutils, mock, pillow, alabaster, future, commonmark, sphinxcontrib-websupport, imagesize, snowballstemmer, MarkupSafe, Jinja2, urllib3, chardet, certifi, idna, requests, pyparsing, attrs, six, packaging, pytz, babel, sphinx, recommonmark, sphinx-rtd-theme, readthedocs-sphinx-ext Found existing installation: setuptools 40.6.3 Uninstalling setuptools-40.6.3: Successfully uninstalled setuptools-40.6.3 Successfully installed Jinja2-2.10.1 MarkupSafe-1.1.1 Pygments-2.3.1 alabaster-0.7.12 attrs-19.1.0 babel-2.7.0 certifi-2019.6.16 chardet-3.0.4 commonmark-0.8.1 docutils-0.14 future-0.17.1 idna-2.8 imagesize-1.1.0 mock-1.0.1 packaging-19.1 pillow-5.4.1 pyparsing-2.4.2 pytz-2019.2 readthedocs-sphinx-ext-1.0.0 recommonmark-0.5.0 requests-2.22.0 setuptools-41.0.1 six-1.12.0 snowballstemmer-1.9.0 sphinx-1.8.5 sphinx-rtd-theme-0.4.3 sphinxcontrib-websupport-1.1.2 urllib3-1.25.3 [rtd-command-info] start-time: 2019-08-27T09:44:42.724725Z, end-time: 2019-08-27T09:45:16.889595Z, duration: 34, exit-code: 0 python -m pip install --exists-action=w --cache-dir /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/.cache/pip -r docs/requirements.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/requirements.txt (line 2)) (0.4.3) Collecting sphinx>=2.0.1 (from -r docs/requirements.txt (line 5)) Downloading https://files.pythonhosted.org/packages/8e/4c/95a21788db2e1653e931420f561015a0bbc9bd4660c4520467ab9e733eb2/Sphinx-2.2.0-py3-none-any.whl (3.3MB) Collecting sphinx-autodoc-typehints (from -r docs/requirements.txt (line 6)) Downloading https://files.pythonhosted.org/packages/ef/bb/b752dafd70eee82863773e3deaead5676a414fc513ebd898c19c8e3f8ade/sphinx_autodoc_typehints-1.7.0-py3-none-any.whl Collecting scanpydoc>=0.3.8 (from -r docs/requirements.txt (line 7)) Downloading https://files.pythonhosted.org/packages/bd/c2/6f5fdf1e57a4bfcafac9b3571156e098d83867023fc0eff374eecdda4f32/scanpydoc-0.3.8-py3-none-any.whl (54kB) Collecting anndata>=0.6.18 (from -r docs/requirements.txt (line 9)) Downloading https://files.pythonhosted.org/packages/2b/72/87196c15f68d9865c31a43a10cf7c50bcbcedd5607d09f9aada0b3963103/anndata-0.6.22.post1-py3-none-any.whl (47kB) Collecting matplotlib>=2.2 (from -r docs/requirements.txt (line 10)) Downloading https://files.pythonhosted.org/packages/57/4f/dd381ecf6c6ab9bcdaa8ea912e866dedc6e696756156d8ecc087e20817e2/matplotlib-3.1.1-cp36-cp36m-manylinux1_x86_64.whl (13.1MB) Collecting pandas>=0.21 (from -r docs/requirements.txt (line 11)) Downloading https://files.pythonhosted.org/packages/73/9b/52e228545d14f14bb2a1622e225f38463c8726645165e1cb7dde95bfe6d4/pandas-0.25.1-cp36-cp36m-manylinux1_x86_64.whl (10.5MB) Collecting scipy (from -r docs/requirements.txt (line 12)) Downloading https://files.pythonhosted.org/packages/29/50/a552a5aff252ae915f522e44642bb49a7b7b31677f9580cfd11bcc869976/scipy-1.3.1-cp36-cp36m-manylinux1_x86_64.whl (25.2MB) Collecting seaborn (from -r docs/requirements.txt (line 13)) Downloading https://files.pythonhosted.org/packages/a8/76/220ba4420459d9c4c9c9587c6ce607bf56c25b3d3d2de62056efe482dadc/seaborn-0.9.0-py3-none-any.whl (208kB) Collecting h5py (from -r docs/requirements.txt (line 14)) Downloading https://files.pythonhosted.org/packages/30/99/d7d4fbf2d02bb30fb76179911a250074b55b852d34e98dd452a9f394ac06/h5py-2.9.0-cp36-cp36m-manylinux1_x86_64.whl (2.8MB) Collecting tables (from -r docs/requirements.txt (line 15)) Downloading https://files.pythonhosted.org/packages/87/f7/bb0ec32a3f3dd74143a3108fbf737e6dcfd47f0ffd61b52af7106ab7a38a/tables-3.5.2-cp36-cp36m-manylinux1_x86_64.whl (4.3MB) Collecting scikit-learn>=0.19.1 (from -r docs/requirements.txt (line 16)) Downloading https://files.pythonhosted.org/packages/a0/c5/d2238762d780dde84a20b8c761f563fe882b88c5a5fb03c056547c442a19/scikit_learn-0.21.3-cp36-cp36m-manylinux1_x86_64.whl (6.7MB) Collecting networkx (from -r docs/requirements.txt (line 18)) Downloading https://files.pythonhosted.org/packages/85/08/f20aef11d4c343b557e5de6b9548761811eb16e438cee3d32b1c66c8566b/networkx-2.3.zip (1.7MB) Collecting natsort (from -r docs/requirements.txt (line 19)) Downloading https://files.pythonhosted.org/packages/e7/13/a66bfa0ebf00e17778ca0319d081be686a33384d1f612fc8e0fc542ac5d8/natsort-6.0.0-py2.py3-none-any.whl Collecting joblib (from -r docs/requirements.txt (line 20)) Downloading https://files.pythonhosted.org/packages/cd/c1/50a758e8247561e58cb87305b1e90b171b8c767b15b12a1734001f41d356/joblib-0.13.2-py2.py3-none-any.whl (278kB) Collecting numba (from -r docs/requirements.txt (line 21)) Downloading https://files.pythonhosted.org/packages/1d/18/75c4c9e75187d80813e0bf5231346e70f40e8f80de6a4554fc8a69e2ffc9/numba-0.45.1-cp36-cp36m-manylinux1_x86_64.whl (3.5MB) Collecting tqdm (from -r docs/requirements.txt (line 22)) Downloading https://files.pythonhosted.org/packages/dc/88/d3213e2f3492daf09d8b41631ad6899f56db17ce83ea9c8a579902bafe5e/tqdm-4.35.0-py2.py3-none-any.whl (50kB) Collecting importlib_metadata (from -r docs/requirements.txt (line 23)) Downloading https://files.pythonhosted.org/packages/ad/aa/25fcbded2ab4ed4ff3071d1e000cd4f8f9c65653d2d7157dd105a8e81d42/importlib_metadata-0.19-py2.py3-none-any.whl Collecting umap-learn (from -r docs/requirements.txt (line 24)) Downloading https://files.pythonhosted.org/packages/ad/92/36bac74962b424870026cb0b42cec3d5b6f4afa37d81818475d8762f9255/umap-learn-0.3.10.tar.gz (40kB) Requirement already satisfied: setuptools in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from sphinx>=2.0.1->-r docs/requirements.txt (line 5)) (41.0.1) Collecting sphinxcontrib-qthelp (from sphinx>=2.0.1->-r docs/requirements.txt (line 5)) Downloading https://files.pythonhosted.org/packages/ce/5b/4747c3ba98b3a3e21a66faa183d8f79b9ded70e74212a7988d236a6eb78a/sphinxcontrib_qthelp-1.0.2-py2.py3-none-any.whl (90kB) 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>=2.0.1->-r docs/requirements.txt (line 5)) (2.7.0) Collecting sphinxcontrib-devhelp (from sphinx>=2.0.1->-r docs/requirements.txt (line 5)) Downloading https://files.pythonhosted.org/packages/b0/a3/fea98741f0b2f2902fbf6c35c8e91b22cd0dd13387291e81d457f9a93066/sphinxcontrib_devhelp-1.0.1-py2.py3-none-any.whl (84kB) 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>=2.0.1->-r docs/requirements.txt (line 5)) (2.10.1) Collecting sphinxcontrib-applehelp (from sphinx>=2.0.1->-r docs/requirements.txt (line 5)) Downloading https://files.pythonhosted.org/packages/13/9a/4428b3114d654cb1cd34d90d5e6fab938d5436f94a571155187ea1dd78b4/sphinxcontrib_applehelp-1.0.1-py2.py3-none-any.whl (121kB) Requirement already satisfied: docutils>=0.12 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from sphinx>=2.0.1->-r docs/requirements.txt (line 5)) (0.14) Collecting sphinxcontrib-htmlhelp (from sphinx>=2.0.1->-r docs/requirements.txt (line 5)) Downloading https://files.pythonhosted.org/packages/e4/35/80a67cc493f4a8a9634ab203a77aaa1b84d79ccb1c02eca72cb084d2c7f7/sphinxcontrib_htmlhelp-1.0.2-py2.py3-none-any.whl (96kB) Requirement already satisfied: requests>=2.5.0 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from sphinx>=2.0.1->-r docs/requirements.txt (line 5)) (2.22.0) Requirement already satisfied: imagesize in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from sphinx>=2.0.1->-r docs/requirements.txt (line 5)) (1.1.0) Requirement already satisfied: packaging in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from sphinx>=2.0.1->-r docs/requirements.txt (line 5)) (19.1) Collecting sphinxcontrib-jsmath (from sphinx>=2.0.1->-r docs/requirements.txt (line 5)) Downloading https://files.pythonhosted.org/packages/c2/42/4c8646762ee83602e3fb3fbe774c2fac12f317deb0b5dbeeedd2d3ba4b77/sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl 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>=2.0.1->-r docs/requirements.txt (line 5)) (1.9.0) Collecting sphinxcontrib-serializinghtml (from sphinx>=2.0.1->-r docs/requirements.txt (line 5)) Downloading https://files.pythonhosted.org/packages/57/b3/3648e48fa5682e61e9839d62de4e23af1795ceb738d68d73bd974257a95c/sphinxcontrib_serializinghtml-1.1.3-py2.py3-none-any.whl (89kB) 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>=2.0.1->-r docs/requirements.txt (line 5)) (0.7.12) 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>=2.0.1->-r docs/requirements.txt (line 5)) (2.3.1) Collecting get_version (from scanpydoc>=0.3.8->-r docs/requirements.txt (line 7)) Downloading https://files.pythonhosted.org/packages/2d/27/610ef458455cb1bcc4b454cebab43de3579e43d080af872727b9ac3146c8/get_version-2.0.6-py3-none-any.whl (43kB) Collecting numpy~=1.14 (from anndata>=0.6.18->-r docs/requirements.txt (line 9)) Downloading https://files.pythonhosted.org/packages/75/92/57179ed45307ec6179e344231c47da7f3f3da9e2eee5c8ab506bd279ce4e/numpy-1.17.1-cp36-cp36m-manylinux1_x86_64.whl (20.4MB) Collecting cycler>=0.10 (from matplotlib>=2.2->-r docs/requirements.txt (line 10)) Downloading https://files.pythonhosted.org/packages/f7/d2/e07d3ebb2bd7af696440ce7e754c59dd546ffe1bbe732c8ab68b9c834e61/cycler-0.10.0-py2.py3-none-any.whl Collecting kiwisolver>=1.0.1 (from matplotlib>=2.2->-r docs/requirements.txt (line 10)) Downloading https://files.pythonhosted.org/packages/f8/a1/5742b56282449b1c0968197f63eae486eca2c35dcd334bab75ad524e0de1/kiwisolver-1.1.0-cp36-cp36m-manylinux1_x86_64.whl (90kB) 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/requirements.txt (line 10)) (2.4.2) Collecting python-dateutil>=2.1 (from matplotlib>=2.2->-r docs/requirements.txt (line 10)) Downloading https://files.pythonhosted.org/packages/41/17/c62faccbfbd163c7f57f3844689e3a78bae1f403648a6afb1d0866d87fbb/python_dateutil-2.8.0-py2.py3-none-any.whl (226kB) Requirement already satisfied: pytz>=2017.2 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from pandas>=0.21->-r docs/requirements.txt (line 11)) (2019.2) Requirement already satisfied: six in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from h5py->-r docs/requirements.txt (line 14)) (1.12.0) Collecting mock>=2.0 (from tables->-r docs/requirements.txt (line 15)) Downloading https://files.pythonhosted.org/packages/05/d2/f94e68be6b17f46d2c353564da56e6fb89ef09faeeff3313a046cb810ca9/mock-3.0.5-py2.py3-none-any.whl Collecting numexpr>=2.6.2 (from tables->-r docs/requirements.txt (line 15)) Downloading https://files.pythonhosted.org/packages/06/5e/ee657b36ce1b6baabaafe485e97a31e7200f918c4b8643ebc4fd4fd07ada/numexpr-2.7.0-cp36-cp36m-manylinux1_x86_64.whl (162kB) Collecting decorator>=4.3.0 (from networkx->-r docs/requirements.txt (line 18)) Downloading https://files.pythonhosted.org/packages/5f/88/0075e461560a1e750a0dcbf77f1d9de775028c37a19a346a6c565a257399/decorator-4.4.0-py2.py3-none-any.whl Collecting llvmlite>=0.29.0dev0 (from numba->-r docs/requirements.txt (line 21)) Downloading https://files.pythonhosted.org/packages/1f/bf/c9fc3b6d7d46968186ac37a2453639979edd8fa7199bb9f4b820a813e8c8/llvmlite-0.29.0-1-cp36-cp36m-manylinux1_x86_64.whl (20.2MB) Collecting zipp>=0.5 (from importlib_metadata->-r docs/requirements.txt (line 23)) Downloading https://files.pythonhosted.org/packages/74/3d/1ee25a26411ba0401b43c6376d2316a71addcc72ef8690b101b4ea56d76a/zipp-0.6.0-py2.py3-none-any.whl 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>=2.0.1->-r docs/requirements.txt (line 5)) (1.1.1) 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.5.0->sphinx>=2.0.1->-r docs/requirements.txt (line 5)) (3.0.4) Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from requests>=2.5.0->sphinx>=2.0.1->-r docs/requirements.txt (line 5)) (1.25.3) 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.5.0->sphinx>=2.0.1->-r docs/requirements.txt (line 5)) (2019.6.16) Requirement already satisfied: idna<2.9,>=2.5 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from requests>=2.5.0->sphinx>=2.0.1->-r docs/requirements.txt (line 5)) (2.8) Requirement already satisfied: attrs in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from packaging->sphinx>=2.0.1->-r docs/requirements.txt (line 5)) (19.1.0) Collecting future-fstrings (from get_version->scanpydoc>=0.3.8->-r docs/requirements.txt (line 7)) Downloading https://files.pythonhosted.org/packages/ab/6d/ea1d52e9038558dd37f5d30647eb9f07888c164960a5d4daa5f970c6da25/future_fstrings-1.2.0-py2.py3-none-any.whl Collecting more-itertools (from zipp>=0.5->importlib_metadata->-r docs/requirements.txt (line 23)) Downloading https://files.pythonhosted.org/packages/45/dc/3241eef99eb45f1def35cf93af35d1cf9ef4c0991792583b8f33ea41b092/more_itertools-7.2.0-py3-none-any.whl (57kB) Building wheels for collected packages: networkx, umap-learn Building wheel for networkx (setup.py): started Building wheel for networkx (setup.py): finished with status 'done' Created wheel for networkx: filename=networkx-2.3-py2.py3-none-any.whl size=1556409 sha256=701e97be44a21b72671bacc61a1e6f48784a3d194a678b8e20d3e02e8d32d093 Stored in directory: /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/.cache/pip/wheels/de/63/64/3699be2a9d0ccdb37c7f16329acf3863fd76eda58c39c737af Building wheel for umap-learn (setup.py): started Building wheel for umap-learn (setup.py): finished with status 'done' Created wheel for umap-learn: filename=umap_learn-0.3.10-cp36-none-any.whl size=38883 sha256=8713326c684822a4c64c359b7662bca2d79ca2cde3b79981f6883f0030ba5f60 Stored in directory: /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/.cache/pip/wheels/d0/f8/d5/8e3af3ee957feb9b403a060ebe72f7561887fef9dea658326e Successfully built networkx umap-learn Installing collected packages: sphinxcontrib-qthelp, sphinxcontrib-devhelp, sphinxcontrib-applehelp, sphinxcontrib-htmlhelp, sphinxcontrib-jsmath, sphinxcontrib-serializinghtml, sphinx, sphinx-autodoc-typehints, future-fstrings, get-version, scanpydoc, natsort, numpy, python-dateutil, pandas, h5py, scipy, anndata, cycler, kiwisolver, matplotlib, seaborn, mock, numexpr, tables, joblib, scikit-learn, decorator, networkx, llvmlite, numba, tqdm, more-itertools, zipp, importlib-metadata, umap-learn Found existing installation: Sphinx 1.8.5 Uninstalling Sphinx-1.8.5: Successfully uninstalled Sphinx-1.8.5 Found existing installation: mock 1.0.1 Uninstalling mock-1.0.1: Successfully uninstalled mock-1.0.1 Successfully installed anndata-0.6.22.post1 cycler-0.10.0 decorator-4.4.0 future-fstrings-1.2.0 get-version-2.0.6 h5py-2.9.0 importlib-metadata-0.19 joblib-0.13.2 kiwisolver-1.1.0 llvmlite-0.29.0 matplotlib-3.1.1 mock-3.0.5 more-itertools-7.2.0 natsort-6.0.0 networkx-2.3 numba-0.45.1 numexpr-2.7.0 numpy-1.17.1 pandas-0.25.1 python-dateutil-2.8.0 scanpydoc-0.3.8 scikit-learn-0.21.3 scipy-1.3.1 seaborn-0.9.0 sphinx-2.2.0 sphinx-autodoc-typehints-1.7.0 sphinxcontrib-applehelp-1.0.1 sphinxcontrib-devhelp-1.0.1 sphinxcontrib-htmlhelp-1.0.2 sphinxcontrib-jsmath-1.0.1 sphinxcontrib-qthelp-1.0.2 sphinxcontrib-serializinghtml-1.1.3 tables-3.5.2 tqdm-4.35.0 umap-learn-0.3.10 zipp-0.6.0 [rtd-command-info] start-time: 2019-08-27T09:45:17.627251Z, end-time: 2019-08-27T09:45:17.981253Z, duration: 0, exit-code: 0 cat docs/conf.py import sys import warnings from pathlib import Path from datetime import datetime 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 # noqa with warnings.catch_warnings(): warnings.filterwarnings('ignore', category=FutureWarning) import scanpy.api # -- General configuration ------------------------------------------------ nitpicky = True # Warn about broken links needs_sphinx = '1.7' # autosummary bugfix suppress_warnings = ['ref.citation'] # General information project = 'Scanpy' author = scanpy.__author__ copyright = f'{datetime.now():%Y}, {author}.' version = scanpy.__version__.replace('.dirty', '') release = version # default settings templates_path = ['_templates'] source_suffix = '.rst' master_doc = 'index' default_role = 'literal' exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] pygments_style = 'sphinx' extensions = [ 'sphinx.ext.autodoc', 'sphinx.ext.intersphinx', 'sphinx.ext.doctest', 'sphinx.ext.coverage', 'sphinx.ext.mathjax', 'sphinx.ext.napoleon', 'sphinx.ext.autosummary', # 'plot_generator', # 'plot_directive', 'sphinx_autodoc_typehints', # needs to be after napoleon # 'ipython_directive', # 'ipython_console_highlighting', 'scanpydoc', ] # Generate the API documentation when building autosummary_generate = True 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 = True # having a separate entry generally helps readability napoleon_use_param = True napoleon_custom_sections = [('Params', 'Parameters')] todo_include_todos = False intersphinx_mapping = dict( anndata=('https://anndata.readthedocs.io/en/latest/', None), bbknn=('https://bbknn.readthedocs.io/en/latest/', None), cycler=('https://matplotlib.org/cycler/', None), ipython=('https://ipython.readthedocs.io/en/stable/', None), leidenalg=('https://leidenalg.readthedocs.io/en/latest/', None), louvain=('https://louvain-igraph.readthedocs.io/en/latest/', None), matplotlib=('https://matplotlib.org/', None), networkx=('https://networkx.github.io/documentation/networkx-1.10/', None), numpy=('https://docs.scipy.org/doc/numpy/', None), pandas=('https://pandas.pydata.org/pandas-docs/stable/', None), python=('https://docs.python.org/3', None), scipy=('https://docs.scipy.org/doc/scipy/reference/', None), scvelo=('https://scvelo.readthedocs.io/en/stable/', None), seaborn=('https://seaborn.pydata.org/', None), sklearn=('https://scikit-learn.org/stable/', None), scanpy_tutorials=('https://scanpy-tutorials.readthedocs.io/en/latest', None), ) # -- Options for HTML output ---------------------------------------------- html_theme = 'sphinx_rtd_theme' html_theme_options = dict( navigation_depth=4, logo_only=True, # Only show the logo ) 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'] html_show_sphinx = False html_logo = '_static/img/Scanpy_Logo_RGB.png' gh_url = 'https://github.com/{github_user}/{github_repo}'.format_map(html_context) def setup(app): app.warningiserror = True app.add_stylesheet('css/custom.css') app.connect('autodoc-process-docstring', insert_function_images) app.connect('build-finished', show_param_warnings) app.add_role('pr', autolink(f'{gh_url}/pull/{{}}', 'PR {}')) # -- Options for other output formats ------------------------------------------ htmlhelp_basename = f'{project}doc' doc_title = f'{project} Documentation' latex_documents = [ (master_doc, f'{project}.tex', doc_title, author, 'manual'), ] man_pages = [ (master_doc, project, doc_title, [author], 1) ] texinfo_documents = [ (master_doc, project, doc_title, author, project, 'One line description of project.', 'Miscellaneous'), ] # -- Images for plot functions ------------------------------------------------- def insert_function_images(app, what, name, obj, options, lines): path = Path(__file__).parent / 'api' / f'{name}.png' if what != 'function' or not path.is_file(): return lines[0:0] = [f'.. image:: {path.name}', ' :width: 200', ' :align: right', ''] # -- GitHub links -------------------------------------------------------------- def autolink(url_template, title_template='{}'): from docutils import nodes def role(name, rawtext, text, lineno, inliner, options={}, content=[]): url = url_template.format(text) title = title_template.format(text) node = nodes.reference(rawtext, title, refuri=url, **options) return [node], [] return role # -- Test for new scanpydoc functionality -------------------------------------- import re from sphinx.ext.napoleon import NumpyDocstring def process_return(lines): for line in lines: m = re.fullmatch(r'(?P\w+)\s+:\s+(?P[\w.]+)', line) if m: # Once this is in scanpydoc, we can use the fancy hover stuff yield f'**{m["param"]}** : :class:`~{m["type"]}`' else: yield line def scanpy_parse_returns_section(self, section): lines_raw = list(process_return(self._dedent(self._consume_to_next_section()))) lines = self._format_block(':returns: ', lines_raw) if lines and lines[-1]: lines.append('') return lines NumpyDocstring._parse_returns_section = scanpy_parse_returns_section # -- Warn for non-annotated params --------------------------------------------- _format_docutils_params_orig = NumpyDocstring._format_docutils_params param_warnings = {} def scanpy_log_param_types(self, fields, field_role='param', type_role='type'): for _name, _type, _desc in fields: if not _type: continue set_item = r"`'[a-z0-9_.-]+'`" if re.fullmatch(rf"{{{set_item}(, {set_item})*}}", _type): continue param_warnings.setdefault((self._name, self._obj), []).append((_name, _type)) return _format_docutils_params_orig(self, fields, field_role, type_role) def show_param_warnings(app, exception): import inspect for (fname, fun), params in param_warnings.items(): _, line = inspect.getsourcelines(fun) file_name = inspect.getsourcefile(fun) params_str = '\n'.join(f'\t{n}: {t}' for n, t in params) warnings.warn_explicit( f'\nParameters in `{fname}` not set-like: {{`elm-1`, `s_el.2`}}.\n' 'Convert to this format or replace with type annotations:\n' + params_str, UserWarning, file_name, line, ) NumpyDocstring._format_docutils_params = scanpy_log_param_types # -- Debug code ---------------------------------------------------------------- # Just do the following to see the rst of a function: # rm -f _build/doctrees/api/scanpy..doctree; DEBUG=1 make html import os if os.environ.get('DEBUG') is not None: import sphinx.ext.napoleon pd = sphinx.ext.napoleon._process_docstring def pd_new(app, what, name, obj, options, lines): pd(app, what, name, obj, options, lines) print(*lines, sep='\n') sphinx.ext.napoleon._process_docstring = pd_new # -- Suppress link warnings ---------------------------------------------------- nitpick_ignore = [ # Will probably be documented ('py:class', 'scanpy._settings.Verbosity'), # Currently undocumented: https://github.com/mwaskom/seaborn/issues/1810 ('py:class', 'seaborn.ClusterGrid'), # Bug: https://github.com/agronholm/sphinx-autodoc-typehints/issues/96 ('py:class', 'typing.Textio'), ] for mod_name in [ 'pp', 'tl', 'pl', 'queries', 'logging', 'datasets', 'export_to', None, ]: if mod_name is None: mod = scanpy.api mod_name = 'scanpy.api' else: mod = getattr(scanpy.api, mod_name) mod_name = f'scanpy.api.{mod_name}' for name, item in vars(mod).items(): if not callable(item): continue for kind in ['func', 'obj']: nitpick_ignore.append((f'py:{kind}', f'{mod_name}.{name}')) ########################################################################### # 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 elif isinstance(source_suffix, (list, tuple)): # Sphinx >= 1.3 supports list/tuple to define multiple suffixes SUFFIX = source_suffix[0] elif isinstance(source_suffix, dict): # Sphinx >= 1.8 supports a mapping dictionary for multiple suffixes SUFFIX = list(source_suffix.keys())[0] # make a ``list()`` for py2/py3 compatibility else: # default to .rst SUFFIX = '.rst' 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') # 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/"), ("doc-builds", "/en/doc-builds/"), ("contributors", "/en/contributors/"), ], 'downloads': [ ("html", "//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/stable/', 'analytics_code': 'None', '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': 'b08c4ac5', } 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"] # Add External version warning banner to the external version documentation if 'branch' == 'external': extensions.insert(1, "readthedocs_ext.external_version_warning") project_language = 'en' # User's Sphinx configurations language_user = globals().get('language', None) latex_engine_user = globals().get('latex_engine', None) latex_elements_user = globals().get('latex_elements', None) # Remove this once xindy gets installed in Docker image and XINDYOPS # env variable is supported # https://github.com/rtfd/readthedocs-docker-images/pull/98 latex_use_xindy = False chinese = any([ language_user in ('zh_CN', 'zh_TW'), project_language in ('zh_CN', 'zh_TW'), ]) japanese = any([ language_user == 'ja', project_language == 'ja', ]) if chinese: latex_engine = latex_engine_user or 'xelatex' latex_elements_rtd = { 'preamble': '\\usepackage[UTF8]{ctex}\n', } latex_elements = latex_elements_user or latex_elements_rtd elif japanese: latex_engine = latex_engine_user or 'platex' [rtd-command-info] start-time: 2019-08-27T09:45:18.065126Z, end-time: 2019-08-27T09:45:27.031484Z, duration: 8, exit-code: 2 python sphinx-build -T -b readthedocs -d _build/doctrees-readthedocs -D language=en . _build/html Running Sphinx v2.2.0 Traceback (most recent call last): File "/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/checkouts/latest/scanpy/__init__.py", line 25, in from setuptools_scm import get_version ModuleNotFoundError: No module named 'setuptools_scm' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages/sphinx/config.py", line 361, in eval_config_file execfile_(filename, namespace) File "/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages/sphinx/util/pycompat.py", line 81, in execfile_ exec(code, _globals) File "/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/checkouts/latest/docs/conf.py", line 12, in import scanpy # noqa File "/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/checkouts/latest/scanpy/__init__.py", line 29, in __version__ = version(__name__) File "/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/checkouts/latest/scanpy/utils.py", line 32, in version return version(package) File "/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages/importlib_metadata/__init__.py", line 445, in version return distribution(package).version File "/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages/importlib_metadata/__init__.py", line 418, in distribution return Distribution.from_name(package) File "/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages/importlib_metadata/__init__.py", line 184, in from_name raise PackageNotFoundError(name) importlib_metadata.PackageNotFoundError: scanpy During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages/sphinx/cmd/build.py", line 275, in build_main args.tags, args.verbosity, args.jobs, args.keep_going) File "/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages/sphinx/application.py", line 210, in __init__ self.config = Config.read(self.confdir, confoverrides or {}, self.tags) File "/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages/sphinx/config.py", line 196, in read namespace = eval_config_file(filename, tags) File "/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages/sphinx/config.py", line 371, in eval_config_file raise ConfigError(msg % traceback.format_exc()) sphinx.errors.ConfigError: There is a programmable error in your configuration file: Traceback (most recent call last): File "/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/checkouts/latest/scanpy/__init__.py", line 25, in from setuptools_scm import get_version ModuleNotFoundError: No module named 'setuptools_scm' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages/sphinx/config.py", line 361, in eval_config_file execfile_(filename, namespace) File "/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages/sphinx/util/pycompat.py", line 81, in execfile_ exec(code, _globals) File "/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/checkouts/latest/docs/conf.py", line 12, in import scanpy # noqa File "/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/checkouts/latest/scanpy/__init__.py", line 29, in __version__ = version(__name__) File "/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/checkouts/latest/scanpy/utils.py", line 32, in version return version(package) File "/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages/importlib_metadata/__init__.py", line 445, in version return distribution(package).version File "/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages/importlib_metadata/__init__.py", line 418, in distribution return Distribution.from_name(package) File "/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages/importlib_metadata/__init__.py", line 184, in from_name raise PackageNotFoundError(name) importlib_metadata.PackageNotFoundError: scanpy Configuration error: There is a programmable error in your configuration file: Traceback (most recent call last): File "/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/checkouts/latest/scanpy/__init__.py", line 25, in from setuptools_scm import get_version ModuleNotFoundError: No module named 'setuptools_scm' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages/sphinx/config.py", line 361, in eval_config_file execfile_(filename, namespace) File "/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages/sphinx/util/pycompat.py", line 81, in execfile_ exec(code, _globals) File "/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/checkouts/latest/docs/conf.py", line 12, in import scanpy # noqa File "/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/checkouts/latest/scanpy/__init__.py", line 29, in __version__ = version(__name__) File "/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/checkouts/latest/scanpy/utils.py", line 32, in version return version(package) File "/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages/importlib_metadata/__init__.py", line 445, in version return distribution(package).version File "/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages/importlib_metadata/__init__.py", line 418, in distribution return Distribution.from_name(package) File "/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages/importlib_metadata/__init__.py", line 184, in from_name raise PackageNotFoundError(name) importlib_metadata.PackageNotFoundError: scanpy