Read the Docs build information Build id: 1301761 Project: icb-scanpy Version: latest Commit: 1313f7b972f99b4f62332f55b2f714d00f9f825c Date: 2023-02-15T17:15:51.064775Z State: cancelled Success: False [rtd-command-info] start-time: 2023-02-15T17:15:52.796889Z, end-time: 2023-02-15T17:15:55.973750Z, duration: 3, exit-code: 0 git clone --no-single-branch --depth 50 https://github.com/scverse/scanpy.git . Cloning into '.'... [rtd-command-info] start-time: 2023-02-15T17:15:56.159505Z, end-time: 2023-02-15T17:15:56.394931Z, duration: 0, exit-code: 0 git checkout --force origin/master Note: switching to '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 switching back to a branch. If you want to create a new branch to retain commits you create, you may do so (now or later) by using -c with the switch command. Example: git switch -c Or undo this operation with: git switch - Turn off this advice by setting config variable advice.detachedHead to false HEAD is now at 1313f7b9 Remove usage of ABC (#2414) [rtd-command-info] start-time: 2023-02-15T17:15:56.578541Z, end-time: 2023-02-15T17:15:56.648551Z, duration: 0, exit-code: 0 git clean -d -f -f [rtd-command-info] start-time: 2023-02-15T17:16:01.714853Z, end-time: 2023-02-15T17:16:01.798904Z, duration: 0, exit-code: 0 asdf global python 3.9.15 [rtd-command-info] start-time: 2023-02-15T17:16:02.278514Z, end-time: 2023-02-15T17:16:03.322948Z, duration: 1, exit-code: 0 python -mvirtualenv $READTHEDOCS_VIRTUALENV_PATH created virtual environment CPython3.9.15.final.0-64 in 690ms creator CPython3Posix(dest=/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest, clear=False, no_vcs_ignore=False, global=False) seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/home/docs/.local/share/virtualenv) added seed packages: pip==21.2.3, setuptools==57.4.0, wheel==0.37.0 activators BashActivator,CShellActivator,FishActivator,PowerShellActivator,PythonActivator [rtd-command-info] start-time: 2023-02-15T17:16:03.504777Z, end-time: 2023-02-15T17:16:14.718001Z, duration: 11, exit-code: 0 python -m pip install --upgrade --no-cache-dir pip setuptools<58.3.0 Requirement already satisfied: pip in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.9/site-packages (21.2.3) Collecting pip Downloading pip-23.0-py3-none-any.whl (2.1 MB) Requirement already satisfied: setuptools<58.3.0 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.9/site-packages (57.4.0) Collecting setuptools<58.3.0 Downloading setuptools-58.2.0-py3-none-any.whl (946 kB) Installing collected packages: setuptools, pip Attempting uninstall: setuptools Found existing installation: setuptools 57.4.0 Uninstalling setuptools-57.4.0: Successfully uninstalled setuptools-57.4.0 Attempting uninstall: pip Found existing installation: pip 21.2.3 Uninstalling pip-21.2.3: Successfully uninstalled pip-21.2.3 Successfully installed pip-23.0 setuptools-58.2.0 [rtd-command-info] start-time: 2023-02-15T17:16:14.932700Z, end-time: 2023-02-15T17:16:26.339476Z, duration: 11, exit-code: 0 python -m pip install --upgrade --no-cache-dir pillow mock==1.0.1 alabaster>=0.7,<0.8,!=0.7.5 commonmark==0.9.1 recommonmark==0.5.0 sphinx<2 sphinx-rtd-theme<0.5 readthedocs-sphinx-ext<2.3 jinja2<3.1.0 Collecting pillow Downloading Pillow-9.4.0-cp39-cp39-manylinux_2_28_x86_64.whl (3.4 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.4/3.4 MB 58.4 MB/s eta 0:00:00 Collecting mock==1.0.1 Downloading mock-1.0.1.zip (861 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 861.9/861.9 kB 162.5 MB/s eta 0:00:00 Preparing metadata (setup.py): started Preparing metadata (setup.py): finished with status 'done' Collecting alabaster!=0.7.5,<0.8,>=0.7 Downloading alabaster-0.7.13-py3-none-any.whl (13 kB) Collecting commonmark==0.9.1 Downloading commonmark-0.9.1-py2.py3-none-any.whl (51 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 51.1/51.1 kB 110.6 MB/s eta 0:00:00 Collecting recommonmark==0.5.0 Downloading recommonmark-0.5.0-py2.py3-none-any.whl (9.8 kB) Collecting sphinx<2 Downloading Sphinx-1.8.6-py2.py3-none-any.whl (3.1 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.1/3.1 MB 140.1 MB/s eta 0:00:00 Collecting sphinx-rtd-theme<0.5 Downloading sphinx_rtd_theme-0.4.3-py2.py3-none-any.whl (6.4 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6.4/6.4 MB 123.1 MB/s eta 0:00:00 Collecting readthedocs-sphinx-ext<2.3 Downloading readthedocs_sphinx_ext-2.2.0-py2.py3-none-any.whl (11 kB) Collecting jinja2<3.1.0 Downloading Jinja2-3.0.3-py3-none-any.whl (133 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 133.6/133.6 kB 141.7 MB/s eta 0:00:00 Collecting docutils>=0.11 Downloading docutils-0.19-py3-none-any.whl (570 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 570.5/570.5 kB 153.5 MB/s eta 0:00:00 Collecting imagesize Downloading imagesize-1.4.1-py2.py3-none-any.whl (8.8 kB) Collecting sphinxcontrib-websupport Downloading sphinxcontrib_websupport-1.2.4-py2.py3-none-any.whl (39 kB) Collecting requests>=2.0.0 Downloading requests-2.28.2-py3-none-any.whl (62 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 62.8/62.8 kB 127.3 MB/s eta 0:00:00 Collecting six>=1.5 Downloading six-1.16.0-py2.py3-none-any.whl (11 kB) Collecting snowballstemmer>=1.1 Downloading snowballstemmer-2.2.0-py2.py3-none-any.whl (93 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 93.0/93.0 kB 124.3 MB/s eta 0:00:00 Collecting docutils>=0.11 Downloading docutils-0.17.1-py2.py3-none-any.whl (575 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 575.5/575.5 kB 155.3 MB/s eta 0:00:00 Collecting Pygments>=2.0 Downloading Pygments-2.14.0-py3-none-any.whl (1.1 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.1/1.1 MB 158.5 MB/s eta 0:00:00 Collecting packaging Downloading packaging-23.0-py3-none-any.whl (42 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 42.7/42.7 kB 107.0 MB/s eta 0:00:00 Requirement already satisfied: setuptools in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.9/site-packages (from sphinx<2) (58.2.0) Collecting babel!=2.0,>=1.3 Downloading Babel-2.11.0-py3-none-any.whl (9.5 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 9.5/9.5 MB 152.9 MB/s eta 0:00:00 Collecting MarkupSafe>=2.0 Downloading MarkupSafe-2.1.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (25 kB) Collecting pytz>=2015.7 Downloading pytz-2022.7.1-py2.py3-none-any.whl (499 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 499.4/499.4 kB 166.0 MB/s eta 0:00:00 Collecting idna<4,>=2.5 Downloading idna-3.4-py3-none-any.whl (61 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 61.5/61.5 kB 135.2 MB/s eta 0:00:00 Collecting charset-normalizer<4,>=2 Downloading charset_normalizer-3.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (198 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 198.8/198.8 kB 164.2 MB/s eta 0:00:00 Collecting urllib3<1.27,>=1.21.1 Downloading urllib3-1.26.14-py2.py3-none-any.whl (140 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 140.6/140.6 kB 148.0 MB/s eta 0:00:00 Collecting certifi>=2017.4.17 Downloading certifi-2022.12.7-py3-none-any.whl (155 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 155.3/155.3 kB 130.1 MB/s eta 0:00:00 Collecting sphinxcontrib-serializinghtml Downloading sphinxcontrib_serializinghtml-1.1.5-py2.py3-none-any.whl (94 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 94.0/94.0 kB 137.2 MB/s eta 0:00:00 Building wheels for collected packages: mock 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-py3-none-any.whl size=23772 sha256=a0d982ffa2922c77aee8ace4d94355b20794c7899dcce72fd7eeb7a9474c12f2 Stored in directory: /tmp/pip-ephem-wheel-cache-gznshttc/wheels/44/dc/c7/e89296d3612588db0aa6545ee3305c23b7a48b3a9922916e1f Successfully built mock Installing collected packages: snowballstemmer, pytz, mock, commonmark, charset-normalizer, urllib3, sphinxcontrib-serializinghtml, six, Pygments, pillow, packaging, MarkupSafe, imagesize, idna, docutils, certifi, babel, alabaster, sphinxcontrib-websupport, requests, jinja2, sphinx, readthedocs-sphinx-ext, sphinx-rtd-theme, recommonmark Successfully installed MarkupSafe-2.1.2 Pygments-2.14.0 alabaster-0.7.13 babel-2.11.0 certifi-2022.12.7 charset-normalizer-3.0.1 commonmark-0.9.1 docutils-0.17.1 idna-3.4 imagesize-1.4.1 jinja2-3.0.3 mock-1.0.1 packaging-23.0 pillow-9.4.0 pytz-2022.7.1 readthedocs-sphinx-ext-2.2.0 recommonmark-0.5.0 requests-2.28.2 six-1.16.0 snowballstemmer-2.2.0 sphinx-1.8.6 sphinx-rtd-theme-0.4.3 sphinxcontrib-serializinghtml-1.1.5 sphinxcontrib-websupport-1.2.4 urllib3-1.26.14 [rtd-command-info] start-time: 2023-02-15T17:16:26.531424Z, end-time: 2023-02-15T17:17:47.804374Z, duration: 81, exit-code: 0 python -m pip install --upgrade --upgrade-strategy eager --no-cache-dir .[doc] Processing /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/checkouts/latest Installing build dependencies: started Installing build dependencies: finished with status 'done' Getting requirements to build wheel: started Getting requirements to build wheel: finished with status 'done' Installing backend dependencies: started Installing backend dependencies: finished with status 'done' Preparing metadata (pyproject.toml): started Preparing metadata (pyproject.toml): finished with status 'done' Collecting pandas>=1.0 Downloading pandas-1.5.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.2 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 12.2/12.2 MB 160.5 MB/s eta 0:00:00 Collecting h5py>=3 Downloading h5py-3.8.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.7 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.7/4.7 MB 190.9 MB/s eta 0:00:00 Collecting umap-learn>=0.3.10 Downloading umap-learn-0.5.3.tar.gz (88 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 88.2/88.2 kB 226.5 MB/s eta 0:00:00 Preparing metadata (setup.py): started Preparing metadata (setup.py): finished with status 'done' Collecting scikit-learn>=0.22 Downloading scikit_learn-1.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.6 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 9.6/9.6 MB 167.9 MB/s eta 0:00:00 Collecting numba>=0.41.0 Downloading numba-0.56.4-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (3.5 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.5/3.5 MB 187.2 MB/s eta 0:00:00 Collecting statsmodels>=0.10.0rc2 Downloading statsmodels-0.13.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.9 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 9.9/9.9 MB 174.2 MB/s eta 0:00:00 Requirement already satisfied: packaging in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.9/site-packages (from scanpy==1.10.0.dev37+g1313f7b9) (23.0) Collecting anndata>=0.7.4 Downloading anndata-0.8.0-py3-none-any.whl (96 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 96.1/96.1 kB 210.6 MB/s eta 0:00:00 Collecting matplotlib>=3.4 Downloading matplotlib-3.7.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.6 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 11.6/11.6 MB 176.5 MB/s eta 0:00:00 Collecting seaborn Downloading seaborn-0.12.2-py3-none-any.whl (293 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 293.3/293.3 kB 239.9 MB/s eta 0:00:00 Collecting session-info Downloading session_info-1.0.0.tar.gz (24 kB) Preparing metadata (setup.py): started Preparing metadata (setup.py): finished with status 'done' Collecting natsort Downloading natsort-8.2.0-py3-none-any.whl (37 kB) Collecting scipy>=1.4 Downloading scipy-1.10.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (34.4 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 34.4/34.4 MB 174.0 MB/s eta 0:00:00 Collecting joblib Downloading joblib-1.2.0-py3-none-any.whl (297 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 298.0/298.0 kB 247.9 MB/s eta 0:00:00 Collecting patsy Downloading patsy-0.5.3-py2.py3-none-any.whl (233 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 233.8/233.8 kB 253.4 MB/s eta 0:00:00 Collecting networkx>=2.3 Downloading networkx-3.0-py3-none-any.whl (2.0 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.0/2.0 MB 241.9 MB/s eta 0:00:00 Collecting tqdm Downloading tqdm-4.64.1-py2.py3-none-any.whl (78 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 78.5/78.5 kB 216.2 MB/s eta 0:00:00 Collecting numpy>=1.17.0 Downloading numpy-1.24.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (17.3 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 17.3/17.3 MB 159.5 MB/s eta 0:00:00 Collecting sphinx-rtd-theme>=1.0 Downloading sphinx_rtd_theme-1.2.0-py2.py3-none-any.whl (2.8 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.8/2.8 MB 227.1 MB/s eta 0:00:00 Collecting sphinx>=4.4 Downloading sphinx-6.1.3-py3-none-any.whl (3.0 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.0/3.0 MB 172.2 MB/s eta 0:00:00 Collecting scanpydoc[typehints]>=0.7.7 Downloading scanpydoc-0.7.7-py3-none-any.whl (29 kB) Collecting myst-parser Downloading myst_parser-0.18.1-py3-none-any.whl (58 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 58.2/58.2 kB 204.9 MB/s eta 0:00:00 Collecting python-dateutil>=2.7 Downloading python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 247.7/247.7 kB 248.2 MB/s eta 0:00:00 Collecting fonttools>=4.22.0 Downloading fonttools-4.38.0-py3-none-any.whl (965 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 965.4/965.4 kB 264.4 MB/s eta 0:00:00 Collecting cycler>=0.10 Downloading cycler-0.11.0-py3-none-any.whl (6.4 kB) Requirement already satisfied: pillow>=6.2.0 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.9/site-packages (from matplotlib>=3.4->scanpy==1.10.0.dev37+g1313f7b9) (9.4.0) Collecting contourpy>=1.0.1 Downloading contourpy-1.0.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (299 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 299.7/299.7 kB 201.3 MB/s eta 0:00:00 Collecting importlib-resources>=3.2.0 Downloading importlib_resources-5.10.2-py3-none-any.whl (34 kB) Collecting pyparsing>=2.3.1 Downloading pyparsing-3.0.9-py3-none-any.whl (98 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 98.3/98.3 kB 226.7 MB/s eta 0:00:00 Collecting kiwisolver>=1.0.1 Downloading kiwisolver-1.4.4-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (1.6 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.6/1.6 MB 266.4 MB/s eta 0:00:00 Collecting llvmlite<0.40,>=0.39.0dev0 Downloading llvmlite-0.39.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (34.6 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 34.6/34.6 MB 180.7 MB/s eta 0:00:00 Requirement already satisfied: setuptools in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.9/site-packages (from numba>=0.41.0->scanpy==1.10.0.dev37+g1313f7b9) (58.2.0) Collecting setuptools Downloading setuptools-67.3.2-py3-none-any.whl (1.1 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.1/1.1 MB 266.6 MB/s eta 0:00:00 Collecting numpy>=1.17.0 Downloading numpy-1.23.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (17.1 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 17.1/17.1 MB 169.8 MB/s eta 0:00:00 Requirement already satisfied: pytz>=2020.1 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.9/site-packages (from pandas>=1.0->scanpy==1.10.0.dev37+g1313f7b9) (2022.7.1) Collecting get_version Downloading get_version-3.5.4-py3-none-any.whl (18 kB) Collecting sphinx-autodoc-typehints>=1.15.2 Downloading sphinx_autodoc_typehints-1.22-py3-none-any.whl (17 kB) Collecting threadpoolctl>=2.0.0 Downloading threadpoolctl-3.1.0-py3-none-any.whl (14 kB) Collecting sphinxcontrib-devhelp Downloading sphinxcontrib_devhelp-1.0.2-py2.py3-none-any.whl (84 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 84.7/84.7 kB 216.1 MB/s eta 0:00:00 Requirement already satisfied: Jinja2>=3.0 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.9/site-packages (from sphinx>=4.4->scanpy==1.10.0.dev37+g1313f7b9) (3.0.3) Collecting Jinja2>=3.0 Downloading Jinja2-3.1.2-py3-none-any.whl (133 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 133.1/133.1 kB 245.1 MB/s eta 0:00:00 Collecting sphinxcontrib-jsmath Downloading sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl (5.1 kB) Requirement already satisfied: babel>=2.9 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.9/site-packages (from sphinx>=4.4->scanpy==1.10.0.dev37+g1313f7b9) (2.11.0) Collecting sphinxcontrib-htmlhelp>=2.0.0 Downloading sphinxcontrib_htmlhelp-2.0.1-py3-none-any.whl (99 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 99.8/99.8 kB 228.6 MB/s eta 0:00:00 Requirement already satisfied: requests>=2.25.0 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.9/site-packages (from sphinx>=4.4->scanpy==1.10.0.dev37+g1313f7b9) (2.28.2) Requirement already satisfied: imagesize>=1.3 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.9/site-packages (from sphinx>=4.4->scanpy==1.10.0.dev37+g1313f7b9) (1.4.1) Collecting importlib-metadata>=4.8 Downloading importlib_metadata-6.0.0-py3-none-any.whl (21 kB) Requirement already satisfied: alabaster<0.8,>=0.7 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.9/site-packages (from sphinx>=4.4->scanpy==1.10.0.dev37+g1313f7b9) (0.7.13) Collecting sphinxcontrib-applehelp Downloading sphinxcontrib_applehelp-1.0.4-py3-none-any.whl (120 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 120.6/120.6 kB 235.0 MB/s eta 0:00:00 Requirement already satisfied: sphinxcontrib-serializinghtml>=1.1.5 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.9/site-packages (from sphinx>=4.4->scanpy==1.10.0.dev37+g1313f7b9) (1.1.5) Collecting docutils<0.20,>=0.18 Downloading docutils-0.19-py3-none-any.whl (570 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 570.5/570.5 kB 256.9 MB/s eta 0:00:00 Collecting sphinxcontrib-qthelp Downloading sphinxcontrib_qthelp-1.0.3-py2.py3-none-any.whl (90 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 90.6/90.6 kB 214.3 MB/s eta 0:00:00 Requirement already satisfied: snowballstemmer>=2.0 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.9/site-packages (from sphinx>=4.4->scanpy==1.10.0.dev37+g1313f7b9) (2.2.0) Requirement already satisfied: Pygments>=2.13 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.9/site-packages (from sphinx>=4.4->scanpy==1.10.0.dev37+g1313f7b9) (2.14.0) Collecting sphinxcontrib-jquery!=3.0.0,>=2.0.0 Downloading sphinxcontrib_jquery-2.0.0-py3-none-any.whl (3.2 kB) Collecting docutils<0.20,>=0.18 Downloading docutils-0.18.1-py2.py3-none-any.whl (570 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 570.0/570.0 kB 256.5 MB/s eta 0:00:00 Requirement already satisfied: six in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.9/site-packages (from patsy->scanpy==1.10.0.dev37+g1313f7b9) (1.16.0) Collecting pynndescent>=0.5 Downloading pynndescent-0.5.8.tar.gz (1.1 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.1/1.1 MB 255.2 MB/s eta 0:00:00 Preparing metadata (setup.py): started Preparing metadata (setup.py): finished with status 'done' Collecting sphinx>=4.4 Downloading sphinx-5.3.0-py3-none-any.whl (3.2 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.2/3.2 MB 196.6 MB/s eta 0:00:00 Collecting typing-extensions Downloading typing_extensions-4.5.0-py3-none-any.whl (27 kB) Collecting mdit-py-plugins~=0.3.1 Downloading mdit_py_plugins-0.3.3-py3-none-any.whl (50 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 50.5/50.5 kB 187.9 MB/s eta 0:00:00 Collecting pyyaml Downloading PyYAML-6.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (661 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 661.8/661.8 kB 266.7 MB/s eta 0:00:00 Collecting markdown-it-py<3.0.0,>=1.0.0 Downloading markdown_it_py-2.1.0-py3-none-any.whl (84 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 84.5/84.5 kB 222.3 MB/s eta 0:00:00 Collecting python-igraph Downloading python-igraph-0.10.4.tar.gz (9.5 kB) Preparing metadata (setup.py): started Preparing metadata (setup.py): finished with status 'done' Collecting stdlib_list Downloading stdlib_list-0.8.0-py3-none-any.whl (63 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 63.5/63.5 kB 168.0 MB/s eta 0:00:00 Collecting zipp>=0.5 Downloading zipp-3.13.0-py3-none-any.whl (6.7 kB) Requirement already satisfied: MarkupSafe>=2.0 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.9/site-packages (from Jinja2>=3.0->sphinx>=4.4->scanpy==1.10.0.dev37+g1313f7b9) (2.1.2) Collecting mdurl~=0.1 Downloading mdurl-0.1.2-py3-none-any.whl (10.0 kB) Requirement already satisfied: idna<4,>=2.5 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.9/site-packages (from requests>=2.25.0->sphinx>=4.4->scanpy==1.10.0.dev37+g1313f7b9) (3.4) Requirement already satisfied: urllib3<1.27,>=1.21.1 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.9/site-packages (from requests>=2.25.0->sphinx>=4.4->scanpy==1.10.0.dev37+g1313f7b9) (1.26.14) Requirement already satisfied: charset-normalizer<4,>=2 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.9/site-packages (from requests>=2.25.0->sphinx>=4.4->scanpy==1.10.0.dev37+g1313f7b9) (3.0.1) Requirement already satisfied: certifi>=2017.4.17 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.9/site-packages (from requests>=2.25.0->sphinx>=4.4->scanpy==1.10.0.dev37+g1313f7b9) (2022.12.7) Collecting dunamai Downloading dunamai-1.15.0-py3-none-any.whl (23 kB) Collecting igraph==0.10.4 Downloading igraph-0.10.4-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.3 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.3/3.3 MB 127.0 MB/s eta 0:00:00 Collecting texttable>=1.6.2 Downloading texttable-1.6.7-py2.py3-none-any.whl (10 kB) Building wheels for collected packages: umap-learn, scanpy, session-info, pynndescent, python-igraph 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.5.3-py3-none-any.whl size=82830 sha256=3fa3b2c1be4f669e381bfb77a813f47a5ca70d7e87d20ee639263db8adee2d21 Stored in directory: /tmp/pip-ephem-wheel-cache-aexnsi_w/wheels/f4/3e/1c/596d0a463d17475af648688443fa4846fef624d1390339e7e9 Building wheel for scanpy (pyproject.toml): started Building wheel for scanpy (pyproject.toml): finished with status 'done' Created wheel for scanpy: filename=scanpy-1.10.0.dev37+g1313f7b9-py3-none-any.whl size=11485404 sha256=e1f2074f50929fb77624271f847e968cb45938f7e18f4b21f2329dd9c2f41c7c Stored in directory: /tmp/pip-ephem-wheel-cache-aexnsi_w/wheels/2c/ca/a8/b038e303156487f1950e65fb14990e1642cd81a73929959d71 Building wheel for session-info (setup.py): started Building wheel for session-info (setup.py): finished with status 'done' Created wheel for session-info: filename=session_info-1.0.0-py3-none-any.whl size=8045 sha256=8ec4779d4347ac06fa3c460d929a37a3e25d95019f70cdd5111b312226f5ae1f Stored in directory: /tmp/pip-ephem-wheel-cache-aexnsi_w/wheels/d4/fc/2e/00ca60bac7954b84907efd41baa9b4853500eaeec4228410c6 Building wheel for pynndescent (setup.py): started Building wheel for pynndescent (setup.py): finished with status 'done' Created wheel for pynndescent: filename=pynndescent-0.5.8-py3-none-any.whl size=55511 sha256=8418517a3b2e4949ff631e9bc9f0db2af79bf8439485214a5f965e554d32f137 Stored in directory: /tmp/pip-ephem-wheel-cache-aexnsi_w/wheels/b9/89/cc/59ab91ef5b21dc2ab3635528d7d227f49dfc9169905dcb959d Building wheel for python-igraph (setup.py): started Building wheel for python-igraph (setup.py): finished with status 'done' Created wheel for python-igraph: filename=python_igraph-0.10.4-py3-none-any.whl size=9076 sha256=d7272b77ff279d550975d2bc0b1facfb1a5306b45dd8ebc86a620cf239d3fe88 Stored in directory: /tmp/pip-ephem-wheel-cache-aexnsi_w/wheels/dc/07/ac/bff79052fd6222d1239b228cd24a47222f227c2350f9c4df01 Successfully built umap-learn scanpy session-info pynndescent python-igraph Installing collected packages: texttable, stdlib_list, zipp, typing-extensions, tqdm, threadpoolctl, sphinxcontrib-qthelp, sphinxcontrib-jsmath, sphinxcontrib-htmlhelp, sphinxcontrib-devhelp, sphinxcontrib-applehelp, setuptools, session-info, pyyaml, python-dateutil, pyparsing, numpy, networkx, natsort, mdurl, llvmlite, kiwisolver, joblib, Jinja2, igraph, fonttools, dunamai, docutils, cycler, sphinxcontrib-jquery, scipy, python-igraph, patsy, pandas, numba, markdown-it-py, importlib-resources, importlib-metadata, h5py, get_version, contourpy, statsmodels, sphinx, scikit-learn, mdit-py-plugins, matplotlib, anndata, sphinx-rtd-theme, sphinx-autodoc-typehints, seaborn, scanpydoc, pynndescent, myst-parser, umap-learn, scanpy Attempting uninstall: setuptools Found existing installation: setuptools 58.2.0 Uninstalling setuptools-58.2.0: Successfully uninstalled setuptools-58.2.0 Attempting uninstall: Jinja2 Found existing installation: Jinja2 3.0.3 Uninstalling Jinja2-3.0.3: Successfully uninstalled Jinja2-3.0.3 Attempting uninstall: docutils Found existing installation: docutils 0.17.1 Uninstalling docutils-0.17.1: Successfully uninstalled docutils-0.17.1 Attempting uninstall: sphinx Found existing installation: Sphinx 1.8.6 Uninstalling Sphinx-1.8.6: Successfully uninstalled Sphinx-1.8.6 Attempting uninstall: sphinx-rtd-theme Found existing installation: sphinx-rtd-theme 0.4.3 Uninstalling sphinx-rtd-theme-0.4.3: Successfully uninstalled sphinx-rtd-theme-0.4.3 Successfully installed Jinja2-3.1.2 anndata-0.8.0 contourpy-1.0.7 cycler-0.11.0 docutils-0.18.1 dunamai-1.15.0 fonttools-4.38.0 get_version-3.5.4 h5py-3.8.0 igraph-0.10.4 importlib-metadata-6.0.0 importlib-resources-5.10.2 joblib-1.2.0 kiwisolver-1.4.4 llvmlite-0.39.1 markdown-it-py-2.1.0 matplotlib-3.7.0 mdit-py-plugins-0.3.3 mdurl-0.1.2 myst-parser-0.18.1 natsort-8.2.0 networkx-3.0 numba-0.56.4 numpy-1.23.5 pandas-1.5.3 patsy-0.5.3 pynndescent-0.5.8 pyparsing-3.0.9 python-dateutil-2.8.2 python-igraph-0.10.4 pyyaml-6.0 scanpy-1.10.0.dev37+g1313f7b9 scanpydoc-0.7.7 scikit-learn-1.2.1 scipy-1.10.0 seaborn-0.12.2 session-info-1.0.0 setuptools-67.3.2 sphinx-5.3.0 sphinx-autodoc-typehints-1.22 sphinx-rtd-theme-1.2.0 sphinxcontrib-applehelp-1.0.4 sphinxcontrib-devhelp-1.0.2 sphinxcontrib-htmlhelp-2.0.1 sphinxcontrib-jquery-2.0.0 sphinxcontrib-jsmath-1.0.1 sphinxcontrib-qthelp-1.0.3 statsmodels-0.13.5 stdlib_list-0.8.0 texttable-1.6.7 threadpoolctl-3.1.0 tqdm-4.64.1 typing-extensions-4.5.0 umap-learn-0.5.3 zipp-3.13.0 [rtd-command-info] start-time: 2023-02-15T17:17:49.322156Z, end-time: 2023-02-15T17:17:49.388125Z, duration: 0, exit-code: 0 cat docs/conf.py import os import sys from pathlib import Path from datetime import datetime import matplotlib # noqa from packaging.version import parse as parse_version # Don’t use tkinter agg when importing scanpy → … → matplotlib matplotlib.use('agg') HERE = Path(__file__).parent sys.path[:0] = [str(HERE.parent), str(HERE / 'extensions')] import scanpy # noqa on_rtd = os.environ.get('READTHEDOCS') == 'True' # -- General configuration ------------------------------------------------ nitpicky = True # Warn about broken links. This is here for a reason: Do not change. needs_sphinx = '2.0' # Nicer param docs suppress_warnings = [ 'ref.citation', 'myst.header', # https://github.com/executablebooks/MyST-Parser/issues/262 ] # General information project = 'Scanpy' author = 'Scanpy development team' copyright = f'{datetime.now():%Y}, the Scanpy development team.' version = scanpy.__version__.replace('.dirty', '') # Bumping the version updates all docs, so don't do that if parse_version(version).is_devrelease: parsed = parse_version(version) version = f"{parsed.major}.{parsed.minor}.{parsed.micro}.dev" release = version # default settings templates_path = ['_templates'] master_doc = 'index' default_role = 'literal' exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] pygments_style = 'sphinx' extensions = [ 'myst_parser', 'sphinx.ext.autodoc', 'sphinx.ext.intersphinx', 'sphinx.ext.doctest', 'sphinx.ext.coverage', 'sphinx.ext.mathjax', 'sphinx.ext.napoleon', 'sphinx.ext.autosummary', # 'plot_generator', 'matplotlib.sphinxext.plot_directive', 'sphinx_autodoc_typehints', # needs to be after napoleon # 'ipython_directive', # 'ipython_console_highlighting', # 'scanpydoc', # scanpydoc.elegant_typehints causes full doc rebuilds 'scanpydoc.rtd_github_links', 'scanpydoc.theme', 'scanpydoc.definition_list_typed_field', 'scanpydoc.autosummary_generate_imported', *[p.stem for p in (HERE / 'extensions').glob('*.py')], ] # 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 api_dir = HERE / 'api' # function_images typehints_defaults = 'braces' scanpy_tutorials_url = 'https://scanpy-tutorials.readthedocs.io/en/latest/' intersphinx_mapping = dict( anndata=('https://anndata.readthedocs.io/en/stable/', None), bbknn=('https://bbknn.readthedocs.io/en/latest/', None), cycler=('https://matplotlib.org/cycler/', None), h5py=('https://docs.h5py.org/en/stable/', 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/stable/', None), networkx=('https://networkx.org/documentation/stable/', None), numpy=('https://numpy.org/doc/stable/', None), pandas=('https://pandas.pydata.org/pandas-docs/stable/', None), pytest=('https://docs.pytest.org/en/latest/', None), python=('https://docs.python.org/3', None), scipy=('https://docs.scipy.org/doc/scipy/', None), seaborn=('https://seaborn.pydata.org/', None), sklearn=('https://scikit-learn.org/stable/', None), scanpy_tutorials=(scanpy_tutorials_url, None), ) # -- Options for HTML output ---------------------------------------------- html_theme = 'scanpydoc' html_theme_options = dict( navigation_depth=4, logo_only=True, docsearch_index='scanpy', docsearch_key='fa4304eb95d2134997e3729553a674b2', ) 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_BrightFG.svg' def setup(app): app.warningiserror = on_rtd # -- 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', ) ] # -- Suppress link warnings ---------------------------------------------------- qualname_overrides = { "sklearn.neighbors._dist_metrics.DistanceMetric": "sklearn.neighbors.DistanceMetric", # If the docs are built with an old version of numpy, this will make it work: "numpy.random.RandomState": "numpy.random.mtrand.RandomState", "scanpy.plotting._matrixplot.MatrixPlot": "scanpy.pl.MatrixPlot", "scanpy.plotting._dotplot.DotPlot": "scanpy.pl.DotPlot", "scanpy.plotting._stacked_violin.StackedViolin": "scanpy.pl.StackedViolin", "pandas.core.series.Series": "pandas.Series", } nitpick_ignore = [ # Will probably be documented ('py:class', 'scanpy._settings.Verbosity'), # Currently undocumented: https://github.com/mwaskom/seaborn/issues/1810 ('py:class', 'seaborn.ClusterGrid'), # Won’t be documented ('py:class', 'scanpy.plotting._utils._AxesSubplot'), ('py:class', 'scanpy._utils.Empty'), ('py:class', 'numpy.random.mtrand.RandomState'), # Will work once scipy 1.8 is released ('py:class', 'scipy.sparse.base.spmatrix'), ('py:class', 'scipy.sparse.csr.csr_matrix'), ] # Options for plot examples plot_include_source = True plot_formats = [("png", 90)] plot_html_show_formats = False plot_html_show_source_link = False plot_working_directory = HERE.parent # Project root ########################################################################### # 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/main/readthedocs/doc_builder/templates/doc_builder/conf.py.tmpl # # Note: this file shouldn't rely on extra dependencies. import importlib import sys import os.path # Borrowed from six. PY3 = sys.version_info[0] == 3 string_types = str if PY3 else basestring 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: html_theme = 'sphinx_rtd_theme' html_style = None html_theme_options = {} # This following legacy behavior will gradually be sliced out until its deprecated and removed. # Skipped for Sphinx 6+ # Skipped by internal Feature flag SKIP_SPHINX_HTML_THEME_PATH # Skipped by all new projects since SKIP_SPHINX_HTML_THEME_PATH's introduction (jan 2023) if ( using_rtd_theme and version_info < (6,0) and not False ): theme = importlib.import_module('sphinx_rtd_theme') if 'html_theme_path' in globals(): html_theme_path.append(theme.get_html_theme_path()) else: html_theme_path = [theme.get_html_theme_path()] # Define websupport2_base_url and websupport2_static_url if globals().get('websupport2_base_url', False): websupport2_base_url = 'https://readthedocs.com/websupport' websupport2_static_url = 'https://assets.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://assets.readthedocs.com/", 'PRODUCTION_DOMAIN': "readthedocs.com", 'proxied_static_path': "/_/static/", 'versions': [ ("latest", "/en/latest/"), ("stable", "/en/stable/"), ], 'downloads': [ ], 'subprojects': [ ], 'slug': 'icb-scanpy', 'name': u'scanpy', 'rtd_language': u'en', 'programming_language': u'py', 'canonical_url': 'https://scanpy.readthedocs.io/en/stable/', 'analytics_code': 'None', 'single_version': False, 'conf_py_path': '/docs/', 'api_host': 'https://readthedocs.com', 'github_user': 'scverse', 'proxied_api_host': '/_', '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, 'docsearch_disabled': False, 'user_analytics_code': '', 'global_analytics_code': 'UA-17997319-2', 'commit': '1313f7b9', } # For sphinx >=1.8 we can use html_baseurl to set the canonical URL. # https://www.sphinx-doc.org/en/master/usage/configuration.html#confval-html_baseurl if version_info >= (1, 8): if not globals().get('html_baseurl'): html_baseurl = context['canonical_url'] context['canonical_url'] = None 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") readthedocs_vcs_url = 'None' readthedocs_build_url = 'https://readthedocs.com/projects/icb-scanpy/builds/1301761/' 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' # Make sure our build directory is always excluded exclude_patterns = globals().get('exclude_patterns', []) exclude_patterns.extend(['_build'])