Read the Docs build information Build id: 4100477 Project: anyscale-ray Version: master Commit: 9ba119183ea3d9fcaace319d20a366a008012924 Date: 2026-06-11T23:11:06.631874Z State: finished Success: True [rtd-command-info] start-time: 2026-06-11T23:11:07.435964Z, end-time: 2026-06-11T23:11:19.754428Z, duration: 12, exit-code: 0 git clone --depth 1 https://github.com/ray-project/ray.git . Cloning into '.'... Updating files: 17% (1788/10003) Updating files: 18% (1801/10003) Updating files: 19% (1901/10003) Updating files: 20% (2001/10003) Updating files: 21% (2101/10003) Updating files: 22% (2201/10003) Updating files: 23% (2301/10003) Updating files: 24% (2401/10003) Updating files: 25% (2501/10003) Updating files: 26% (2601/10003) Updating files: 27% (2701/10003) Updating files: 28% (2801/10003) Updating files: 29% (2901/10003) Updating files: 30% (3001/10003) Updating files: 31% (3101/10003) Updating files: 32% (3201/10003) Updating files: 33% (3301/10003) Updating files: 34% (3402/10003) Updating files: 35% (3502/10003) Updating files: 36% (3602/10003) Updating files: 37% (3702/10003) Updating files: 38% (3802/10003) Updating files: 39% (3902/10003) Updating files: 40% (4002/10003) Updating files: 41% (4102/10003) Updating files: 42% (4202/10003) Updating files: 43% (4302/10003) Updating files: 44% (4402/10003) Updating files: 45% (4502/10003) Updating files: 46% (4602/10003) Updating files: 47% (4702/10003) Updating files: 48% (4802/10003) Updating files: 49% (4902/10003) Updating files: 50% (5002/10003) Updating files: 51% (5102/10003) Updating files: 52% (5202/10003) Updating files: 53% (5302/10003) Updating files: 54% (5402/10003) Updating files: 55% (5502/10003) Updating files: 56% (5602/10003) Updating files: 57% (5702/10003) Updating files: 58% (5802/10003) Updating files: 59% (5902/10003) Updating files: 60% (6002/10003) Updating files: 61% (6102/10003) Updating files: 62% (6202/10003) Updating files: 63% (6302/10003) Updating files: 64% (6402/10003) Updating files: 65% (6502/10003) Updating files: 66% (6602/10003) Updating files: 67% (6703/10003) Updating files: 68% (6803/10003) Updating files: 69% (6903/10003) Updating files: 70% (7003/10003) Updating files: 71% (7103/10003) Updating files: 72% (7203/10003) Updating files: 73% (7303/10003) Updating files: 74% (7403/10003) Updating files: 75% (7503/10003) Updating files: 76% (7603/10003) Updating files: 77% (7703/10003) Updating files: 78% (7803/10003) Updating files: 79% (7903/10003) Updating files: 80% (8003/10003) Updating files: 81% (8103/10003) Updating files: 82% (8203/10003) Updating files: 83% (8303/10003) Updating files: 84% (8403/10003) Updating files: 85% (8503/10003) Updating files: 86% (8603/10003) Updating files: 87% (8703/10003) Updating files: 88% (8803/10003) Updating files: 89% (8903/10003) Updating files: 90% (9003/10003) Updating files: 91% (9103/10003) Updating files: 92% (9203/10003) Updating files: 93% (9303/10003) Updating files: 94% (9403/10003) Updating files: 95% (9503/10003) Updating files: 96% (9603/10003) Updating files: 97% (9703/10003) Updating files: 98% (9803/10003) Updating files: 99% (9903/10003) Updating files: 100% (10003/10003) Updating files: 100% (10003/10003), done. [rtd-command-info] start-time: 2026-06-11T23:11:19.843100Z, end-time: 2026-06-11T23:11:21.509032Z, duration: 1, exit-code: 0 git fetch origin --force --prune --prune-tags --depth 50 refs/heads/master:refs/remotes/origin/master [rtd-command-info] start-time: 2026-06-11T23:11:22.318813Z, end-time: 2026-06-11T23:11:23.225660Z, 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 9ba1191 [ci] windows: pin pyopenssl in conda base to fix cryptography skew (#64034) [rtd-command-info] start-time: 2026-06-11T23:11:23.304907Z, end-time: 2026-06-11T23:11:23.344802Z, duration: 0, exit-code: 0 cat .readthedocs.yaml # .readthedocs.yaml # Read the Docs configuration file # See https://docs.readthedocs.io/en/stable/config-file/v2.html for details # Required version: 2 # Set the version of Python and other tools you might need build: os: ubuntu-24.04 tools: python: "3.10" jobs: # On PR builds, skip the Sphinx build when the PR doesn't touch any # files that affect documentation output. Reduces queue pressure on # the shared RTD build slots when several PRs are open at once. # Tag/branch builds (master, stable, etc.) always run. # See https://docs.readthedocs.com/platform/stable/guides/build/skip-build.html # # Some constructs are avoided deliberately because RTD's job runner # silently drops scripts that contain them: use echo (not printf # with a backslash-escape format string), avoid backslash escapes # in general, and keep shell comments out of this block so that # backticks/$() inside comments don't confuse the preprocessor. post_checkout: - | if [ "${READTHEDOCS_VERSION_TYPE:-}" != "external" ]; then echo "Not a PR build (version type: '${READTHEDOCS_VERSION_TYPE:-unset}'); building docs." exit 0 fi git fetch --depth=500 origin master 2>/dev/null || true if ! git merge-base origin/master HEAD >/dev/null 2>&1; then echo "Could not determine merge-base with origin/master; building docs to be safe." exit 0 fi if git diff --quiet origin/master...HEAD -- doc/ python/ray/ rllib/ .readthedocs.yaml; then echo "No doc-affecting files changed in this PR; skipping Sphinx build." echo "Files changed in PR:" git diff --name-only origin/master...HEAD exit 183 fi echo "Doc-affecting files changed; building docs. Changed doc-relevant paths:" git diff --name-only origin/master...HEAD -- doc/ python/ray/ rllib/ .readthedocs.yaml # Build documentation in the docs/ directory with Sphinx sphinx: configuration: doc/source/conf.py fail_on_warning: true # We recommend specifying your dependencies to enable reproducible builds: # https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html python: install: - requirements: doc/requirements-doc.lock.txt [rtd-command-info] start-time: 2026-06-11T23:11:23.427210Z, end-time: 2026-06-11T23:11:23.471099Z, duration: 0, exit-code: 0 if [ "${READTHEDOCS_VERSION_TYPE:-}" != "external" ]; then echo "Not a PR build (version type: '${READTHEDOCS_VERSION_TYPE:-unset}'); building docs." exit 0 fi git fetch --depth=500 origin master 2>/dev/null || true if ! git merge-base origin/master HEAD >/dev/null 2>&1; then echo "Could not determine merge-base with origin/master; building docs to be safe." exit 0 fi if git diff --quiet origin/master...HEAD -- doc/ python/ray/ rllib/ .readthedocs.yaml; then echo "No doc-affecting files changed in this PR; skipping Sphinx build." echo "Files changed in PR:" git diff --name-only origin/master...HEAD exit 183 fi echo "Doc-affecting files changed; building docs. Changed doc-relevant paths:" git diff --name-only origin/master...HEAD -- doc/ python/ray/ rllib/ .readthedocs.yaml Not a PR build (version type: branch); building docs. [rtd-command-info] start-time: 2026-06-11T23:11:27.519742Z, end-time: 2026-06-11T23:11:27.578668Z, duration: 0, exit-code: 0 asdf global python 3.10.19 [rtd-command-info] start-time: 2026-06-11T23:11:27.945241Z, end-time: 2026-06-11T23:11:28.585534Z, duration: 0, exit-code: 0 python -mvirtualenv $READTHEDOCS_VIRTUALENV_PATH created virtual environment CPython3.10.19.final.0-64 in 346ms creator CPython3Posix(dest=/home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/envs/master, 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==23.1, setuptools==67.6.1, wheel==0.40.0 activators BashActivator,CShellActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator [rtd-command-info] start-time: 2026-06-11T23:11:28.678458Z, end-time: 2026-06-11T23:11:32.686700Z, duration: 4, exit-code: 0 python -m pip install --upgrade --no-cache-dir pip setuptools Requirement already satisfied: pip in /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/envs/master/lib/python3.10/site-packages (23.1) Collecting pip Downloading pip-26.1.2-py3-none-any.whl (1.8 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.8/1.8 MB 19.2 MB/s eta 0:00:00 Requirement already satisfied: setuptools in /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/envs/master/lib/python3.10/site-packages (67.6.1) Collecting setuptools Downloading setuptools-82.0.1-py3-none-any.whl (1.0 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.0/1.0 MB 30.7 MB/s eta 0:00:00 Installing collected packages: setuptools, pip Attempting uninstall: setuptools Found existing installation: setuptools 67.6.1 Uninstalling setuptools-67.6.1: Successfully uninstalled setuptools-67.6.1 Attempting uninstall: pip Found existing installation: pip 23.1 Uninstalling pip-23.1: Successfully uninstalled pip-23.1 Successfully installed pip-26.1.2 setuptools-82.0.1 [rtd-command-info] start-time: 2026-06-11T23:11:32.765788Z, end-time: 2026-06-11T23:11:36.885129Z, duration: 4, exit-code: 0 python -m pip install --upgrade --no-cache-dir sphinx Collecting sphinx Downloading sphinx-8.1.3-py3-none-any.whl.metadata (6.4 kB) Collecting sphinxcontrib-applehelp>=1.0.7 (from sphinx) Downloading sphinxcontrib_applehelp-2.0.0-py3-none-any.whl.metadata (2.3 kB) Collecting sphinxcontrib-devhelp>=1.0.6 (from sphinx) Downloading sphinxcontrib_devhelp-2.0.0-py3-none-any.whl.metadata (2.3 kB) Collecting sphinxcontrib-htmlhelp>=2.0.6 (from sphinx) Downloading sphinxcontrib_htmlhelp-2.1.0-py3-none-any.whl.metadata (2.3 kB) Collecting sphinxcontrib-jsmath>=1.0.1 (from sphinx) Downloading sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl.metadata (1.4 kB) Collecting sphinxcontrib-qthelp>=1.0.6 (from sphinx) Downloading sphinxcontrib_qthelp-2.0.0-py3-none-any.whl.metadata (2.3 kB) Collecting sphinxcontrib-serializinghtml>=1.1.9 (from sphinx) Downloading sphinxcontrib_serializinghtml-2.0.0-py3-none-any.whl.metadata (2.4 kB) Collecting Jinja2>=3.1 (from sphinx) Downloading jinja2-3.1.6-py3-none-any.whl.metadata (2.9 kB) Collecting Pygments>=2.17 (from sphinx) Downloading pygments-2.20.0-py3-none-any.whl.metadata (2.5 kB) Collecting docutils<0.22,>=0.20 (from sphinx) Downloading docutils-0.21.2-py3-none-any.whl.metadata (2.8 kB) Collecting snowballstemmer>=2.2 (from sphinx) Downloading snowballstemmer-3.1.1-py3-none-any.whl.metadata (7.9 kB) Collecting babel>=2.13 (from sphinx) Downloading babel-2.18.0-py3-none-any.whl.metadata (2.2 kB) Collecting alabaster>=0.7.14 (from sphinx) Downloading alabaster-1.0.0-py3-none-any.whl.metadata (2.8 kB) Collecting imagesize>=1.3 (from sphinx) Downloading imagesize-2.0.0-py2.py3-none-any.whl.metadata (1.5 kB) Collecting requests>=2.30.0 (from sphinx) Downloading requests-2.34.2-py3-none-any.whl.metadata (4.8 kB) Collecting packaging>=23.0 (from sphinx) Downloading packaging-26.2-py3-none-any.whl.metadata (3.5 kB) Collecting tomli>=2 (from sphinx) Downloading tomli-2.4.1-py3-none-any.whl.metadata (10 kB) Collecting MarkupSafe>=2.0 (from Jinja2>=3.1->sphinx) Downloading markupsafe-3.0.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (2.7 kB) Collecting charset_normalizer<4,>=2 (from requests>=2.30.0->sphinx) Downloading charset_normalizer-3.4.7-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (40 kB) Collecting idna<4,>=2.5 (from requests>=2.30.0->sphinx) Downloading idna-3.18-py3-none-any.whl.metadata (6.1 kB) Collecting urllib3<3,>=1.26 (from requests>=2.30.0->sphinx) Downloading urllib3-2.7.0-py3-none-any.whl.metadata (6.9 kB) Collecting certifi>=2023.5.7 (from requests>=2.30.0->sphinx) Downloading certifi-2026.5.20-py3-none-any.whl.metadata (2.5 kB) Downloading sphinx-8.1.3-py3-none-any.whl (3.5 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.5/3.5 MB 171.9 MB/s 0:00:00 Downloading docutils-0.21.2-py3-none-any.whl (587 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 587.4/587.4 kB 146.7 MB/s 0:00:00 Downloading alabaster-1.0.0-py3-none-any.whl (13 kB) Downloading babel-2.18.0-py3-none-any.whl (10.2 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 10.2/10.2 MB 378.8 MB/s 0:00:00 Downloading imagesize-2.0.0-py2.py3-none-any.whl (9.4 kB) Downloading jinja2-3.1.6-py3-none-any.whl (134 kB) Downloading markupsafe-3.0.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (20 kB) Downloading packaging-26.2-py3-none-any.whl (100 kB) Downloading pygments-2.20.0-py3-none-any.whl (1.2 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 1.1 GB/s 0:00:00 Downloading requests-2.34.2-py3-none-any.whl (73 kB) Downloading charset_normalizer-3.4.7-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (216 kB) Downloading idna-3.18-py3-none-any.whl (65 kB) Downloading urllib3-2.7.0-py3-none-any.whl (131 kB) Downloading certifi-2026.5.20-py3-none-any.whl (134 kB) Downloading snowballstemmer-3.1.1-py3-none-any.whl (104 kB) Downloading sphinxcontrib_applehelp-2.0.0-py3-none-any.whl (119 kB) Downloading sphinxcontrib_devhelp-2.0.0-py3-none-any.whl (82 kB) Downloading sphinxcontrib_htmlhelp-2.1.0-py3-none-any.whl (98 kB) Downloading sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl (5.1 kB) Downloading sphinxcontrib_qthelp-2.0.0-py3-none-any.whl (88 kB) Downloading sphinxcontrib_serializinghtml-2.0.0-py3-none-any.whl (92 kB) Downloading tomli-2.4.1-py3-none-any.whl (14 kB) Installing collected packages: urllib3, tomli, sphinxcontrib-serializinghtml, sphinxcontrib-qthelp, sphinxcontrib-jsmath, sphinxcontrib-htmlhelp, sphinxcontrib-devhelp, sphinxcontrib-applehelp, snowballstemmer, Pygments, packaging, MarkupSafe, imagesize, idna, docutils, charset_normalizer, certifi, babel, alabaster, requests, Jinja2, sphinx Successfully installed Jinja2-3.1.6 MarkupSafe-3.0.3 Pygments-2.20.0 alabaster-1.0.0 babel-2.18.0 certifi-2026.5.20 charset_normalizer-3.4.7 docutils-0.21.2 idna-3.18 imagesize-2.0.0 packaging-26.2 requests-2.34.2 snowballstemmer-3.1.1 sphinx-8.1.3 sphinxcontrib-applehelp-2.0.0 sphinxcontrib-devhelp-2.0.0 sphinxcontrib-htmlhelp-2.1.0 sphinxcontrib-jsmath-1.0.1 sphinxcontrib-qthelp-2.0.0 sphinxcontrib-serializinghtml-2.0.0 tomli-2.4.1 urllib3-2.7.0 [rtd-command-info] start-time: 2026-06-11T23:11:36.971378Z, end-time: 2026-06-11T23:12:26.489281Z, duration: 49, exit-code: 0 python -m pip install --exists-action=w --no-cache-dir -r doc/requirements-doc.lock.txt Collecting absl-py==2.4.0 (from -r doc/requirements-doc.lock.txt (line 3)) Downloading absl_py-2.4.0-py3-none-any.whl (135 kB) Collecting accessible-pygments==0.0.5 (from -r doc/requirements-doc.lock.txt (line 10)) Downloading accessible_pygments-0.0.5-py3-none-any.whl (1.4 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.4/1.4 MB 16.7 MB/s 0:00:00 Collecting alabaster==0.7.16 (from -r doc/requirements-doc.lock.txt (line 14)) Downloading alabaster-0.7.16-py3-none-any.whl (13 kB) Collecting annotated-types==0.7.0 (from -r doc/requirements-doc.lock.txt (line 18)) Downloading annotated_types-0.7.0-py3-none-any.whl (13 kB) Collecting anyio==4.11.0 (from -r doc/requirements-doc.lock.txt (line 22)) Downloading anyio-4.11.0-py3-none-any.whl (109 kB) Collecting appnope==0.1.4 (from -r doc/requirements-doc.lock.txt (line 28)) Downloading appnope-0.1.4-py2.py3-none-any.whl (4.3 kB) Collecting asttokens==3.0.0 (from -r doc/requirements-doc.lock.txt (line 32)) Downloading asttokens-3.0.0-py3-none-any.whl (26 kB) Collecting astunparse==1.6.3 (from -r doc/requirements-doc.lock.txt (line 36)) Downloading astunparse-1.6.3-py2.py3-none-any.whl (12 kB) Collecting attrs==25.4.0 (from -r doc/requirements-doc.lock.txt (line 40)) Downloading attrs-25.4.0-py3-none-any.whl (67 kB) Collecting autodoc-pydantic==2.2.0 (from -r doc/requirements-doc.lock.txt (line 47)) Downloading autodoc_pydantic-2.2.0-py3-none-any.whl (34 kB) Collecting babel==2.17.0 (from -r doc/requirements-doc.lock.txt (line 50)) Downloading babel-2.17.0-py3-none-any.whl (10.2 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 10.2/10.2 MB 53.0 MB/s 0:00:00 Collecting beautifulsoup4==4.14.2 (from -r doc/requirements-doc.lock.txt (line 56)) Downloading beautifulsoup4-4.14.2-py3-none-any.whl (106 kB) Collecting boto3==1.34.69 (from -r doc/requirements-doc.lock.txt (line 60)) Downloading boto3-1.34.69-py3-none-any.whl (139 kB) Collecting botocore==1.34.162 (from -r doc/requirements-doc.lock.txt (line 64)) Downloading botocore-1.34.162-py3-none-any.whl (12.5 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 12.5/12.5 MB 148.0 MB/s 0:00:00 Collecting certifi==2025.10.5 (from -r doc/requirements-doc.lock.txt (line 70)) Downloading certifi-2025.10.5-py3-none-any.whl (163 kB) Collecting charset-normalizer==3.4.4 (from -r doc/requirements-doc.lock.txt (line 74)) Downloading charset_normalizer-3.4.4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (153 kB) Collecting click==8.1.7 (from -r doc/requirements-doc.lock.txt (line 189)) Downloading click-8.1.7-py3-none-any.whl (97 kB) Collecting colorama==0.4.6 (from -r doc/requirements-doc.lock.txt (line 197)) Downloading colorama-0.4.6-py2.py3-none-any.whl (25 kB) Collecting comm==0.2.3 (from -r doc/requirements-doc.lock.txt (line 201)) Downloading comm-0.2.3-py3-none-any.whl (7.3 kB) Collecting debugpy==1.8.17 (from -r doc/requirements-doc.lock.txt (line 205)) Downloading debugpy-1.8.17-cp310-cp310-manylinux_2_34_x86_64.whl (3.1 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.1/3.1 MB 206.6 MB/s 0:00:00 Collecting decorator==5.2.1 (from -r doc/requirements-doc.lock.txt (line 237)) Downloading decorator-5.2.1-py3-none-any.whl (9.2 kB) Collecting docutils==0.20.1 (from -r doc/requirements-doc.lock.txt (line 241)) Downloading docutils-0.20.1-py3-none-any.whl (572 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 572.7/572.7 kB 226.1 MB/s 0:00:00 Collecting exceptiongroup==1.3.0 (from -r doc/requirements-doc.lock.txt (line 250)) Downloading exceptiongroup-1.3.0-py3-none-any.whl (16 kB) Collecting executing==2.2.1 (from -r doc/requirements-doc.lock.txt (line 256)) Downloading executing-2.2.1-py2.py3-none-any.whl (28 kB) Collecting fastjsonschema==2.21.2 (from -r doc/requirements-doc.lock.txt (line 260)) Downloading fastjsonschema-2.21.2-py3-none-any.whl (24 kB) Collecting flatbuffers==25.12.19 (from -r doc/requirements-doc.lock.txt (line 264)) Downloading flatbuffers-25.12.19-py2.py3-none-any.whl (26 kB) Collecting gast==0.7.0 (from -r doc/requirements-doc.lock.txt (line 267)) Downloading gast-0.7.0-py3-none-any.whl (22 kB) Collecting gitdb==4.0.12 (from -r doc/requirements-doc.lock.txt (line 271)) Downloading gitdb-4.0.12-py3-none-any.whl (62 kB) Collecting gitpython==3.1.46 (from -r doc/requirements-doc.lock.txt (line 275)) Downloading gitpython-3.1.46-py3-none-any.whl (208 kB) Collecting google-pasta==0.2.0 (from -r doc/requirements-doc.lock.txt (line 279)) Downloading google_pasta-0.2.0-py3-none-any.whl (57 kB) Collecting greenlet==3.2.4 (from -r doc/requirements-doc.lock.txt (line 284)) Downloading greenlet-3.2.4-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (584 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 584.4/584.4 kB 921.2 MB/s 0:00:00 Collecting grpcio==1.78.0 (from -r doc/requirements-doc.lock.txt (line 340)) Downloading grpcio-1.78.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (6.7 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6.7/6.7 MB 213.8 MB/s 0:00:00 Collecting h11==0.16.0 (from -r doc/requirements-doc.lock.txt (line 405)) Downloading h11-0.16.0-py3-none-any.whl (37 kB) Collecting h5py==3.15.1 (from -r doc/requirements-doc.lock.txt (line 409)) Downloading h5py-3.15.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (4.7 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.7/4.7 MB 200.4 MB/s 0:00:00 Collecting idna==3.11 (from -r doc/requirements-doc.lock.txt (line 453)) Downloading idna-3.11-py3-none-any.whl (71 kB) Collecting imagesize==1.4.1 (from -r doc/requirements-doc.lock.txt (line 459)) Downloading imagesize-1.4.1-py2.py3-none-any.whl (8.8 kB) Collecting importlib-metadata==8.7.0 (from -r doc/requirements-doc.lock.txt (line 463)) Downloading importlib_metadata-8.7.0-py3-none-any.whl (27 kB) Collecting ipykernel==7.0.1 (from -r doc/requirements-doc.lock.txt (line 469)) Downloading ipykernel-7.0.1-py3-none-any.whl (118 kB) Collecting ipython==8.37.0 (from -r doc/requirements-doc.lock.txt (line 473)) Downloading ipython-8.37.0-py3-none-any.whl (831 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 831.9/831.9 kB 1.0 GB/s 0:00:00 Collecting jedi==0.19.2 (from -r doc/requirements-doc.lock.txt (line 479)) Downloading jedi-0.19.2-py2.py3-none-any.whl (1.6 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.6/1.6 MB 575.7 MB/s 0:00:00 Requirement already satisfied: jinja2==3.1.6 in /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/envs/master/lib/python3.10/site-packages (from -r doc/requirements-doc.lock.txt (line 483)) (3.1.6) Collecting jmespath==1.0.1 (from -r doc/requirements-doc.lock.txt (line 491)) Downloading jmespath-1.0.1-py3-none-any.whl (20 kB) Collecting jsonpointer==3.0.0 (from -r doc/requirements-doc.lock.txt (line 497)) Downloading jsonpointer-3.0.0-py2.py3-none-any.whl (7.6 kB) Collecting jsonschema==4.25.1 (from -r doc/requirements-doc.lock.txt (line 501)) Downloading jsonschema-4.25.1-py3-none-any.whl (90 kB) Collecting jsonschema-specifications==2025.9.1 (from -r doc/requirements-doc.lock.txt (line 507)) Downloading jsonschema_specifications-2025.9.1-py3-none-any.whl (18 kB) Collecting jupyter-cache==0.6.1 (from -r doc/requirements-doc.lock.txt (line 511)) Downloading jupyter_cache-0.6.1-py3-none-any.whl (33 kB) Collecting jupyter-client==8.6.3 (from -r doc/requirements-doc.lock.txt (line 515)) Downloading jupyter_client-8.6.3-py3-none-any.whl (106 kB) Collecting jupyter-core==5.9.1 (from -r doc/requirements-doc.lock.txt (line 521)) Downloading jupyter_core-5.9.1-py3-none-any.whl (29 kB) Collecting jupytext==1.15.2 (from -r doc/requirements-doc.lock.txt (line 529)) Downloading jupytext-1.15.2-py3-none-any.whl (307 kB) Collecting keras==3.12.1 (from -r doc/requirements-doc.lock.txt (line 533)) Downloading keras-3.12.1-py3-none-any.whl (1.5 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.5/1.5 MB 483.6 MB/s 0:00:00 Collecting libclang==18.1.1 (from -r doc/requirements-doc.lock.txt (line 537)) Downloading libclang-18.1.1-py2.py3-none-manylinux2010_x86_64.whl (24.5 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 24.5/24.5 MB 157.2 MB/s 0:00:00 Collecting markdown==3.10.2 (from -r doc/requirements-doc.lock.txt (line 549)) Downloading markdown-3.10.2-py3-none-any.whl (108 kB) Collecting markdown-it-py==3.0.0 (from -r doc/requirements-doc.lock.txt (line 553)) Downloading markdown_it_py-3.0.0-py3-none-any.whl (87 kB) Requirement already satisfied: markupsafe==3.0.3 in /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/envs/master/lib/python3.10/site-packages (from -r doc/requirements-doc.lock.txt (line 561)) (3.0.3) Collecting matplotlib-inline==0.1.7 (from -r doc/requirements-doc.lock.txt (line 654)) Downloading matplotlib_inline-0.1.7-py3-none-any.whl (9.9 kB) Collecting mdit-py-plugins==0.5.0 (from -r doc/requirements-doc.lock.txt (line 660)) Downloading mdit_py_plugins-0.5.0-py3-none-any.whl (57 kB) Collecting mdurl==0.1.2 (from -r doc/requirements-doc.lock.txt (line 666)) Downloading mdurl-0.1.2-py3-none-any.whl (10.0 kB) Collecting ml-dtypes==0.5.4 (from -r doc/requirements-doc.lock.txt (line 670)) Downloading ml_dtypes-0.5.4-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (5.0 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.0/5.0 MB 138.4 MB/s 0:00:00 Collecting myst-nb==1.4.0 (from -r doc/requirements-doc.lock.txt (line 713)) Downloading myst_nb-1.4.0-py3-none-any.whl (82 kB) Collecting myst-parser==2.0.0 (from -r doc/requirements-doc.lock.txt (line 717)) Downloading myst_parser-2.0.0-py3-none-any.whl (77 kB) Collecting namex==0.1.0 (from -r doc/requirements-doc.lock.txt (line 723)) Downloading namex-0.1.0-py3-none-any.whl (5.9 kB) Collecting nbclient==0.7.4 (from -r doc/requirements-doc.lock.txt (line 727)) Downloading nbclient-0.7.4-py3-none-any.whl (73 kB) Collecting nbformat==5.10.4 (from -r doc/requirements-doc.lock.txt (line 733)) Downloading nbformat-5.10.4-py3-none-any.whl (78 kB) Collecting nest-asyncio==1.6.0 (from -r doc/requirements-doc.lock.txt (line 741)) Downloading nest_asyncio-1.6.0-py3-none-any.whl (5.2 kB) Collecting numpy==1.26.4 (from -r doc/requirements-doc.lock.txt (line 745)) Downloading numpy-1.26.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (18.2 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 18.2/18.2 MB 242.9 MB/s 0:00:00 Collecting opt-einsum==3.4.0 (from -r doc/requirements-doc.lock.txt (line 788)) Downloading opt_einsum-3.4.0-py3-none-any.whl (71 kB) Collecting optree==0.18.0 (from -r doc/requirements-doc.lock.txt (line 792)) Downloading optree-0.18.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (386 kB) Collecting packaging==25.0 (from -r doc/requirements-doc.lock.txt (line 894)) Downloading packaging-25.0-py3-none-any.whl (66 kB) Collecting parso==0.8.5 (from -r doc/requirements-doc.lock.txt (line 905)) Downloading parso-0.8.5-py2.py3-none-any.whl (106 kB) Collecting pexpect==4.9.0 (from -r doc/requirements-doc.lock.txt (line 909)) Downloading pexpect-4.9.0-py2.py3-none-any.whl (63 kB) Collecting pillow==12.1.1 (from -r doc/requirements-doc.lock.txt (line 913)) Downloading pillow-12.1.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (7.0 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.0/7.0 MB 248.9 MB/s 0:00:00 Collecting platformdirs==4.5.0 (from -r doc/requirements-doc.lock.txt (line 1006)) Downloading platformdirs-4.5.0-py3-none-any.whl (18 kB) Collecting prompt-toolkit==3.0.52 (from -r doc/requirements-doc.lock.txt (line 1010)) Downloading prompt_toolkit-3.0.52-py3-none-any.whl (391 kB) Collecting protobuf==6.33.5 (from -r doc/requirements-doc.lock.txt (line 1014)) Downloading protobuf-6.33.5-cp39-abi3-manylinux2014_x86_64.whl (323 kB) Collecting psutil==7.1.0 (from -r doc/requirements-doc.lock.txt (line 1028)) Downloading psutil-7.1.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (291 kB) Collecting ptyprocess==0.7.0 (from -r doc/requirements-doc.lock.txt (line 1039)) Downloading ptyprocess-0.7.0-py2.py3-none-any.whl (13 kB) Collecting pure-eval==0.2.3 (from -r doc/requirements-doc.lock.txt (line 1043)) Downloading pure_eval-0.2.3-py3-none-any.whl (11 kB) Collecting pyarrow==19.0.1 (from -r doc/requirements-doc.lock.txt (line 1047)) Downloading pyarrow-19.0.1-cp310-cp310-manylinux_2_28_x86_64.whl (42.1 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 42.1/42.1 MB 217.1 MB/s 0:00:00 Collecting pydantic==2.12.4 (from -r doc/requirements-doc.lock.txt (line 1091)) Downloading pydantic-2.12.4-py3-none-any.whl (463 kB) Collecting pydantic-core==2.41.5 (from -r doc/requirements-doc.lock.txt (line 1098)) Downloading pydantic_core-2.41.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.1 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.1/2.1 MB 254.4 MB/s 0:00:00 Collecting pydantic-settings==2.2.1 (from -r doc/requirements-doc.lock.txt (line 1221)) Downloading pydantic_settings-2.2.1-py3-none-any.whl (13 kB) Collecting pydata-sphinx-theme==0.17.1 (from -r doc/requirements-doc.lock.txt (line 1225)) Downloading pydata_sphinx_theme-0.17.1-py3-none-any.whl (6.8 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6.8/6.8 MB 295.0 MB/s 0:00:00 Collecting pygments==2.16.1 (from -r doc/requirements-doc.lock.txt (line 1229)) Downloading Pygments-2.16.1-py3-none-any.whl (1.2 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 1.1 GB/s 0:00:00 Collecting python-dateutil==2.9.0.post0 (from -r doc/requirements-doc.lock.txt (line 1239)) Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 kB) Collecting python-dotenv==1.1.1 (from -r doc/requirements-doc.lock.txt (line 1245)) Downloading python_dotenv-1.1.1-py3-none-any.whl (20 kB) Collecting pyyaml==6.0.3 (from -r doc/requirements-doc.lock.txt (line 1249)) Downloading pyyaml-6.0.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (770 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 770.3/770.3 kB 1.0 GB/s 0:00:00 Collecting pyzmq==27.1.0 (from -r doc/requirements-doc.lock.txt (line 1330)) Downloading pyzmq-27.1.0-cp310-cp310-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl (854 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 854.1/854.1 kB 1.1 GB/s 0:00:00 Collecting referencing==0.37.0 (from -r doc/requirements-doc.lock.txt (line 1426)) Downloading referencing-0.37.0-py3-none-any.whl (26 kB) Collecting requests==2.32.5 (from -r doc/requirements-doc.lock.txt (line 1432)) Downloading requests-2.32.5-py3-none-any.whl (64 kB) Collecting rich==14.3.3 (from -r doc/requirements-doc.lock.txt (line 1440)) Downloading rich-14.3.3-py3-none-any.whl (310 kB) Collecting rpds-py==0.27.1 (from -r doc/requirements-doc.lock.txt (line 1444)) Downloading rpds_py-0.27.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (384 kB) Collecting s3transfer==0.10.4 (from -r doc/requirements-doc.lock.txt (line 1603)) Downloading s3transfer-0.10.4-py3-none-any.whl (83 kB) Collecting setuptools==80.9.0 (from -r doc/requirements-doc.lock.txt (line 1607)) Downloading setuptools-80.9.0-py3-none-any.whl (1.2 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 942.0 MB/s 0:00:00 Collecting six==1.17.0 (from -r doc/requirements-doc.lock.txt (line 1614)) Downloading six-1.17.0-py2.py3-none-any.whl (11 kB) Collecting smmap==5.0.2 (from -r doc/requirements-doc.lock.txt (line 1623)) Downloading smmap-5.0.2-py3-none-any.whl (24 kB) Collecting sniffio==1.3.1 (from -r doc/requirements-doc.lock.txt (line 1627)) Downloading sniffio-1.3.1-py3-none-any.whl (10 kB) Collecting snowballstemmer==3.0.1 (from -r doc/requirements-doc.lock.txt (line 1631)) Downloading snowballstemmer-3.0.1-py3-none-any.whl (103 kB) Collecting soupsieve==2.8 (from -r doc/requirements-doc.lock.txt (line 1635)) Downloading soupsieve-2.8-py3-none-any.whl (36 kB) Collecting sphinx==7.3.7 (from -r doc/requirements-doc.lock.txt (line 1639)) Downloading sphinx-7.3.7-py3-none-any.whl (3.3 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.3/3.3 MB 303.0 MB/s 0:00:00 Collecting sphinx-autobuild==2024.4.16 (from -r doc/requirements-doc.lock.txt (line 1660)) Downloading sphinx_autobuild-2024.4.16-py3-none-any.whl (11 kB) Collecting sphinx-click==5.1.0 (from -r doc/requirements-doc.lock.txt (line 1664)) Downloading sphinx_click-5.1.0-py3-none-any.whl (9.7 kB) Collecting sphinx-collections==0.3.1 (from -r doc/requirements-doc.lock.txt (line 1668)) Downloading sphinx_collections-0.3.1-py3-none-any.whl (16 kB) Collecting sphinx-copybutton==0.5.2 (from -r doc/requirements-doc.lock.txt (line 1672)) Downloading sphinx_copybutton-0.5.2-py3-none-any.whl (13 kB) Collecting sphinx-design==0.5.0 (from -r doc/requirements-doc.lock.txt (line 1676)) Downloading sphinx_design-0.5.0-py3-none-any.whl (2.2 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.2/2.2 MB 75.3 MB/s 0:00:00 Collecting sphinx-docsearch==0.0.7 (from -r doc/requirements-doc.lock.txt (line 1680)) Downloading sphinx_docsearch-0.0.7-py3-none-any.whl (42 kB) Collecting sphinx-jsonschema==1.19.1 (from -r doc/requirements-doc.lock.txt (line 1684)) Downloading sphinx-jsonschema-1.19.1.tar.gz (18 kB) 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' Preparing metadata (pyproject.toml): started Preparing metadata (pyproject.toml): finished with status 'done' Collecting sphinx-last-updated-by-git==0.3.8 (from -r doc/requirements-doc.lock.txt (line 1687)) Downloading sphinx_last_updated_by_git-0.3.8-py3-none-any.whl (8.6 kB) Collecting sphinx-llms-txt==0.7.1 (from -r doc/requirements-doc.lock.txt (line 1691)) Downloading sphinx_llms_txt-0.7.1-py3-none-any.whl (22 kB) Collecting sphinx-remove-toctrees==0.0.3 (from -r doc/requirements-doc.lock.txt (line 1695)) Downloading sphinx_remove_toctrees-0.0.3-py3-none-any.whl (4.7 kB) Collecting sphinx-sitemap==2.9.0 (from -r doc/requirements-doc.lock.txt (line 1699)) Downloading sphinx_sitemap-2.9.0-py3-none-any.whl (6.2 kB) Requirement already satisfied: sphinxcontrib-applehelp==2.0.0 in /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/envs/master/lib/python3.10/site-packages (from -r doc/requirements-doc.lock.txt (line 1703)) (2.0.0) Requirement already satisfied: sphinxcontrib-devhelp==2.0.0 in /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/envs/master/lib/python3.10/site-packages (from -r doc/requirements-doc.lock.txt (line 1707)) (2.0.0) Requirement already satisfied: sphinxcontrib-htmlhelp==2.1.0 in /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/envs/master/lib/python3.10/site-packages (from -r doc/requirements-doc.lock.txt (line 1711)) (2.1.0) Requirement already satisfied: sphinxcontrib-jsmath==1.0.1 in /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/envs/master/lib/python3.10/site-packages (from -r doc/requirements-doc.lock.txt (line 1715)) (1.0.1) Requirement already satisfied: sphinxcontrib-qthelp==2.0.0 in /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/envs/master/lib/python3.10/site-packages (from -r doc/requirements-doc.lock.txt (line 1719)) (2.0.0) Collecting sphinxcontrib-redoc==1.6.0 (from -r doc/requirements-doc.lock.txt (line 1723)) Downloading sphinxcontrib-redoc-1.6.0.tar.gz (350 kB) 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' Requirement already satisfied: sphinxcontrib-serializinghtml==2.0.0 in /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/envs/master/lib/python3.10/site-packages (from -r doc/requirements-doc.lock.txt (line 1726)) (2.0.0) Collecting sphinxemoji==0.3.2 (from -r doc/requirements-doc.lock.txt (line 1730)) Downloading sphinxemoji-0.3.2-py3-none-any.whl (45 kB) Collecting sphinxext-opengraph==0.13.0 (from -r doc/requirements-doc.lock.txt (line 1734)) Downloading sphinxext_opengraph-0.13.0-py3-none-any.whl (1.0 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.0/1.0 MB 1.1 GB/s 0:00:00 Collecting sqlalchemy==2.0.44 (from -r doc/requirements-doc.lock.txt (line 1738)) Downloading sqlalchemy-2.0.44-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.2 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.2/3.2 MB 321.0 MB/s 0:00:00 Collecting stack-data==0.6.3 (from -r doc/requirements-doc.lock.txt (line 1797)) Downloading stack_data-0.6.3-py3-none-any.whl (24 kB) Collecting starlette==0.48.0 (from -r doc/requirements-doc.lock.txt (line 1801)) Downloading starlette-0.48.0-py3-none-any.whl (73 kB) Collecting tabulate==0.9.0 (from -r doc/requirements-doc.lock.txt (line 1805)) Downloading tabulate-0.9.0-py3-none-any.whl (35 kB) Collecting tensorboard==2.20.0 (from -r doc/requirements-doc.lock.txt (line 1809)) Downloading tensorboard-2.20.0-py3-none-any.whl (5.5 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.5/5.5 MB 243.2 MB/s 0:00:00 Collecting tensorboard-data-server==0.7.2 (from -r doc/requirements-doc.lock.txt (line 1812)) Downloading tensorboard_data_server-0.7.2-py3-none-manylinux_2_31_x86_64.whl (6.6 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6.6/6.6 MB 152.7 MB/s 0:00:00 Collecting tensorflow==2.20.0 (from -r doc/requirements-doc.lock.txt (line 1817)) Downloading tensorflow-2.20.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (620.4 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 620.4/620.4 MB 185.3 MB/s 0:00:03 Collecting termcolor==3.3.0 (from -r doc/requirements-doc.lock.txt (line 1841)) Downloading termcolor-3.3.0-py3-none-any.whl (7.7 kB) Collecting tf-keras==2.20.1 (from -r doc/requirements-doc.lock.txt (line 1845)) Downloading tf_keras-2.20.1-py3-none-any.whl (1.7 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.7/1.7 MB 258.4 MB/s 0:00:00 Collecting toml==0.10.2 (from -r doc/requirements-doc.lock.txt (line 1849)) Downloading toml-0.10.2-py2.py3-none-any.whl (16 kB) Collecting tomli==2.3.0 (from -r doc/requirements-doc.lock.txt (line 1853)) Downloading tomli-2.3.0-py3-none-any.whl (14 kB) Collecting tornado==6.5.2 (from -r doc/requirements-doc.lock.txt (line 1897)) Downloading tornado-6.5.2-cp39-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (443 kB) Collecting traitlets==5.14.3 (from -r doc/requirements-doc.lock.txt (line 1913)) Downloading traitlets-5.14.3-py3-none-any.whl (85 kB) Collecting typing-extensions==4.15.0 (from -r doc/requirements-doc.lock.txt (line 1924)) Downloading typing_extensions-4.15.0-py3-none-any.whl (44 kB) Collecting typing-inspection==0.4.2 (from -r doc/requirements-doc.lock.txt (line 1944)) Downloading typing_inspection-0.4.2-py3-none-any.whl (14 kB) Collecting urllib3==1.26.20 (from -r doc/requirements-doc.lock.txt (line 1948)) Downloading urllib3-1.26.20-py2.py3-none-any.whl (144 kB) Collecting uvicorn==0.37.0 (from -r doc/requirements-doc.lock.txt (line 1955)) Downloading uvicorn-0.37.0-py3-none-any.whl (67 kB) Collecting watchfiles==1.1.1 (from -r doc/requirements-doc.lock.txt (line 1959)) Downloading watchfiles-1.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (455 kB) Collecting wcwidth==0.2.14 (from -r doc/requirements-doc.lock.txt (line 2070)) Downloading wcwidth-0.2.14-py2.py3-none-any.whl (37 kB) Collecting websockets==15.0.1 (from -r doc/requirements-doc.lock.txt (line 2074)) Downloading websockets-15.0.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (181 kB) Collecting werkzeug==3.1.6 (from -r doc/requirements-doc.lock.txt (line 2145)) Downloading werkzeug-3.1.6-py3-none-any.whl (225 kB) Collecting wheel==0.46.3 (from -r doc/requirements-doc.lock.txt (line 2149)) Downloading wheel-0.46.3-py3-none-any.whl (30 kB) Collecting wrapt==2.1.1 (from -r doc/requirements-doc.lock.txt (line 2153)) Downloading wrapt-2.1.1-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (113 kB) Collecting xmltodict==0.13.0 (from -r doc/requirements-doc.lock.txt (line 2229)) Downloading xmltodict-0.13.0-py2.py3-none-any.whl (10.0 kB) Collecting zipp==3.23.0 (from -r doc/requirements-doc.lock.txt (line 2233)) Downloading zipp-3.23.0-py3-none-any.whl (10 kB) Building wheels for collected packages: sphinx-jsonschema, sphinxcontrib-redoc Building wheel for sphinx-jsonschema (pyproject.toml): started Building wheel for sphinx-jsonschema (pyproject.toml): finished with status 'done' Created wheel for sphinx-jsonschema: filename=sphinx_jsonschema-1.19.1-py3-none-any.whl size=15469 sha256=6d192397679533b816112864270a424e9ac7495d9c99f1cc07005a8b078a799b Stored in directory: /tmp/pip-ephem-wheel-cache-7p94hr9q/wheels/82/8b/0f/4cf4419b592e6ad5f1361067888fd0cade74714061a34d2858 Building wheel for sphinxcontrib-redoc (pyproject.toml): started Building wheel for sphinxcontrib-redoc (pyproject.toml): finished with status 'done' Created wheel for sphinxcontrib-redoc: filename=sphinxcontrib_redoc-1.6.0-py3-none-any.whl size=299648 sha256=0ce61d54d3caab07ee6f3707334cd8c20097805196fb1ed50c2ba482003793b8 Stored in directory: /tmp/pip-ephem-wheel-cache-7p94hr9q/wheels/c3/f3/09/ca56bcb5e735dbf9d7ccfcbfa66480b60179becfe44e425e7b Successfully built sphinx-jsonschema sphinxcontrib-redoc Installing collected packages: pure-eval, ptyprocess, namex, libclang, flatbuffers, fastjsonschema, zipp, xmltodict, wrapt, werkzeug, websockets, wcwidth, urllib3, typing-extensions, traitlets, tornado, tomli, toml, termcolor, tensorboard-data-server, tabulate, soupsieve, snowballstemmer, sniffio, smmap, six, setuptools, rpds-py, pyzmq, pyyaml, python-dotenv, pygments, pyarrow, psutil, protobuf, platformdirs, pillow, pexpect, parso, packaging, opt-einsum, numpy, nest-asyncio, mdurl, markdown, jsonpointer, jmespath, imagesize, idna, h11, greenlet, gast, executing, docutils, decorator, debugpy, comm, colorama, click, charset-normalizer, certifi, babel, attrs, asttokens, appnope, annotated-types, alabaster, absl-py, wheel, uvicorn, typing-inspection, stack-data, sqlalchemy, requests, referencing, python-dateutil, pydantic-core, prompt-toolkit, optree, ml-dtypes, matplotlib-inline, markdown-it-py, jupyter-core, jedi, importlib-metadata, h5py, grpcio, google-pasta, gitdb, exceptiongroup, beautifulsoup4, accessible-pygments, tensorboard, sphinx-jsonschema, sphinx, rich, pydantic, mdit-py-plugins, jupyter-client, jsonschema-specifications, ipython, gitpython, botocore, astunparse, anyio, watchfiles, starlette, sphinxext-opengraph, sphinxemoji, sphinx-remove-toctrees, sphinx-llms-txt, sphinx-last-updated-by-git, sphinx-docsearch, sphinx-design, sphinx-copybutton, sphinx-collections, sphinx-click, s3transfer, pydata-sphinx-theme, pydantic-settings, myst-parser, keras, jsonschema, ipykernel, tensorflow, sphinxcontrib-redoc, sphinx-sitemap, sphinx-autobuild, nbformat, boto3, autodoc-pydantic, tf-keras, nbclient, jupytext, jupyter-cache, myst-nb Attempting uninstall: urllib3 Found existing installation: urllib3 2.7.0 Uninstalling urllib3-2.7.0: Successfully uninstalled urllib3-2.7.0 Attempting uninstall: tomli Found existing installation: tomli 2.4.1 Uninstalling tomli-2.4.1: Successfully uninstalled tomli-2.4.1 Attempting uninstall: snowballstemmer Found existing installation: snowballstemmer 3.1.1 Uninstalling snowballstemmer-3.1.1: Successfully uninstalled snowballstemmer-3.1.1 Attempting uninstall: setuptools Found existing installation: setuptools 82.0.1 Uninstalling setuptools-82.0.1: Successfully uninstalled setuptools-82.0.1 Attempting uninstall: pygments Found existing installation: Pygments 2.20.0 Uninstalling Pygments-2.20.0: Successfully uninstalled Pygments-2.20.0 Attempting uninstall: packaging Found existing installation: packaging 26.2 Uninstalling packaging-26.2: Successfully uninstalled packaging-26.2 Attempting uninstall: imagesize Found existing installation: imagesize 2.0.0 Uninstalling imagesize-2.0.0: Successfully uninstalled imagesize-2.0.0 Attempting uninstall: idna Found existing installation: idna 3.18 Uninstalling idna-3.18: Successfully uninstalled idna-3.18 Attempting uninstall: docutils Found existing installation: docutils 0.21.2 Uninstalling docutils-0.21.2: Successfully uninstalled docutils-0.21.2 Attempting uninstall: charset-normalizer Found existing installation: charset-normalizer 3.4.7 Uninstalling charset-normalizer-3.4.7: Successfully uninstalled charset-normalizer-3.4.7 Attempting uninstall: certifi Found existing installation: certifi 2026.5.20 Uninstalling certifi-2026.5.20: Successfully uninstalled certifi-2026.5.20 Attempting uninstall: babel Found existing installation: babel 2.18.0 Uninstalling babel-2.18.0: Successfully uninstalled babel-2.18.0 Attempting uninstall: alabaster Found existing installation: alabaster 1.0.0 Uninstalling alabaster-1.0.0: Successfully uninstalled alabaster-1.0.0 Attempting uninstall: wheel Found existing installation: wheel 0.40.0 Uninstalling wheel-0.40.0: Successfully uninstalled wheel-0.40.0 Attempting uninstall: requests Found existing installation: requests 2.34.2 Uninstalling requests-2.34.2: Successfully uninstalled requests-2.34.2 Attempting uninstall: sphinx Found existing installation: Sphinx 8.1.3 Uninstalling Sphinx-8.1.3: Successfully uninstalled Sphinx-8.1.3 Successfully installed absl-py-2.4.0 accessible-pygments-0.0.5 alabaster-0.7.16 annotated-types-0.7.0 anyio-4.11.0 appnope-0.1.4 asttokens-3.0.0 astunparse-1.6.3 attrs-25.4.0 autodoc-pydantic-2.2.0 babel-2.17.0 beautifulsoup4-4.14.2 boto3-1.34.69 botocore-1.34.162 certifi-2025.10.5 charset-normalizer-3.4.4 click-8.1.7 colorama-0.4.6 comm-0.2.3 debugpy-1.8.17 decorator-5.2.1 docutils-0.20.1 exceptiongroup-1.3.0 executing-2.2.1 fastjsonschema-2.21.2 flatbuffers-25.12.19 gast-0.7.0 gitdb-4.0.12 gitpython-3.1.46 google-pasta-0.2.0 greenlet-3.2.4 grpcio-1.78.0 h11-0.16.0 h5py-3.15.1 idna-3.11 imagesize-1.4.1 importlib-metadata-8.7.0 ipykernel-7.0.1 ipython-8.37.0 jedi-0.19.2 jmespath-1.0.1 jsonpointer-3.0.0 jsonschema-4.25.1 jsonschema-specifications-2025.9.1 jupyter-cache-0.6.1 jupyter-client-8.6.3 jupyter-core-5.9.1 jupytext-1.15.2 keras-3.12.1 libclang-18.1.1 markdown-3.10.2 markdown-it-py-3.0.0 matplotlib-inline-0.1.7 mdit-py-plugins-0.5.0 mdurl-0.1.2 ml-dtypes-0.5.4 myst-nb-1.4.0 myst-parser-2.0.0 namex-0.1.0 nbclient-0.7.4 nbformat-5.10.4 nest-asyncio-1.6.0 numpy-1.26.4 opt-einsum-3.4.0 optree-0.18.0 packaging-25.0 parso-0.8.5 pexpect-4.9.0 pillow-12.1.1 platformdirs-4.5.0 prompt-toolkit-3.0.52 protobuf-6.33.5 psutil-7.1.0 ptyprocess-0.7.0 pure-eval-0.2.3 pyarrow-19.0.1 pydantic-2.12.4 pydantic-core-2.41.5 pydantic-settings-2.2.1 pydata-sphinx-theme-0.17.1 pygments-2.16.1 python-dateutil-2.9.0.post0 python-dotenv-1.1.1 pyyaml-6.0.3 pyzmq-27.1.0 referencing-0.37.0 requests-2.32.5 rich-14.3.3 rpds-py-0.27.1 s3transfer-0.10.4 setuptools-80.9.0 six-1.17.0 smmap-5.0.2 sniffio-1.3.1 snowballstemmer-3.0.1 soupsieve-2.8 sphinx-7.3.7 sphinx-autobuild-2024.4.16 sphinx-click-5.1.0 sphinx-collections-0.3.1 sphinx-copybutton-0.5.2 sphinx-design-0.5.0 sphinx-docsearch-0.0.7 sphinx-jsonschema-1.19.1 sphinx-last-updated-by-git-0.3.8 sphinx-llms-txt-0.7.1 sphinx-remove-toctrees-0.0.3 sphinx-sitemap-2.9.0 sphinxcontrib-redoc-1.6.0 sphinxemoji-0.3.2 sphinxext-opengraph-0.13.0 sqlalchemy-2.0.44 stack-data-0.6.3 starlette-0.48.0 tabulate-0.9.0 tensorboard-2.20.0 tensorboard-data-server-0.7.2 tensorflow-2.20.0 termcolor-3.3.0 tf-keras-2.20.1 toml-0.10.2 tomli-2.3.0 tornado-6.5.2 traitlets-5.14.3 typing-extensions-4.15.0 typing-inspection-0.4.2 urllib3-1.26.20 uvicorn-0.37.0 watchfiles-1.1.1 wcwidth-0.2.14 websockets-15.0.1 werkzeug-3.1.6 wheel-0.46.3 wrapt-2.1.1 xmltodict-0.13.0 zipp-3.23.0 [rtd-command-info] start-time: 2026-06-11T23:12:26.644837Z, end-time: 2026-06-11T23:12:26.690073Z, duration: 0, exit-code: 0 cat doc/source/conf.py import io import json import logging import os import pathlib import random import re import sys import time import zipfile from datetime import datetime from dataclasses import is_dataclass from importlib import import_module from typing import Any, Dict from urllib.error import HTTPError, URLError from urllib.request import urlopen import sphinx from docutils import nodes from jinja2.filters import FILTERS from sphinx.ext.autosummary import generate from sphinx.util.inspect import safe_getattr from sphinx.util.matching import compile_matchers DEFAULT_API_GROUP = "Others" logger = logging.getLogger(__name__) sys.path.insert(0, os.path.abspath(".")) from custom_directives import ( # noqa DownloadAndPreprocessEcosystemDocs, update_context, LinkcheckSummarizer, parse_navbar_config, setup_context, pregenerate_example_rsts, generate_versions_json, collect_example_orphans, ) # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. assert not os.path.exists( "../../python/ray/_raylet.so" ), "_raylet.so should not be imported for the purpose for doc build, please rename the file to _raylet.so.bak and try again." sys.path.insert(0, os.path.abspath("../../python/")) # -- General configuration ------------------------------------------------ # This setting controls how single backticks are handled by sphinx. Developers # are used to using single backticks for code, but RST syntax requires that code # code to be denoted with _double_ backticks. # Here we make sphinx treat single backticks as code also, because everyone is # used to using single backticks as is done with markdown; without this setting, # lots of documentation ends up getting committed with single backticks anyway, # so we might as well make it work as developers intend for it to. default_role = "code" sys.path.append(os.path.abspath("./_ext")) extensions = [ "callouts", # custom extension from _ext folder "queryparamrefs", "sphinx.ext.autodoc", "sphinx.ext.viewcode", "sphinx.ext.napoleon", "sphinx_click.ext", "sphinx-jsonschema", "sphinxemoji.sphinxemoji", "sphinx_copybutton", "sphinx_sitemap", "myst_nb", "sphinx.ext.doctest", "sphinx.ext.coverage", "sphinx.ext.autosummary", "sphinxcontrib.autodoc_pydantic", "sphinxcontrib.redoc", "sphinx_remove_toctrees", "sphinx_design", "sphinx.ext.intersphinx", "sphinx_docsearch", "sphinx_collections", "sphinx_llms_txt", "sphinxext.opengraph", ] # -- sphinx-llms-txt: agent-friendly summary and full corpus ----------- llms_txt_summary = ( "Ray is an open-source unified compute framework for scaling AI and " "Python workloads, including data processing, model training, model " "serving, hyperparameter tuning, and reinforcement learning. The full " "documentation lives at https://docs.ray.io/." ) # Filter low-signal pages from llms-full.txt. Auto-generated API reference # pages (one per public class/method) are excluded because they would # dominate the corpus with autodoc boilerplate. Mirrors the directories in # `remove_from_toctrees` below. Agents needing specific API details can # fetch per-page markdown twins via Read the Docs' Markdown for Agents # content negotiation. Tuning of this list is tracked separately. llms_txt_exclude = [ "search", "genindex", "404", "_TableOfContents", "cluster/running-applications/job-submission/doc/*", "ray-observability/reference/doc/*", "ray-core/api/doc/*", "data/api/doc/*", "train/api/doc/*", "tune/api/doc/*", "serve/api/doc/*", "rllib/package_ref/*", ] # Exclude Jupyter notebooks from llms-full.txt. sphinx-llms-txt reads each # docname's source verbatim from `_sources/`, so for `.ipynb` pages it # appends raw notebook JSON (cells, outputs, embedded base64 images) into # the corpus. `llms_txt_exclude` matches docnames (extension stripped) via # fnmatch, so a `**/*.ipynb` pattern can't work — we enumerate each # notebook's docname instead. Notebooks remain fully rendered in the HTML # build; only the agent corpus drops them. _conf_dir = pathlib.Path(__file__).parent llms_txt_exclude += sorted( p.relative_to(_conf_dir).with_suffix("").as_posix() for p in _conf_dir.rglob("*.ipynb") ) # -- sphinx-collections: pull external template files at build time ----------- _TEMPLATES_CI_BASE = "https://templates.ci.ray.io" _TEMPLATE_CHANNEL_API = _TEMPLATES_CI_BASE + "/templates/{name}/latest/channel.json" # Hard timeouts on the templates.ci.ray.io HTTP calls. The doc build previously # stalled when the templates host was slow or unresponsive (#63112 revert); # explicit timeouts let urlopen surface a TimeoutError instead of hanging # indefinitely so the per-template error handler in `_fetch_and_extract_zip` # can log a warning and continue with the remaining templates. _TEMPLATE_CHANNEL_TIMEOUT_S = 30 _TEMPLATE_DOWNLOAD_TIMEOUT_S = 90 # Retry policy for the templates.ci.ray.io HTTP calls. Many doc builds can run # concurrently against the same endpoint (PR previews + branch builds); under # that load the host returns transient errors (HTTP 5xx/429, connection resets, # read timeouts). A single urlopen with no retry would drop the template, and # since every template is wired into a toctree that broken ref fails the whole # build under `fail_on_warning`. Retry with exponential backoff plus full random # jitter so the retry bursts from many concurrent builds don't re-synchronize # and hammer the endpoint in lockstep. _TEMPLATE_FETCH_ATTEMPTS = 3 _TEMPLATE_RETRY_BASE_S = 1.0 def _urlopen_read_with_retries(url, timeout): """Fetch `url` and return its body bytes, retrying transient failures. Retries cover both the connection and the body read (a slow `read()` under load can itself time out). Only transient conditions are retried — a 4xx other than 429 won't fix itself, so it's raised immediately. After the final attempt the last exception propagates to the caller's handler, which preserves the existing per-template skip semantics. """ last_exc = None for attempt in range(_TEMPLATE_FETCH_ATTEMPTS): try: with urlopen(url, timeout=timeout) as resp: return resp.read() except HTTPError as exc: last_exc = exc # HTTPError is a subclass of URLError, so it must be caught first. # Don't retry deterministic client errors (4xx except 429). if exc.code != 429 and not (500 <= exc.code < 600): raise except (URLError, TimeoutError, OSError) as exc: # URLError wraps DNS/refused/connection-reset; TimeoutError is the # urlopen/read timeout; OSError covers lower-level socket errors. last_exc = exc if attempt < _TEMPLATE_FETCH_ATTEMPTS - 1: base = _TEMPLATE_RETRY_BASE_S * (2 ** attempt) delay = base + random.uniform(0, base) # full jitter on the delay logger.info( "sphinx-collections: retrying %s in %.1fs " "(attempt %d/%d) after: %s", url, delay, attempt + 1, _TEMPLATE_FETCH_ATTEMPTS, last_exc, ) time.sleep(delay) raise last_exc _TEMPLATE_COLLECTIONS = { "asynchronous_inference": { "target": "serve/tutorials/asynchronous-inference", }, "audio-dataset-curation-llm-judge": { "target": "ray-overview/examples/e2e-audio", }, "deepspeed_finetune": { "target": "train/examples/pytorch/deepspeed_finetune", }, "deployment-serve-llm": { "target": "serve/tutorials/deployment-serve-llm", }, "distributing-pytorch": { "target": "train/examples/pytorch/distributing-pytorch", }, "e2e-rag-deepdive": { "target": "ray-overview/examples/e2e-rag", }, "e2e-timeseries-forecasting": { "target": "ray-overview/examples/e2e-timeseries", }, "entity-recognition-with-llms": { "target": "ray-overview/examples/entity-recognition-with-llms", }, "image-search-and-classification": { "target": "ray-overview/examples/e2e-multimodal-ai-workloads", }, "llm_batch_inference_text": { "target": "data/examples/llm_batch_inference_text", }, "llm_batch_inference_vision": { "target": "data/examples/llm_batch_inference_vision", }, "langchain-agent-ray-serve": { "target": "ray-overview/examples/langchain_agent_ray_serve/content", }, "llm_finetuning": { "target": "ray-overview/examples/llamafactory-llm-fine-tune", }, "multi_agent_a2a": { "target": "ray-overview/examples/multi_agent_a2a", }, "mcp-ray-serve": { "target": "ray-overview/examples/mcp-ray-serve", }, "model-composition-recsys": { "target": "serve/tutorials/model-composition-recsys", }, "model-multiplexing": { "target": "serve/tutorials/model_multiplexing_forecast", }, "object-detection-video-processing": { "target": "ray-overview/examples/object-detection", }, "ray_train_workloads": { "target": "train/tutorials", }, "pytorch-fsdp": { "target": "train/examples/pytorch/pytorch-fsdp", }, "pytorch-profiling": { "target": "train/examples/pytorch/pytorch-profiling", }, "tensor_parallel_autotp": { "target": "train/examples/pytorch/tensor_parallel_autotp", }, "tensor_parallel_dtensor": { "target": "train/examples/pytorch/tensor_parallel_dtensor", }, "tune_pytorch_asha": { "target": "tune/examples/tune_pytorch_asha", }, "unstructured_data_ingestion": { "target": "data/examples/unstructured_data_ingestion", }, "xgboost-training-and-serving": { "target": "ray-overview/examples/e2e-xgboost", }, } def _resolve_template_url(name): """Fetch the build zip URL for a template from the channel API.""" api_url = _TEMPLATE_CHANNEL_API.format(name=name) logger.info("sphinx-collections: resolving template URL from %s", api_url) data = json.loads( _urlopen_read_with_retries(api_url, _TEMPLATE_CHANNEL_TIMEOUT_S) ) url = data["url"] # Replace the ascommon:/// protocol with the templates.ci.ray.io base URL. url = url.replace("ascommon:///", _TEMPLATES_CI_BASE + "/") # Append /build.zip to get the docs build archive. url = url.rstrip("/") + "/build.zip" logger.info("sphinx-collections: resolved URL %s", url) return url def _fetch_and_extract_zip(config): """Download a zip archive and extract it into the collection target directory. Failures fetching, downloading, or extracting an individual template are logged as warnings and the target directory is cleared, so a single bad template doesn't abort the entire doc build. Pages that depended on the skipped template will surface as broken refs at build time and can be triaged independently. """ import shutil name = config["name"] target = pathlib.Path(config["target"]) try: url = _resolve_template_url(name) if target.is_dir(): shutil.rmtree(target) target.mkdir(parents=True, exist_ok=True) logger.info("sphinx-collections: downloading %s -> %s", url, target) zip_bytes = io.BytesIO( _urlopen_read_with_retries(url, _TEMPLATE_DOWNLOAD_TIMEOUT_S) ) with zipfile.ZipFile(zip_bytes) as zf: zf.extractall(target) logger.info( "sphinx-collections: extracted %d files to %s", len(zf.namelist()), target, ) except Exception as exc: logger.warning( "sphinx-collections: skipping template %r — fetch/extract failed: %s", name, exc, ) # Leave any partial state out of the build tree so downstream sphinx # passes don't trip over a half-extracted archive. if target.is_dir(): shutil.rmtree(target, ignore_errors=True) collections = { name: { "driver": "function", "source": _fetch_and_extract_zip, "target": coll["target"], "clean": False, "final_clean": False, "write_result": False, } for name, coll in _TEMPLATE_COLLECTIONS.items() } # Don't wipe the target before build — other docs may co-exist in parent dirs. collections_clean = True # Clean up collected files after build so they don't get committed. collections_final_clean = True # The collections config contains a function reference (for the "function" driver) # which Sphinx cannot pickle for caching. This is harmless — suppress the warning # so it doesn't cause a build failure under -W (warnings-as-errors). suppress_warnings = ["config.cache"] # Disable autodoc_pydantic features that can produce empty raw directives # (e.g. when schema JSON fails for models with non-serializable fields) autodoc_pydantic_model_show_json = False # Configuration for algolia # Note: This API key grants read access to our indexes and is intended to be public. # See https://www.algolia.com/doc/guides/security/api-keys/ for more information. docsearch_app_id = "LBHF0PABBL" docsearch_api_key = "6c42f30d9669d8e42f6fc92f44028596" docsearch_index_name = "docs-ray" remove_from_toctrees = [ "cluster/running-applications/job-submission/doc/*", "ray-observability/reference/doc/*", "ray-core/api/doc/*", "data/api/doc/*", "train/api/doc/*", "tune/api/doc/*", "serve/api/doc/*", "rllib/package_ref/algorithm/*", "rllib/package_ref/policy/*", "rllib/package_ref/models/*", "rllib/package_ref/catalogs/*", "rllib/package_ref/rl_modules/*", "rllib/package_ref/learner/*", "rllib/package_ref/evaluation/*", "rllib/package_ref/replay-buffers/*", "rllib/package_ref/utils/*", ] myst_enable_extensions = [ "dollarmath", "amsmath", "deflist", "html_admonition", "html_image", "colon_fence", "smartquotes", "replacements", ] myst_heading_anchors = 3 # Add these for attachment handling nb_render_key_pairs = { "html": [ ("img", ["src", "alt"]), ] } nb_output_folder = "_build/jupyter_execute" # Make broken internal references into build time errors. # See https://www.sphinx-doc.org/en/master/usage/configuration.html#confval-nitpicky # for more information. :py:class: references are ignored due to false positives # arising from type annotations. See https://github.com/ray-project/ray/pull/46103 # for additional context. nitpicky = True nitpick_ignore_regex = [ ("py:obj", "ray.actor.T"), ("py:obj", "ray.data.aggregate.AccumulatorType"), ("py:obj", "ray.data.aggregate.SupportsRichComparisonType"), ("py:obj", "ray.data.aggregate.AggOutputType"), ("py:class", ".*"), # Workaround for https://github.com/sphinx-doc/sphinx/issues/10974 ("py:obj", "ray\\.data\\.datasource\\.datasink\\.WriteReturnType"), # UnknownPreprocessorError is an internal exception not exported in public API ("py:exc", "UnknownPreprocessorError"), ("py:exc", "ray\\.data\\.preprocessors\\.version_support\\.UnknownPreprocessorError"), # TypeVar for gRPCInputStream generic type ("py:obj", "ray\\.serve\\.grpc_util\\.T"), # autodoc_pydantic generates invalid py:obj refs for pydantic v2 validators # (e.g. "all fields", "_validate_*" references in validator docstrings) ("py:obj", r"ray\.serve\.config\.\w+\.all fields"), ("py:obj", r"ray\.serve\.config\.GangSchedulingConfig\._validate_runtime_failure_policy"), ("py:obj", r"ray\.serve\.schema\.\w+\.all fields"), # autodoc_pydantic also emits invalid field refs for these dashboard job models. ("py:obj", r"ray\.dashboard\.modules\.job\.pydantic_models\.(DriverInfo|JobDetails)\.\w+"), ] # Cache notebook outputs in _build/.jupyter_cache # To prevent notebook execution, set this to "off". To force re-execution, set this to # "force". To cache previous runs, set this to "cache". nb_execution_mode = os.getenv("RUN_NOTEBOOKS", "off") # Add a render priority for doctest nb_mime_priority_overrides = [ ("html", "application/vnd.jupyter.widget-view+json", 10), ("html", "application/javascript", 20), ("html", "text/html", 30), ("html", "image/svg+xml", 40), ("html", "image/png", 50), ("html", "image/jpeg", 60), ("html", "text/markdown", 70), ("html", "text/latex", 80), ("html", "text/plain", 90), ] html_extra_path = ["robots.txt"] html_baseurl = "https://docs.ray.io/en/latest/" # `html_baseurl` already encodes `/en/latest/`, so override sphinx-sitemap's # default `{lang}{version}{link}` scheme to just `{link}`. Otherwise the # extension prepends `en/` again, producing URLs like `en/latesten/`. sitemap_url_scheme = "{link}" # sphinxext-opengraph: emit Open Graph metadata per page. Pin `ogp_site_url` # to `html_baseurl` so the `og:url` tag tracks the same canonical URL as # Sphinx's ``. If `ogp_site_url` were left unset, the # extension would fall back to Read the Docs' `READTHEDOCS_CANONICAL_URL` # env var (set by RtD's Addons framework from the project's "Canonical # version" admin setting), which can diverge from `html_baseurl`. Per-page # `:og:description:` and `:og:image:` can still be set in individual files. ogp_site_url = html_baseurl # This pattern matches: # - Python Repl prompts (">>> ") and it's continuation ("... ") # - Bash prompts ("$ ") # - IPython prompts ("In []: ", "In [999]: ") and it's continuations # (" ...: ", " : ") copybutton_prompt_text = r">>> |\.\.\. |\$ |In \[\d*\]: | {2,5}\.\.\.: | {5,8}: " copybutton_prompt_is_regexp = True # Ignore divs with class="no-copybutton" copybutton_selector = "div:not(.no-copybutton) > div.highlight > pre" # By default, tabs can be closed by selecting an open tab. We disable this # functionality with the `sphinx_tabs_disable_tab_closing` option. sphinx_tabs_disable_tab_closing = True # Special mocking of packaging.version.Version is required when using sphinx; # we can't just add this to autodoc_mock_imports, as packaging is imported by # sphinx even before it can be mocked. Instead, we patch it here. import packaging.version as packaging_version # noqa Version = packaging_version.Version class MockVersion(Version): def __init__(self, version: str): if isinstance(version, (str, bytes)): super().__init__(version) else: super().__init__("0") packaging_version.Version = MockVersion # Add any paths that contain templates here, relative to this directory. templates_path = ["_templates"] # The master toctree document. master_doc = "index" # General information about the project. project = "Ray" copyright = str(datetime.now().year) + ", The Ray Team" author = "The Ray Team" # The version info for the project you're documenting acts as replacement for # |version| and |release|, and is also used in various other places throughout the # built documents. Retrieve the version using `find_version` rather than importing # directly (from ray import __version__) because initializing ray will prevent # mocking of certain external dependencies. from setup import find_version # noqa release = find_version("ray", "_version.py") language = "en" # autogen files are only used to auto-generate public API documentation. # They are not included in the toctree to avoid warnings such as documents not included # in any toctree. autogen_files = [ "data/api/_autogen.rst", ] # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. # Also helps resolve warnings about documents not included in any toctree. exclude_patterns = [ "templates/*", "cluster/running-applications/doc/ray.*", "data/api/ray.data.*.rst", # Hide README.md used for display on the console (anyscale templates) "serve/tutorials/**/content/**README.md", "data/examples/**/content/**README.md", "ray-overview/examples/**/content/**README.md", "ray-core/examples/**/content/**README.md", "train/examples/**/content/**README.md", "tune/examples/**/content/**README.md", # Other misc files (overviews, console-only examples, etc) "serve/tutorials/video-analysis/*.ipynb", # Legacy/backward compatibility "ray-overview/examples/**/README.md", "train/examples/**/README.md", "_collections/serve/tutorials/deployment-serve-llm/README.*", "_collections/serve/tutorials/deployment-serve-llm/*.ipynb", "_collections/serve/tutorials/deployment-serve-llm/**/*.ipynb", # Each template ships README.md + README.ipynb at the same docname; keep # only the .md and exclude the duplicate .ipynb at the template root and # in any sub-template directories. The template root README.md is the # actual content page that toctrees / examples.yml refer to. *[ pattern for coll in _TEMPLATE_COLLECTIONS.values() for pattern in ( f"_collections/{coll['target']}/README.ipynb", f"_collections/{coll['target']}/**/README.ipynb", ) ], # ray_train_workloads bundles sub-folder READMEs that aren't part of any # toctree (only the notebooks are). Exclude them to avoid orphan warnings. # Keep the root README.* — train.rst's toctree and tutorials button both # link to /_collections/train/tutorials/README. "_collections/train/tutorials/*/README.*", # one-level sidecars (getting-started, workload-patterns) "_collections/train/tutorials/*/**/README.*", # deeper sidecars, if any # Sidecar README.md files in fetched template dirs duplicate the canonical # notebook that the gallery / toctree already links to. Exclude to avoid # orphan warnings without losing reachable content. "_collections/serve/tutorials/asynchronous-inference/README.md", "_collections/tune/examples/tune_pytorch_asha/README.md", # llamafactory: master excludes the in-tree paths only, but this branch # also pulls a copy via sphinx-collections (see _TEMPLATE_COLLECTIONS). # Mirror the in-tree patterns under _collections/ so the fetched copy # is suppressed too. The template has no landing page on docs.ray.io. "_collections/ray-overview/examples/llamafactory-llm-fine-tune/README.*", "_collections/ray-overview/examples/llamafactory-llm-fine-tune/**/*.ipynb", ] + autogen_files # If "DOC_LIB" is found, only build that top-level navigation item. build_one_lib = os.getenv("DOC_LIB") all_toc_libs = [ f.path.strip("./") for f in os.scandir(".") if f.is_dir() and "ray-" in f.path ] all_toc_libs += [ "cluster", "tune", "data", "train", "rllib", "serve", "llm", "workflows", ] if build_one_lib and build_one_lib in all_toc_libs: all_toc_libs.remove(build_one_lib) exclude_patterns += all_toc_libs # If true, `todo` and `todoList` produce output, else they produce nothing. todo_include_todos = False # Do not check anchors for links because it produces many false positives # and is slow (it needs to download the linked website). linkcheck_anchors = False if os.environ.get("LINKCHECK_ALL"): # Only check external links, i.e. the ones starting with http:// or https://. linkcheck_ignore = [ r"^((?!http).)*$", # exclude links not starting with http "http://ala2017.it.nuigalway.ie/papers/ALA2017_Gupta.pdf", # broken "https://mvnrepository.com/artifact/*", # working but somehow not with linkcheck # This should be fixed -- is temporal the successor of cadence? Do the examples need to be updated? "https://github.com/serverlessworkflow/specification/blob/main/comparisons/comparison-cadence.md", "https://www.oracle.com/java/technologies/javase-jdk15-downloads.html", # forbidden for client "https://speakerdeck.com/*", # forbidden for bots r"https://huggingface.co/*", # seems to be flaky r"https://www.meetup.com/*", # seems to be flaky r"https://www.pettingzoo.ml/*", # seems to be flaky r"http://localhost[:/].*", # Ignore localhost links r"^http:/$", # Ignore incomplete links # 403 Client Error: Forbidden for url. # They ratelimit bots. "https://www.datanami.com/2018/02/01/rays-new-library-targets-high-speed-reinforcement-learning/", # 403 Client Error: Forbidden for url. # They ratelimit bots. "https://www.researchgate.net/publication/222573328_Stochastic_Gradient_Boosting", "https://www.datanami.com/2019/11/05/why-every-python-developer-will-love-ray/", "https://dev.mysql.com/doc/connector-python/en/", # Returning 522s intermittently. "https://lczero.org/", # Returns 406 but remains accessible "https://www.uber.com/blog/elastic-xgboost-ray/", # Aggressive anti-bot checks "https://archive.vn/*", "https://archive.is/*", # 429: Rate limited "https://medium.com/*", "https://towardsdatascience.com/*", ] else: # Only check links that point to the ray-project org on github, since those # links are under our control and therefore much more likely to be real # issues that we need to fix if they are broken. linkcheck_ignore = [ r"^(?!https://(raw\.githubusercontent|github)\.com/ray-project/).*$" ] # -- Options for HTML output ---------------------------------------------- def render_svg_logo(path): with open(pathlib.Path(__file__).parent / path, "r") as f: content = f.read() return content # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. html_theme = "pydata_sphinx_theme" # Theme options are theme-specific and customize the look and feel of a theme # further. For a list of options available for each theme, see the # documentation. html_theme_options = { "use_edit_page_button": True, "announcement": """Try Ray with $100 credit — Start now""", "logo": { "svg": render_svg_logo("_static/img/ray_logo.svg"), }, "navbar_start": ["navbar-ray-logo"], "navbar_end": [ "theme-switcher", "version-switcher", "navbar-icon-links", "navbar-anyscale", ], "navbar_center": ["navbar-links"], "navbar_align": "left", "secondary_sidebar_items": [ "page-toc", "edit-on-github", ], "content_footer_items": [ "csat", ], "navigation_depth": 4, "pygments_light_style": "stata-dark", "pygments_dark_style": "stata-dark", "switcher": { "json_url": "https://docs.ray.io/en/master/_static/versions.json", "version_match": os.getenv("READTHEDOCS_VERSION", "master"), }, } html_context = { "github_user": "ray-project", "github_repo": "ray", "github_version": "master", "doc_path": "doc/source/", } html_sidebars = { "**": [ ( "main-sidebar-readthedocs" if os.getenv("READTHEDOCS") == "True" else "main-sidebar" ) ], "ray-overview/examples": [], } # The name for this set of Sphinx documents. If None, it defaults to # " v documentation". html_title = f"Ray {release}" autodoc_typehints_format = "short" # The name of an image file (within the static path) to use as favicon of the # docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 # pixels large. html_favicon = "_static/favicon.ico" # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". html_static_path = ["_static"] # Output file base name for HTML help builder. htmlhelp_basename = "Raydoc" # -- Options for LaTeX output --------------------------------------------- latex_elements = { # The paper size ('letterpaper' or 'a4paper'). # 'papersize': 'letterpaper', # The font size ('10pt', '11pt' or '12pt'). # 'pointsize': '10pt', # Additional stuff for the LaTeX preamble. # 'preamble': '', # Latex figure (float) alignment # 'figure_align': 'htbp', } latex_documents = [ (master_doc, "Ray.tex", "Ray Documentation", author, "manual"), ] # -- Options for manual page output --------------------------------------- man_pages = [(master_doc, "ray", "Ray Documentation", [author], 1)] # -- Options for Texinfo output ------------------------------------------- texinfo_documents = [ ( master_doc, "Ray", "Ray Documentation", author, "Ray", "Ray provides a simple, universal API for building distributed applications.", "Miscellaneous", ), ] # Python methods should be presented in source code order autodoc_member_order = "bysource" # Better typehint formatting (see custom.css) autodoc_typehints = "signature" def filter_out_undoc_class_members(member_name, class_name, module_name): module = import_module(module_name) cls = getattr(module, class_name) if getattr(cls, member_name).__doc__: return f"~{class_name}.{member_name}" else: return "" def has_public_constructor(class_name, module_name): cls = getattr(import_module(module_name), class_name) return _is_public_api(cls) def get_api_groups(method_names, class_name, module_name): api_groups = set() cls = getattr(import_module(module_name), class_name) for method_name in method_names: method = getattr(cls, method_name) if _is_public_api(method): api_groups.add( safe_getattr(method, "_annotated_api_group", DEFAULT_API_GROUP) ) return sorted(api_groups) def select_api_group(method_names, class_name, module_name, api_group): cls = getattr(import_module(module_name), class_name) return [ method_name for method_name in method_names if _is_public_api(getattr(cls, method_name)) and _is_api_group(getattr(cls, method_name), api_group) ] def _is_public_api(obj): api_type = safe_getattr(obj, "_annotated_type", None) if not api_type: return False return api_type.value == "PublicAPI" def _is_api_group(obj, group): return safe_getattr(obj, "_annotated_api_group", DEFAULT_API_GROUP) == group FILTERS["filter_out_undoc_class_members"] = filter_out_undoc_class_members FILTERS["get_api_groups"] = get_api_groups FILTERS["select_api_group"] = select_api_group FILTERS["has_public_constructor"] = has_public_constructor def add_custom_assets( app: sphinx.application.Sphinx, pagename: str, templatename: str, context: Dict[str, Any], doctree: nodes.Node, ): """Add custom per-page assets. See documentation on Sphinx Core Events for more information: https://www.sphinx-doc.org/en/master/extdev/appapi.html#sphinx-core-events """ if pagename == "index": app.add_css_file("css/index.css") app.add_js_file("js/index.js") return "index.html" # Use the special index.html template for this page if pagename == "ray-overview/examples": app.add_css_file("css/examples.css") app.add_js_file("js/examples.js") return "ray-overview/examples.html" if pagename in [ "data/examples", "train/examples", "serve/examples", ]: return "examples.html" if pagename == "train/train": app.add_css_file("css/ray-train.css") elif pagename == "ray-overview/ray-libraries": app.add_css_file("css/ray-libraries.css") elif pagename == "ray-overview/use-cases": app.add_css_file("css/use_cases.css") def _autogen_apis(app: sphinx.application.Sphinx): """ Auto-generate public API documentation. """ try: generate.generate_autosummary_docs( [os.path.join(app.srcdir, file) for file in autogen_files], app=app, ) except Exception as e: import warnings warnings.warn(f"Skipping autogen due to: {e}") def process_signature(app, what, name, obj, options, signature, return_annotation): # Sphinx is unable to render dataclass with factory/`field` # https://github.com/sphinx-doc/sphinx/issues/10893 if what == "class" and is_dataclass(obj): return signature.replace("", "..."), return_annotation def setup(app): # Only generate versions JSON during RTD build if os.getenv("READTHEDOCS") == "True": generate_versions_json() pregenerate_example_rsts(app) # NOTE: 'MOCK' is a custom option we introduced to illustrate mock outputs. Since # `doctest` doesn't support this flag by default, `sphinx.ext.doctest` raises # warnings when we build the documentation. import doctest doctest.register_optionflag("MOCK") app.connect("html-page-context", update_context) app.add_config_value("navbar_content_path", "navbar.yml", "env") app.connect("config-inited", parse_navbar_config) app.connect("html-page-context", setup_context) app.connect("html-page-context", add_custom_assets) # https://github.com/ines/termynal app.add_js_file("js/termynal.js", defer="defer") app.add_css_file("css/termynal.css") app.add_js_file("js/custom.js", defer="defer") app.add_css_file("css/custom.css", priority=800) app.add_js_file("js/csat.js", defer="defer") app.add_css_file("css/csat.css") app.add_js_file("js/dismissable-banner.js", defer="defer") app.add_css_file("css/dismissable-banner.css") base_path = pathlib.Path(__file__).parent github_docs = DownloadAndPreprocessEcosystemDocs(base_path) # Download docs from ecosystem library repos app.connect("builder-inited", github_docs.write_new_docs) # Restore original file content after build app.connect("build-finished", github_docs.write_original_docs) # Hook into the logger used by linkcheck to display a summary at the end. linkcheck_summarizer = LinkcheckSummarizer() app.connect("builder-inited", linkcheck_summarizer.add_handler_to_linkcheck) app.connect("build-finished", linkcheck_summarizer.summarize) # Hook into the auto generation of public apis app.connect("builder-inited", _autogen_apis) app.connect("autodoc-process-signature", process_signature) class DuplicateObjectFilter(logging.Filter): def filter(self, record): # Intentionally allow duplicate object description of ray.actor.ActorMethod.bind: # once in Ray Core API and once in Compiled Graph API if "duplicate object description of ray.actor.ActorMethod.bind" in record.getMessage(): return False # Don't log this specific warning return True # Log all other warnings logging.getLogger("sphinx").addFilter(DuplicateObjectFilter()) # Register hook to mark orphan documents example_orphan_documents = collect_example_orphans(app.confdir, app.srcdir) def mark_orphans(app, docname, _source): if docname in example_orphan_documents: app.env.metadata.setdefault(docname, {}) app.env.metadata[docname]["orphan"] = True app.connect('source-read', mark_orphans) # Fix code-block language tags in _collections markdown files. # Notebooks converted to markdown tag Jupyter magic shell commands # (e.g. ``!serve run ...``) as ``python`` code blocks, which causes # Sphinx highlighting warnings. Re-tag them as ``ipython3`` so the # python parts stay highlighted as python and ``!magic`` / ``%magic`` # lines render as shell. _MAGIC_CODE_BLOCK_RE = re.compile(r"```python\n((?:#[^\n]*\n)*)([!%]\S)") def fix_collections_code_blocks(app, docname, source): if docname.startswith("_collections/"): source[0] = _MAGIC_CODE_BLOCK_RE.sub(r"```ipython3\n\1\2", source[0]) app.connect('source-read', fix_collections_code_blocks) app.add_config_value("ipython3_lexer_patterns", [], "env") app.add_config_value("ipython3_lexer_exclude_patterns", [], "env") app.connect("config-inited", _compile_pattern_matchers) app.connect("source-read", apply_ipython3_lexer) redoc = [ { "name": "Ray Jobs API", "page": "cluster/running-applications/job-submission/api", "spec": "cluster/running-applications/job-submission/openapi.yml", "embed": True, }, ] redoc_uri = "https://cdn.redoc.ly/redoc/latest/bundles/redoc.standalone.js" autosummary_filename_map = { "ray.serve.deployment": "ray.serve.deployment_decorator", "ray.serve.Deployment": "ray.serve.Deployment", } # Mock out external dependencies here. autodoc_mock_imports = [ "aiohttp", "async_timeout", "backoff", "cachetools", "comet_ml", "composer", "cupy", "dask", "datasets", "fastapi", "filelock", "fsspec", "google", "grpc", "gymnasium", "horovod", "huggingface", "httpx", "joblib", "lightgbm", "lightgbm_ray", "mlflow", "nevergrad", "numpy", "pandas", "pyarrow", "pyarrow.compute", "pytorch_lightning", "scipy", "setproctitle", "skimage", "sklearn", "starlette", "tensorflow", "torch", "torchvision", "transformers", "tree", "typer", "uvicorn", "wandb", "watchfiles", "openai", "xgboost", "xgboost_ray", "psutil", "colorama", "grpc", "vllm", # Internal compiled modules "ray._raylet", "ray.core.generated", "ray.serve.generated", ] for mock_target in autodoc_mock_imports: if mock_target in sys.modules: logger.info( f"Potentially problematic mock target ({mock_target}) found; " "autodoc_mock_imports cannot mock modules that have already " "been loaded into sys.modules when the sphinx build starts." ) # Other sphinx docs can be linked to if the appropriate URL to the docs # is specified in the `intersphinx_mapping` - for example, types annotations # that are defined in dependencies can link to their respective documentation. intersphinx_mapping = { "aiohttp": ("https://docs.aiohttp.org/en/stable/", None), "composer": ("https://docs.mosaicml.com/en/latest/", None), "dask": ("https://docs.dask.org/en/stable/", None), "datasets": ("https://huggingface.co/docs/datasets/main/en/", None), "distributed": ("https://distributed.dask.org/en/stable/", None), "grpc": ("https://grpc.github.io/grpc/python/", None), "gymnasium": ("https://gymnasium.farama.org/", None), "horovod": ("https://horovod.readthedocs.io/en/stable/", None), "lightgbm": ("https://lightgbm.readthedocs.io/en/latest/", None), "mars": ("https://mars-project.readthedocs.io/en/latest/", None), "modin": ("https://modin.readthedocs.io/en/stable/", None), "nevergrad": ("https://facebookresearch.github.io/nevergrad/", None), "numpy": ("https://numpy.org/doc/stable/", None), "pandas": ( "https://pandas.pydata.org/pandas-docs/stable/", "https://github.com/ray-project/pandas/releases/download/object-mirror-0.1.0/objects.inv", ), "pyarrow": ("https://arrow.apache.org/docs", None), "pydantic": ("https://docs.pydantic.dev/latest/", None), "pymongoarrow": ("https://mongo-arrow.readthedocs.io/en/latest/", None), "pyspark": ("https://spark.apache.org/docs/latest/api/python/", None), "python": ("https://docs.python.org/3", None), "pytorch_lightning": ("https://lightning.ai/docs/pytorch/stable/", None), "scipy": ( "https://docs.scipy.org/doc/scipy/", "https://github.com/ray-project/scipy/releases/download/object-mirror-0.1.0/objects.inv", ), "sklearn": ("https://scikit-learn.org/stable/", None), "tensorflow": ( "https://www.tensorflow.org/api_docs/python", "https://raw.githubusercontent.com/GPflow/tensorflow-intersphinx/master/tf2_py_objects.inv", ), "torch": ( "https://docs.pytorch.org/docs/stable/", "https://docs.pytorch.org/docs/2.7/objects.inv", ), "torchvision": ("https://pytorch.org/vision/stable/", None), "transformers": ("https://huggingface.co/docs/transformers/main/en/", None), } intersphinx_timeout = 15 # Ray must not be imported in conf.py because third party modules initialized by # `import ray` will no be mocked out correctly. Perform a check here to ensure # ray is not imported by future maintainers. assert ( "ray" not in sys.modules ), "If ray is already imported, we will not render documentation correctly!" os.environ["RAY_DOC_BUILD"] = "1" ipython3_lexer_patterns = [ # External templates fetched by sphinx_collections (see #62179) land here at # build time; their notebook JSON has no language_info, so Sphinx defaults # to the python3 lexer and chokes on !pip / %magic cells. "_collections/**/*.ipynb", "ray-overview/examples/**/content/**.ipynb", "serve/tutorials/**/content/**.ipynb", "data/examples/**/content/**.ipynb", "tune/examples/**/content/**.ipynb", ] ipython3_lexer_exclude_patterns = [] def _compile_pattern_matchers(app, config): app.ipython3_lexer_patterns = compile_matchers( config.ipython3_lexer_patterns or [] ) app.ipython3_lexer_exclude_patterns = compile_matchers( config.ipython3_lexer_exclude_patterns or [] ) def apply_ipython3_lexer(app, docname, source): """Force the ipython3 pygments lexer on notebooks matching ``ipython3_lexer_patterns`` (minus ``ipython3_lexer_exclude_patterns``). Sphinx + myst-nb otherwise default to the python3 lexer, which fails on ``!shell`` and ``%magic`` cells and is fatal under Readthedocs ``-W``. """ doc_source = app.env.doc2path(docname, base=False) if not doc_source.endswith(".ipynb"): return if any(m(doc_source) for m in app.ipython3_lexer_exclude_patterns): return if not any(m(doc_source) for m in app.ipython3_lexer_patterns): return notebook = json.loads(source[0]) lang_info = notebook.setdefault("metadata", {}).setdefault("language_info", {}) if lang_info.get("pygments_lexer") != "ipython3": lang_info["pygments_lexer"] = "ipython3" source[0] = json.dumps(notebook, ensure_ascii=False) [rtd-command-info] start-time: 2026-06-11T23:12:26.781865Z, end-time: 2026-06-11T23:20:52.942707Z, duration: 506, exit-code: 0 python -m sphinx -T -W --keep-going -j auto -b html -d _build/doctrees -D language=en . $READTHEDOCS_OUTPUT/html Running Sphinx v7.3.7 /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/envs/master/lib/python3.10/site-packages/sphinxcontrib/redoc.py:18: UserWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html. The pkg_resources package is slated for removal as early as 2025-11-30. Refrain from using this package or pin to Setuptools<81. import pkg_resources matplotlib is not installed, social cards will not be generated making output directory... done DocSearch: set up... done Read in collections ... asynchronous_inference: Initialised audio-dataset-curation-llm-judge: Initialised deepspeed_finetune: Initialised deployment-serve-llm: Initialised distributing-pytorch: Initialised e2e-rag-deepdive: Initialised e2e-timeseries-forecasting: Initialised entity-recognition-with-llms: Initialised image-search-and-classification: Initialised llm_batch_inference_text: Initialised llm_batch_inference_vision: Initialised langchain-agent-ray-serve: Initialised llm_finetuning: Initialised multi_agent_a2a: Initialised mcp-ray-serve: Initialised model-composition-recsys: Initialised model-multiplexing: Initialised object-detection-video-processing: Initialised ray_train_workloads: Initialised pytorch-fsdp: Initialised pytorch-profiling: Initialised tensor_parallel_autotp: Initialised tensor_parallel_dtensor: Initialised tune_pytorch_asha: Initialised unstructured_data_ingestion: Initialised xgboost-training-and-serving: Initialised Clean collections ... Executing collections ... asynchronous_inference: (FunctionDriver) Run function... audio-dataset-curation-llm-judge: (FunctionDriver) Run function... deepspeed_finetune: (FunctionDriver) Run function... deployment-serve-llm: (FunctionDriver) Run function... distributing-pytorch: (FunctionDriver) Run function... e2e-rag-deepdive: (FunctionDriver) Run function... e2e-timeseries-forecasting: (FunctionDriver) Run function... entity-recognition-with-llms: (FunctionDriver) Run function... image-search-and-classification: (FunctionDriver) Run function... llm_batch_inference_text: (FunctionDriver) Run function... llm_batch_inference_vision: (FunctionDriver) Run function... langchain-agent-ray-serve: (FunctionDriver) Run function... llm_finetuning: (FunctionDriver) Run function... multi_agent_a2a: (FunctionDriver) Run function... mcp-ray-serve: (FunctionDriver) Run function... model-composition-recsys: (FunctionDriver) Run function... model-multiplexing: (FunctionDriver) Run function... object-detection-video-processing: (FunctionDriver) Run function... ray_train_workloads: (FunctionDriver) Run function... pytorch-fsdp: (FunctionDriver) Run function... pytorch-profiling: (FunctionDriver) Run function... tensor_parallel_autotp: (FunctionDriver) Run function... tensor_parallel_dtensor: (FunctionDriver) Run function... tune_pytorch_asha: (FunctionDriver) Run function... unstructured_data_ingestion: (FunctionDriver) Run function... xgboost-training-and-serving: (FunctionDriver) Run function... myst v2.0.0: MdParserConfig(commonmark_only=False, gfm_only=False, enable_extensions={'amsmath', 'replacements', 'deflist', 'colon_fence', 'dollarmath', 'html_image', 'html_admonition', 'smartquotes'}, disable_syntax=[], all_links_external=False, url_schemes=('http', 'https', 'mailto', 'ftp'), ref_domains=None, fence_as_directive=set(), number_code_blocks=[], title_to_header=False, heading_anchors=3, heading_slug_func=None, html_meta={}, footnote_transition=True, words_per_minute=200, substitutions={}, linkify_fuzzy_links=True, dmath_allow_labels=True, dmath_allow_space=True, dmath_allow_digits=True, dmath_double_inline=False, update_mathjax=True, mathjax_classes='tex2jax_process|mathjax_process|math|output_area', enable_checkboxes=False, suppress_warnings=[], highlight_code_blocks=True) myst-nb v1.4.0: NbParserConfig(custom_formats={}, metadata_key='mystnb', cell_metadata_key='mystnb', kernel_rgx_aliases={}, eval_name_regex='^[a-zA-Z_][a-zA-Z0-9_]*$', execution_mode='off', execution_cache_path='', execution_excludepatterns=(), execution_timeout=30, execution_in_temp=False, execution_allow_errors=False, execution_raise_on_error=False, execution_show_tb=False, merge_streams=False, render_plugin='default', remove_code_source=False, remove_code_outputs=False, scroll_outputs=False, code_prompt_show='Show code cell {type}', code_prompt_hide='Hide code cell {type}', number_source_lines=False, output_stderr='show', render_text_lexer='myst-ansi', render_error_lexer='ipythontb', render_image_options={}, render_figure_options={}, render_markdown_format='commonmark', output_folder='build', append_css=True, metadata_to_fm=False) Using jupyter-cache at: /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/_readthedocs/.jupyter_cache [autosummary] generating autosummary for: _collections/data/examples/llm_batch_inference_text/README.md, _collections/data/examples/llm_batch_inference_vision/README.md, _collections/data/examples/unstructured_data_ingestion/README.md, _collections/ray-overview/examples/e2e-audio/README.md, _collections/ray-overview/examples/e2e-multimodal-ai-workloads/README.md, _collections/ray-overview/examples/e2e-multimodal-ai-workloads/notebooks/01-Batch-Inference.ipynb, _collections/ray-overview/examples/e2e-multimodal-ai-workloads/notebooks/02-Distributed-Training.ipynb, _collections/ray-overview/examples/e2e-multimodal-ai-workloads/notebooks/03-Online-Serving.ipynb, _collections/ray-overview/examples/e2e-rag/README.md, _collections/ray-overview/examples/e2e-rag/notebooks/01_(Optional)_Regular_Document_Processing_Pipeline.ipynb, ..., tune/tutorials/tune-metrics.rst, tune/tutorials/tune-output.rst, tune/tutorials/tune-resources.rst, tune/tutorials/tune-run.rst, tune/tutorials/tune-scalability.rst, tune/tutorials/tune-search-spaces.rst, tune/tutorials/tune-stopping.rst, tune/tutorials/tune-storage.rst, tune/tutorials/tune-trial-checkpoints.rst, tune/tutorials/tune_get_data_in_and_out.md 2026-06-11 23:12:34,279 WARNING compression.py:17 -- lz4 not available, disabling sample compression. This will significantly impact RLlib performance. To install lz4, run `pip install lz4`. 2026-06-11 23:12:39,814 WARNING distributions.py:4 -- DeprecationWarning: `ray.rllib.models.distributions.Distribution` has been deprecated. Use `ray.rllib.core.distribution.distribution.Distribution` instead. This will raise an error in the future! [autosummary] generating autosummary for: /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/cluster/running-applications/job-submission/doc/ray.job_submission.DriverInfo.rst, /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/cluster/running-applications/job-submission/doc/ray.job_submission.JobDetails.rst, /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/cluster/running-applications/job-submission/doc/ray.job_submission.JobInfo.rst, /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/cluster/running-applications/job-submission/doc/ray.job_submission.JobStatus.rst, /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/cluster/running-applications/job-submission/doc/ray.job_submission.JobSubmissionClient.delete_job.rst, /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/cluster/running-applications/job-submission/doc/ray.job_submission.JobSubmissionClient.get_job_info.rst, /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/cluster/running-applications/job-submission/doc/ray.job_submission.JobSubmissionClient.get_job_logs.rst, /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/cluster/running-applications/job-submission/doc/ray.job_submission.JobSubmissionClient.get_job_status.rst, /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/cluster/running-applications/job-submission/doc/ray.job_submission.JobSubmissionClient.list_jobs.rst, /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/cluster/running-applications/job-submission/doc/ray.job_submission.JobSubmissionClient.rst, ..., /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/tune/api/doc/ray.tune.stopper.TrialPlateauStopper.rst, /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/tune/api/doc/ray.tune.stopper.function_stopper.FunctionStopper.rst, /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/tune/api/doc/ray.tune.stopper.noop.NoopStopper.rst, /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/tune/api/doc/ray.tune.uniform.rst, /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/tune/api/doc/ray.tune.utils.diagnose_serialization.rst, /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/tune/api/doc/ray.tune.utils.util.validate_warmstart.rst, /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/tune/api/doc/ray.tune.utils.validate_save_restore.rst, /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/tune/api/doc/ray.tune.utils.wait_for_gpu.rst, /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/tune/api/doc/ray.tune.with_parameters.rst, /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/tune/api/doc/ray.tune.with_resources.rst [autosummary] generating autosummary for: /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/cluster/running-applications/job-submission/doc/ray.job_submission.JobInfo.driver_agent_http_address.rst, /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/cluster/running-applications/job-submission/doc/ray.job_submission.JobInfo.driver_exit_code.rst, /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/cluster/running-applications/job-submission/doc/ray.job_submission.JobInfo.driver_node_id.rst, /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/cluster/running-applications/job-submission/doc/ray.job_submission.JobInfo.end_time.rst, /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/cluster/running-applications/job-submission/doc/ray.job_submission.JobInfo.entrypoint.rst, /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/cluster/running-applications/job-submission/doc/ray.job_submission.JobInfo.entrypoint_memory.rst, /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/cluster/running-applications/job-submission/doc/ray.job_submission.JobInfo.entrypoint_num_cpus.rst, /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/cluster/running-applications/job-submission/doc/ray.job_submission.JobInfo.entrypoint_num_gpus.rst, /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/cluster/running-applications/job-submission/doc/ray.job_submission.JobInfo.entrypoint_resources.rst, /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/cluster/running-applications/job-submission/doc/ray.job_submission.JobInfo.error_type.rst, ..., /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/tune/api/doc/ray.tune.search.zoopt.ZOOptSearch.on_trial_complete.rst, /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/tune/api/doc/ray.tune.search.zoopt.ZOOptSearch.on_trial_result.rst, /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/tune/api/doc/ray.tune.search.zoopt.ZOOptSearch.optimizer.rst, /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/tune/api/doc/ray.tune.search.zoopt.ZOOptSearch.restore_from_dir.rst, /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/tune/api/doc/ray.tune.search.zoopt.ZOOptSearch.save_to_dir.rst, /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/tune/api/doc/ray.tune.search.zoopt.ZOOptSearch.set_max_concurrency.rst, /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/tune/api/doc/ray.tune.stopper.ExperimentPlateauStopper.stop_all.rst, /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/tune/api/doc/ray.tune.stopper.Stopper.__init__.rst, /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/tune/api/doc/ray.tune.stopper.Stopper.stop_all.rst, /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/tune/api/doc/ray.tune.stopper.noop.NoopStopper.__init__.rst loading intersphinx inventory from https://docs.aiohttp.org/en/stable/objects.inv... loading intersphinx inventory from https://docs.mosaicml.com/en/latest/objects.inv... loading intersphinx inventory from https://docs.dask.org/en/stable/objects.inv... loading intersphinx inventory from https://huggingface.co/docs/datasets/main/en/objects.inv... loading intersphinx inventory from https://distributed.dask.org/en/stable/objects.inv... loading intersphinx inventory from https://grpc.github.io/grpc/python/objects.inv... loading intersphinx inventory from https://gymnasium.farama.org/objects.inv... loading intersphinx inventory from https://horovod.readthedocs.io/en/stable/objects.inv... loading intersphinx inventory from https://lightgbm.readthedocs.io/en/latest/objects.inv... loading intersphinx inventory from https://mars-project.readthedocs.io/en/latest/objects.inv... loading intersphinx inventory from https://modin.readthedocs.io/en/stable/objects.inv... loading intersphinx inventory from https://facebookresearch.github.io/nevergrad/objects.inv... loading intersphinx inventory from https://numpy.org/doc/stable/objects.inv... loading intersphinx inventory from https://github.com/ray-project/pandas/releases/download/object-mirror-0.1.0/objects.inv... loading intersphinx inventory from https://arrow.apache.org/docs/objects.inv... loading intersphinx inventory from https://docs.pydantic.dev/latest/objects.inv... loading intersphinx inventory from https://mongo-arrow.readthedocs.io/en/latest/objects.inv... loading intersphinx inventory from https://spark.apache.org/docs/latest/api/python/objects.inv... loading intersphinx inventory from https://docs.python.org/3/objects.inv... loading intersphinx inventory from https://lightning.ai/docs/pytorch/stable/objects.inv... loading intersphinx inventory from https://github.com/ray-project/scipy/releases/download/object-mirror-0.1.0/objects.inv... loading intersphinx inventory from https://scikit-learn.org/stable/objects.inv... intersphinx inventory has moved: https://docs.pydantic.dev/latest/objects.inv -> https://pydantic.dev/docs/validation/latest/objects.inv loading intersphinx inventory from https://raw.githubusercontent.com/GPflow/tensorflow-intersphinx/master/tf2_py_objects.inv... intersphinx inventory has moved: https://github.com/ray-project/pandas/releases/download/object-mirror-0.1.0/objects.inv -> https://release-assets.githubusercontent.com/github-production-release-asset/1181199676/1d30503b-a62d-44be-82b5-be2b3b8ebcd3?sp=r&sv=2018-11-09&sr=b&spr=https&se=2026-06-12T00%3A07%3A04Z&rscd=attachment%3B+filename%3Dobjects.inv&rsct=application%2Foctet-stream&skoid=96c2d410-5711-43a1-aedd-ab1947aa7ab0&sktid=398a6654-997b-47e9-b12b-9515b896b4de&skt=2026-06-11T23%3A06%3A58Z&ske=2026-06-12T00%3A07%3A04Z&sks=b&skv=2018-11-09&sig=sCNdprBjGu4EBUZd1zBasOJfu3QXaJ0GcaHh2VBT9Fs%3D&jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmVsZWFzZS1hc3NldHMuZ2l0aHVidXNlcmNvbnRlbnQuY29tIiwia2V5Ijoia2V5MSIsImV4cCI6MTc4MTIxOTg2NiwibmJmIjoxNzgxMjE5NTY2LCJwYXRoIjoicmVsZWFzZWFzc2V0cHJvZHVjdGlvbi5ibG9iLmNvcmUud2luZG93cy5uZXQifQ.s03ta7mhLOe57b_4LuHXZuGr19FyJGleq5TG8IFJRSw&response-content-disposition=attachment%3B%20filename%3Dobjects.inv&response-content-type=application%2Foctet-stream loading intersphinx inventory from https://docs.pytorch.org/docs/2.7/objects.inv... intersphinx inventory has moved: https://github.com/ray-project/scipy/releases/download/object-mirror-0.1.0/objects.inv -> https://release-assets.githubusercontent.com/github-production-release-asset/1077901578/01889560-0c8f-464a-937a-c89eb9231277?sp=r&sv=2018-11-09&sr=b&spr=https&se=2026-06-12T00%3A09%3A51Z&rscd=attachment%3B+filename%3Dobjects.inv&rsct=application%2Foctet-stream&skoid=96c2d410-5711-43a1-aedd-ab1947aa7ab0&sktid=398a6654-997b-47e9-b12b-9515b896b4de&skt=2026-06-11T23%3A09%3A03Z&ske=2026-06-12T00%3A09%3A51Z&sks=b&skv=2018-11-09&sig=ANVtFIIXj3HE0MJEb61cI8uRVrhwoTLzVmgn77zXZlc%3D&jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmVsZWFzZS1hc3NldHMuZ2l0aHVidXNlcmNvbnRlbnQuY29tIiwia2V5Ijoia2V5MSIsImV4cCI6MTc4MTIxOTg2NiwibmJmIjoxNzgxMjE5NTY2LCJwYXRoIjoicmVsZWFzZWFzc2V0cHJvZHVjdGlvbi5ibG9iLmNvcmUud2luZG93cy5uZXQifQ.s03ta7mhLOe57b_4LuHXZuGr19FyJGleq5TG8IFJRSw&response-content-disposition=attachment%3B%20filename%3Dobjects.inv&response-content-type=application%2Foctet-stream loading intersphinx inventory from https://pytorch.org/vision/stable/objects.inv... loading intersphinx inventory from https://huggingface.co/docs/transformers/main/en/objects.inv... intersphinx inventory has moved: https://pytorch.org/vision/stable/objects.inv -> https://docs.pytorch.org/vision/stable/objects.inv [autosummary] generating autosummary for: /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/data/api/_autogen.rst [autosummary] generating autosummary for: /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/data/api/ray.data.DataIterator.rst, /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/data/api/ray.data.Dataset.rst, /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/data/api/ray.data.Schema.rst, /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/data/api/ray.data.aggregate.AggregateFn.rst, /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/data/api/ray.data.aggregate.AggregateFnV2.rst, /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/data/api/ray.data.grouped_data.GroupedData.rst, /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/data/api/ray.data.stats.DatasetSummary.rst [autosummary] generating autosummary for: /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/data/api/doc/ray.data.DataIterator.iter_batches.rst, /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/data/api/doc/ray.data.DataIterator.iter_jax_batches.rst, /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/data/api/doc/ray.data.DataIterator.iter_rows.rst, /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/data/api/doc/ray.data.DataIterator.iter_torch_batches.rst, /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/data/api/doc/ray.data.DataIterator.materialize.rst, /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/data/api/doc/ray.data.DataIterator.stats.rst, /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/data/api/doc/ray.data.DataIterator.to_tf.rst, /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/data/api/doc/ray.data.Dataset.aggregate.rst, /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/data/api/doc/ray.data.Dataset.columns.rst, /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/data/api/doc/ray.data.Dataset.count.rst, ..., /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/data/api/doc/ray.data.Dataset.zip.rst, /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/data/api/doc/ray.data.grouped_data.GroupedData.aggregate.rst, /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/data/api/doc/ray.data.grouped_data.GroupedData.count.rst, /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/data/api/doc/ray.data.grouped_data.GroupedData.map_groups.rst, /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/data/api/doc/ray.data.grouped_data.GroupedData.max.rst, /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/data/api/doc/ray.data.grouped_data.GroupedData.mean.rst, /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/data/api/doc/ray.data.grouped_data.GroupedData.min.rst, /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/data/api/doc/ray.data.grouped_data.GroupedData.std.rst, /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/data/api/doc/ray.data.grouped_data.GroupedData.sum.rst, /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/doc/source/data/api/doc/ray.data.grouped_data.GroupedData.with_column.rst building [mo]: targets for 0 po files that are out of date writing output... building [html]: targets for 676 source files that are out of date updating environment: [new config] 4085 added, 0 changed, 0 removed reading sources... [ 2%] _collections/data/examples/llm_batch_inference_text/README .. cluster/kubernetes/k8s-ecosystem/metrics-references reading sources... [ 5%] cluster/kubernetes/k8s-ecosystem/prometheus-grafana .. cluster/running-applications/job-submission/doc/ray.job_submission.JobStatus.isupper reading sources... [ 7%] cluster/running-applications/job-submission/doc/ray.job_submission.JobStatus.join .. cluster/vms/user-guides/community/lsf /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/envs/master/lib/python3.10/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. validate(nb) reading sources... [ 10%] cluster/vms/user-guides/community/slurm .. data/api/doc/ray.data.Dataset.write_images reading sources... [ 12%] data/api/doc/ray.data.Dataset.write_json .. data/api/doc/ray.data.aggregate.Unique reading sources... [ 15%] data/api/doc/ray.data.aggregate.Unique.finalize .. data/api/doc/ray.data.datasource.PartitionStyle.casefold reading sources... [ 17%] data/api/doc/ray.data.datasource.PartitionStyle.center .. data/api/doc/ray.data.expressions.BinaryExpr.not_in reading sources... [ 20%] data/api/doc/ray.data.expressions.BinaryExpr.op .. data/api/doc/ray.data.expressions.Expr.is_in reading sources... [ 22%] data/api/doc/ray.data.expressions.Expr.is_not_null .. data/api/doc/ray.data.expressions.RandomExpr.asin reading sources... [ 24%] data/api/doc/ray.data.expressions.RandomExpr.atan .. data/api/doc/ray.data.expressions.UDFExpr.round reading sources... [ 27%] data/api/doc/ray.data.expressions.UDFExpr.sign .. data/api/doc/ray.data.from_pandas reading sources... [ 29%] data/api/doc/ray.data.from_pandas_refs .. data/api/doc/ray.data.preprocessors.CountVectorizer.output_columns reading sources... [ 32%] data/api/doc/ray.data.preprocessors.CountVectorizer.preferred_batch_format .. data/api/doc/ray.data.preprocessors.MaxAbsScaler.transform reading sources... [ 34%] data/api/doc/ray.data.preprocessors.MaxAbsScaler.transform_batch .. data/api/doc/ray.data.preprocessors.PowerTransformer.output_columns reading sources... [ 37%] data/api/doc/ray.data.preprocessors.PowerTransformer.power .. data/api/doc/ray.data.preprocessors.UniformKBinsDiscretizer.set_version reading sources... [ 39%] data/api/doc/ray.data.preprocessors.UniformKBinsDiscretizer.stat_computation_plan .. ray-core/actors/task-orders reading sources... [ 41%] ray-core/actors/terminating-actors .. ray-core/api/doc/ray.job_config.JobConfig.set_runtime_env reading sources... [ 44%] ray-core/api/doc/ray.kill .. ray-core/api/doc/ray.util.placement_group.get_placement_group reading sources... [ 46%] ray-core/api/doc/ray.util.placement_group_table .. ray-core/compiled-graph/doc/ray.dag.output_node.MultiOutputNode.type_hint reading sources... [ 49%] ray-core/compiled-graph/doc/ray.dag.output_node.MultiOutputNode.with_tensor_transport .. ray-more-libs/doc/ray.util.dask.callbacks.RayDaskCallback._ray_pretask reading sources... [ 51%] ray-more-libs/index .. rllib/package_ref/doc/ray.rllib.algorithms.algorithm.Algorithm.add_policy reading sources... [ 54%] rllib/package_ref/doc/ray.rllib.algorithms.algorithm.Algorithm.config .. rllib/package_ref/doc/ray.rllib.algorithms.algorithm_config.AlgorithmConfig.num_gpus_per_worker /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/envs/master/lib/python3.10/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. validate(nb) reading sources... [ 56%] rllib/package_ref/doc/ray.rllib.algorithms.algorithm_config.AlgorithmConfig.num_learner_workers .. rllib/package_ref/doc/ray.rllib.core.learner.learner_group.LearnerGroup.get_stats reading sources... [ 59%] rllib/package_ref/doc/ray.rllib.core.learner.learner_group.LearnerGroup.get_weights .. rllib/package_ref/doc/ray.rllib.core.rl_module.rl_module.RLModule._forward_inference reading sources... [ 61%] rllib/package_ref/doc/ray.rllib.core.rl_module.rl_module.RLModule._forward_train .. rllib/package_ref/doc/ray.rllib.utils.metrics.metrics_logger.MetricsLogger.peek reading sources... [ 63%] rllib/package_ref/doc/ray.rllib.utils.metrics.metrics_logger.MetricsLogger.peek_results .. rllib/package_ref/env/doc/ray.rllib.env.env_runner.EnvRunner.assert_healthy reading sources... [ 66%] rllib/package_ref/env/doc/ray.rllib.env.env_runner.EnvRunner.get_metrics .. rllib/package_ref/env/env/ray.rllib.env.single_agent_episode.SingleAgentEpisode.set_rewards reading sources... [ 68%] rllib/package_ref/env/env/ray.rllib.env.single_agent_episode.SingleAgentEpisode.slice .. serve/api/doc/ray.serve.grpc_util.RayServegRPCContext reading sources... [ 71%] serve/api/doc/ray.serve.grpc_util.RayServegRPCContext.auth_context .. serve/api/doc/ray.serve.request_router.RequestRouter.queue_len_response_deadline_s reading sources... [ 73%] serve/api/doc/ray.serve.request_router.RequestRouter.replica_queue_len_cache .. serve/llm/user-guides/vllm-compatibility reading sources... [ 76%] serve/model-multiplexing .. train/api/doc/ray.train.RunConfig.name reading sources... [ 78%] train/api/doc/ray.train.RunConfig.progress_reporter .. train/api/doc/ray.train.horovod.HorovodConfig.placement_group_timeout_s reading sources... [ 80%] train/api/doc/ray.train.horovod.HorovodConfig.ssh_identity_file .. train/api/doc/ray.train.torch.xla.TorchXLAConfig.init_method reading sources... [ 83%] train/api/doc/ray.train.torch.xla.TorchXLAConfig.neuron_parallel_compile .. tune/api/callbacks reading sources... [ 85%] tune/api/cli .. tune/api/doc/ray.tune.ExperimentAnalysis.results_df reading sources... [ 88%] tune/api/doc/ray.tune.ExperimentAnalysis.trial_dataframes .. tune/api/doc/ray.tune.Tuner.get_results reading sources... [ 90%] tune/api/doc/ray.tune.Tuner.restore .. tune/api/doc/ray.tune.schedulers.FIFOScheduler.restore reading sources... [ 93%] tune/api/doc/ray.tune.schedulers.FIFOScheduler.save .. tune/api/doc/ray.tune.schedulers.pb2.PB2.restore reading sources... [ 95%] tune/api/doc/ray.tune.schedulers.pb2.PB2.save .. tune/api/doc/ray.tune.search.hebo.HEBOSearch.restore_from_dir reading sources... [ 98%] tune/api/doc/ray.tune.search.hebo.HEBOSearch.save .. tune/examples/includes/pb2_ppo_example reading sources... [100%] tune/examples/includes/pbt_convnet_function_example .. tune/tutorials/tune_get_data_in_and_out looking for now-outdated files... none found pickling environment... done checking consistency... done preparing documents... done copying assets... copying downloadable files... [ 50%] ../python/ray/tune/examples/mnist_pytorch_trainable.py copying downloadable files... [100%] ../python/ray/tune/examples/tune-default.yaml copying static files... done copying extra files... done done writing output... [ 3%] _collections/data/examples/llm_batch_inference_vision/README .. cluster/kubernetes/user-guides/gcp-gke-gpu-cluster writing output... [ 6%] cluster/kubernetes/user-guides/gcp-gke-tpu-cluster .. cluster/running-applications/job-submission/doc/ray.job_submission.JobSubmissionClient.get_version writing output... [ 8%] cluster/running-applications/job-submission/doc/ray.job_submission.JobSubmissionClient.list_jobs .. data/api/doc/ray.data.Dataset.iter_rows writing output... [ 11%] data/api/doc/ray.data.Dataset.iter_tf_batches .. data/api/doc/ray.data.aggregate.AggregateFnV2.get_agg_name writing output... [ 14%] data/api/doc/ray.data.aggregate.AggregateFnV2.output_field .. data/api/doc/ray.data.datasource.BlockBasedFileDatasink.write_block_to_file writing output... [ 17%] data/api/doc/ray.data.datasource.DefaultFileMetadataProvider .. data/api/doc/ray.data.expressions.BinaryExpr.is_not_null writing output... [ 19%] data/api/doc/ray.data.expressions.BinaryExpr.is_null .. data/api/doc/ray.data.expressions.Expr.log10 writing output... [ 22%] data/api/doc/ray.data.expressions.Expr.log2 .. data/api/doc/ray.data.expressions.RandomExpr.not_in writing output... [ 25%] data/api/doc/ray.data.expressions.RandomExpr.power .. data/api/doc/ray.data.expressions.UUIDExpr.power writing output... [ 28%] data/api/doc/ray.data.expressions.UUIDExpr.round .. data/api/doc/ray.data.preprocessors.Categorizer.serialize writing output... [ 31%] data/api/doc/ray.data.preprocessors.Categorizer.set_preprocessor_class_id .. data/api/doc/ray.data.preprocessors.HashingVectorizer.tokenization_fn writing output... [ 33%] data/api/doc/ray.data.preprocessors.HashingVectorizer.transform .. data/api/doc/ray.data.preprocessors.OrdinalEncoder.fit_transform writing output... [ 36%] data/api/doc/ray.data.preprocessors.OrdinalEncoder.get_preprocessor_class_id .. data/api/doc/ray.data.preprocessors.UniformKBinsDiscretizer.include_lowest writing output... [ 39%] data/api/doc/ray.data.preprocessors.UniformKBinsDiscretizer.output_columns .. ray-core/api/doc/ray.LoggingConfig.from_dict writing output... [ 42%] ray-core/api/doc/ray.LoggingConfig.log_level .. ray-core/api/doc/ray.runtime_context.RuntimeContext.get_task_function_name writing output... [ 44%] ray-core/api/doc/ray.runtime_context.RuntimeContext.get_task_id .. ray-core/api/doc/ray.util.tpu.get_current_pod_name writing output... [ 47%] ray-core/api/doc/ray.util.tpu.get_current_pod_worker_count .. ray-core/patterns/limit-pending-tasks writing output... [ 50%] ray-core/patterns/limit-running-tasks .. ray-overview/index writing output... [ 53%] ray-overview/installation .. rllib/package_ref/doc/ray.rllib.algorithms.algorithm_config.AlgorithmConfig.is_atari writing output... [ 56%] rllib/package_ref/doc/ray.rllib.algorithms.algorithm_config.AlgorithmConfig.is_multi_agent .. rllib/package_ref/doc/ray.rllib.core.learner.learner_group.LearnerGroup.from_checkpoint writing output... [ 58%] rllib/package_ref/doc/ray.rllib.core.learner.learner_group.LearnerGroup.get_metadata .. rllib/package_ref/doc/ray.rllib.core.rl_module.rl_module.RLModule.get_metadata writing output... [ 61%] rllib/package_ref/doc/ray.rllib.core.rl_module.rl_module.RLModule.get_state .. rllib/package_ref/doc/ray.rllib.utils.replay_buffers.multi_agent_prioritized_replay_buffer.MultiAgentPrioritizedReplayBuffer.stats writing output... [ 64%] rllib/package_ref/doc/ray.rllib.utils.replay_buffers.multi_agent_prioritized_replay_buffer.MultiAgentPrioritizedReplayBuffer.update_priorities .. rllib/package_ref/env/env/ray.rllib.env.multi_agent_episode.MultiAgentEpisode.get_terminateds writing output... [ 67%] rllib/package_ref/env/env/ray.rllib.env.multi_agent_episode.MultiAgentEpisode.get_truncateds .. serve/api/doc/ray.serve.config.AggregationFunction writing output... [ 69%] serve/api/doc/ray.serve.config.AutoscalingConfig .. serve/api/doc/ray.serve.request_router.PendingRequest.args writing output... [ 72%] serve/api/doc/ray.serve.request_router.PendingRequest.created_at .. serve/llm/troubleshooting writing output... [ 75%] serve/llm/user-guides/cross-node-parallelism .. train/api/doc/ray.train.RunConfig.stop writing output... [ 78%] train/api/doc/ray.train.RunConfig.storage_context .. train/api/doc/ray.train.huggingface.transformers.RayTrainReportCallback writing output... [ 81%] train/api/doc/ray.train.huggingface.transformers.RayTrainReportCallback.CHECKPOINT_NAME .. train/api/doc/ray.train.xgboost.xgboost_trainer.XGBoostTrainer.get_dataset_config writing output... [ 83%] train/api/doc/ray.train.xgboost.xgboost_trainer.XGBoostTrainer.get_model .. tune/api/doc/ray.tune.Callback.on_step_end writing output... [ 86%] tune/api/doc/ray.tune.Callback.on_trial_complete .. tune/api/doc/ray.tune.Trainable.step writing output... [ 89%] tune/api/doc/ray.tune.Trainable.stop .. tune/api/doc/ray.tune.logger.aim.AimLoggerCallback.on_trial_recover writing output... [ 92%] tune/api/doc/ray.tune.logger.aim.AimLoggerCallback.set_state .. tune/api/doc/ray.tune.schedulers.TrialScheduler.supports_buffered_results writing output... [ 94%] tune/api/doc/ray.tune.schedulers.create_scheduler .. tune/api/doc/ray.tune.search.hyperopt.HyperOptSearch.add_evaluated_point writing output... [ 97%] tune/api/doc/ray.tune.search.hyperopt.HyperOptSearch.add_evaluated_trials .. tune/examples/tune-pytorch-cifar writing output... [100%] tune/examples/tune-pytorch-lightning .. tune/tutorials/tune_get_data_in_and_out generating indices... genindex py-modindex done highlighting module code... [ 0%] functools highlighting module code... [ 1%] pydantic.fields highlighting module code... [ 1%] ray._private.ray_logging.logging_config highlighting module code... [ 1%] ray._private.state highlighting module code... [ 2%] ray._private.worker highlighting module code... [ 2%] ray.actor highlighting module code... [ 3%] ray.air.config highlighting module code... [ 3%] ray.air.integrations.comet highlighting module code... [ 3%] ray.air.integrations.mlflow highlighting module code... [ 4%] ray.air.integrations.wandb highlighting module code... [ 4%] ray.air.result highlighting module code... [ 4%] ray.autoscaler._private.fake_multi_node.test_utils highlighting module code... [ 5%] ray.autoscaler.sdk.sdk highlighting module code... [ 5%] ray.cluster_utils highlighting module code... [ 6%] ray.cross_language highlighting module code... [ 6%] ray.dag.compiled_dag_node highlighting module code... [ 6%] ray.dag.context highlighting module code... [ 7%] ray.dag.dag_node highlighting module code... [ 7%] ray.dag.input_node highlighting module code... [ 7%] ray.dag.output_node highlighting module code... [ 8%] ray.dashboard.modules.dashboard_sdk highlighting module code... [ 8%] ray.dashboard.modules.job.common highlighting module code... [ 9%] ray.dashboard.modules.job.pydantic_models highlighting module code... [ 9%] ray.dashboard.modules.job.sdk highlighting module code... [ 9%] ray.data._internal.compute highlighting module code... [ 10%] ray.data._internal.execution.interfaces.execution_options highlighting module code... [ 10%] ray.data._internal.logical.operators.n_ary_operator highlighting module code... [ 10%] ray.data._internal.random_config highlighting module code... [ 11%] ray.data.aggregate highlighting module code... [ 11%] ray.data.block highlighting module code... [ 12%] ray.data.checkpoint.interfaces highlighting module code... [ 12%] ray.data.context highlighting module code... [ 12%] ray.data.dataset highlighting module code... [ 13%] ray.data.datasource.datasink highlighting module code... [ 13%] ray.data.datasource.datasource highlighting module code... [ 13%] ray.data.datasource.file_based_datasource highlighting module code... [ 14%] ray.data.datasource.file_datasink highlighting module code... [ 14%] ray.data.datasource.file_meta_provider highlighting module code... [ 14%] ray.data.datasource.filename_provider highlighting module code... [ 15%] ray.data.datasource.partitioning highlighting module code... [ 15%] ray.data.datatype highlighting module code... [ 16%] ray.data.expressions highlighting module code... [ 16%] ray.data.grouped_data highlighting module code... [ 16%] ray.data.iterator highlighting module code... [ 17%] ray.data.llm highlighting module code... [ 17%] ray.data.namespace_expressions.arr_namespace highlighting module code... [ 17%] ray.data.namespace_expressions.dt_namespace highlighting module code... [ 18%] ray.data.namespace_expressions.list_namespace highlighting module code... [ 18%] ray.data.namespace_expressions.string_namespace highlighting module code... [ 19%] ray.data.namespace_expressions.struct_namespace highlighting module code... [ 19%] ray.data.preprocessor highlighting module code... [ 19%] ray.data.preprocessors.chain highlighting module code... [ 20%] ray.data.preprocessors.concatenator highlighting module code... [ 20%] ray.data.preprocessors.discretizer highlighting module code... [ 20%] ray.data.preprocessors.encoder highlighting module code... [ 21%] ray.data.preprocessors.hasher highlighting module code... [ 21%] ray.data.preprocessors.imputer highlighting module code... [ 22%] ray.data.preprocessors.normalizer highlighting module code... [ 22%] ray.data.preprocessors.scaler highlighting module code... [ 22%] ray.data.preprocessors.torch highlighting module code... [ 23%] ray.data.preprocessors.transformer highlighting module code... [ 23%] ray.data.preprocessors.vectorizer highlighting module code... [ 23%] ray.data.read_api highlighting module code... [ 24%] ray.data.stats highlighting module code... [ 24%] ray.exceptions highlighting module code... [ 25%] ray.experimental.collective.collective highlighting module code... [ 25%] ray.experimental.compiled_dag_ref highlighting module code... [ 25%] ray.experimental.rdt.rdt_manager highlighting module code... [ 26%] ray.experimental.rdt.tensor_transport_manager highlighting module code... [ 26%] ray.experimental.rdt.util highlighting module code... [ 26%] ray.job_config highlighting module code... [ 27%] ray.llm._internal.batch.processor.base highlighting module code... [ 27%] ray.llm._internal.common.base_pydantic highlighting module code... [ 28%] ray.llm._internal.common.utils.cloud_utils highlighting module code... [ 28%] ray.llm._internal.serve.core.configs.llm_config highlighting module code... [ 28%] ray.llm._internal.serve.core.ingress.ingress highlighting module code... [ 29%] ray.llm._internal.serve.core.server.llm_server highlighting module code... [ 29%] ray.remote_function highlighting module code... [ 29%] ray.rllib.algorithms.algorithm highlighting module code... [ 30%] ray.rllib.algorithms.algorithm_config highlighting module code... [ 30%] ray.rllib.algorithms.appo.appo highlighting module code... [ 30%] ray.rllib.algorithms.bc.bc highlighting module code... [ 31%] ray.rllib.algorithms.cql.cql highlighting module code... [ 31%] ray.rllib.algorithms.dqn.dqn highlighting module code... [ 32%] ray.rllib.algorithms.impala.impala highlighting module code... [ 32%] ray.rllib.algorithms.iql.iql highlighting module code... [ 32%] ray.rllib.algorithms.marwil.marwil highlighting module code... [ 33%] ray.rllib.algorithms.ppo.ppo highlighting module code... [ 33%] ray.rllib.algorithms.sac.sac highlighting module code... [ 33%] ray.rllib.callbacks.callbacks highlighting module code... [ 34%] ray.rllib.connectors.connector_pipeline_v2 highlighting module code... [ 34%] ray.rllib.connectors.connector_v2 highlighting module code... [ 35%] ray.rllib.connectors.env_to_module.observation_preprocessor highlighting module code... [ 35%] ray.rllib.core.distribution.distribution highlighting module code... [ 35%] ray.rllib.core.learner.learner highlighting module code... [ 36%] ray.rllib.core.learner.learner_group highlighting module code... [ 36%] ray.rllib.core.rl_module.apis.inference_only_api highlighting module code... [ 36%] ray.rllib.core.rl_module.apis.q_net_api highlighting module code... [ 37%] ray.rllib.core.rl_module.apis.self_supervised_loss_api highlighting module code... [ 37%] ray.rllib.core.rl_module.apis.target_network_api highlighting module code... [ 38%] ray.rllib.core.rl_module.apis.value_function_api highlighting module code... [ 38%] ray.rllib.core.rl_module.default_model_config highlighting module code... [ 38%] ray.rllib.core.rl_module.multi_rl_module highlighting module code... [ 39%] ray.rllib.core.rl_module.rl_module highlighting module code... [ 39%] ray.rllib.env.env_errors highlighting module code... [ 39%] ray.rllib.env.env_runner highlighting module code... [ 40%] ray.rllib.env.external.rllink highlighting module code... [ 40%] ray.rllib.env.multi_agent_env highlighting module code... [ 41%] ray.rllib.env.multi_agent_env_runner highlighting module code... [ 41%] ray.rllib.env.multi_agent_episode highlighting module code... [ 41%] ray.rllib.env.single_agent_env_runner highlighting module code... [ 42%] ray.rllib.env.single_agent_episode highlighting module code... [ 42%] ray.rllib.env.utils highlighting module code... [ 42%] ray.rllib.offline.offline_data highlighting module code... [ 43%] ray.rllib.offline.offline_env_runner highlighting module code... [ 43%] ray.rllib.offline.offline_prelearner highlighting module code... [ 43%] ray.rllib.utils.actor_manager highlighting module code... [ 44%] ray.rllib.utils.annotations highlighting module code... [ 44%] ray.rllib.utils.checkpoints highlighting module code... [ 45%] ray.rllib.utils.framework highlighting module code... [ 45%] ray.rllib.utils.metrics.metrics_logger highlighting module code... [ 45%] ray.rllib.utils.numpy highlighting module code... [ 46%] ray.rllib.utils.replay_buffers.base highlighting module code... [ 46%] ray.rllib.utils.replay_buffers.multi_agent_prioritized_replay_buffer highlighting module code... [ 46%] ray.rllib.utils.replay_buffers.multi_agent_replay_buffer highlighting module code... [ 47%] ray.rllib.utils.replay_buffers.prioritized_replay_buffer highlighting module code... [ 47%] ray.rllib.utils.replay_buffers.replay_buffer highlighting module code... [ 48%] ray.rllib.utils.replay_buffers.reservoir_replay_buffer highlighting module code... [ 48%] ray.rllib.utils.replay_buffers.utils highlighting module code... [ 48%] ray.rllib.utils.schedules.scheduler highlighting module code... [ 49%] ray.rllib.utils.torch_utils highlighting module code... [ 49%] ray.runtime_context highlighting module code... [ 49%] ray.runtime_env.runtime_env highlighting module code... [ 50%] ray.serve._private.common highlighting module code... [ 50%] ray.serve._private.request_router.common highlighting module code... [ 51%] ray.serve._private.request_router.replica_wrapper highlighting module code... [ 51%] ray.serve._private.request_router.request_router highlighting module code... [ 51%] ray.serve.api highlighting module code... [ 52%] ray.serve.autoscaling_policy highlighting module code... [ 52%] ray.serve.batching highlighting module code... [ 52%] ray.serve.config highlighting module code... [ 53%] ray.serve.context highlighting module code... [ 53%] ray.serve.deployment highlighting module code... [ 54%] ray.serve.exceptions highlighting module code... [ 54%] ray.serve.gang highlighting module code... [ 54%] ray.serve.grpc_util highlighting module code... [ 55%] ray.serve.handle highlighting module code... [ 55%] ray.serve.llm highlighting module code... [ 55%] ray.serve.metrics highlighting module code... [ 56%] ray.serve.schema highlighting module code... [ 56%] ray.serve.utils highlighting module code... [ 57%] ray.train highlighting module code... [ 57%] ray.train._checkpoint highlighting module code... [ 57%] ray.train._internal.data_config highlighting module code... [ 58%] ray.train._internal.session highlighting module code... [ 58%] ray.train.backend highlighting module code... [ 58%] ray.train.base_trainer highlighting module code... [ 59%] ray.train.collective highlighting module code... [ 59%] ray.train.context highlighting module code... [ 59%] ray.train.data_parallel_trainer highlighting module code... [ 60%] ray.train.error highlighting module code... [ 60%] ray.train.horovod.config highlighting module code... [ 61%] ray.train.huggingface.transformers._transformers_utils highlighting module code... [ 61%] ray.train.lightgbm._lightgbm_utils highlighting module code... [ 61%] ray.train.lightgbm.config highlighting module code... [ 62%] ray.train.lightgbm.lightgbm_trainer highlighting module code... [ 62%] ray.train.lightning._lightning_utils highlighting module code... [ 62%] ray.train.tensorflow.config highlighting module code... [ 63%] ray.train.tensorflow.keras highlighting module code... [ 63%] ray.train.tensorflow.tensorflow_trainer highlighting module code... [ 64%] ray.train.tensorflow.train_loop_utils highlighting module code... [ 64%] ray.train.torch.config highlighting module code... [ 64%] ray.train.torch.torch_trainer highlighting module code... [ 65%] ray.train.torch.xla.config highlighting module code... [ 65%] ray.train.v2.api.callback highlighting module code... [ 65%] ray.train.v2.api.context highlighting module code... [ 66%] ray.train.v2.api.data_parallel_trainer highlighting module code... [ 66%] ray.train.v2.api.result highlighting module code... [ 67%] ray.train.v2.horovod.horovod_trainer highlighting module code... [ 67%] ray.train.v2.jax.jax_trainer highlighting module code... [ 67%] ray.train.v2.lightgbm.lightgbm_trainer highlighting module code... [ 68%] ray.train.v2.tensorflow.tensorflow_trainer highlighting module code... [ 68%] ray.train.v2.torch.torch_trainer highlighting module code... [ 68%] ray.train.v2.torch.train_loop_utils highlighting module code... [ 69%] ray.train.v2.xgboost.xgboost_trainer highlighting module code... [ 69%] ray.train.xgboost._xgboost_utils highlighting module code... [ 70%] ray.train.xgboost.xgboost_trainer highlighting module code... [ 70%] ray.tune highlighting module code... [ 70%] ray.tune.analysis.experiment_analysis highlighting module code... [ 71%] ray.tune.callback highlighting module code... [ 71%] ray.tune.context highlighting module code... [ 71%] ray.tune.error highlighting module code... [ 72%] ray.tune.execution.placement_groups highlighting module code... [ 72%] ray.tune.experiment.experiment highlighting module code... [ 72%] ray.tune.experiment.trial highlighting module code... [ 73%] ray.tune.experimental.output highlighting module code... [ 73%] ray.tune.impl.tuner_internal highlighting module code... [ 74%] ray.tune.integration.lightgbm highlighting module code... [ 74%] ray.tune.integration.pytorch_lightning highlighting module code... [ 74%] ray.tune.integration.ray_train highlighting module code... [ 75%] ray.tune.integration.xgboost highlighting module code... [ 75%] ray.tune.logger.aim highlighting module code... [ 75%] ray.tune.logger.csv highlighting module code... [ 76%] ray.tune.logger.json highlighting module code... [ 76%] ray.tune.logger.logger highlighting module code... [ 77%] ray.tune.logger.tensorboardx highlighting module code... [ 77%] ray.tune.progress_reporter highlighting module code... [ 77%] ray.tune.registry highlighting module code... [ 78%] ray.tune.result_grid highlighting module code... [ 78%] ray.tune.schedulers highlighting module code... [ 78%] ray.tune.schedulers.async_hyperband highlighting module code... [ 79%] ray.tune.schedulers.hb_bohb highlighting module code... [ 79%] ray.tune.schedulers.hyperband highlighting module code... [ 80%] ray.tune.schedulers.median_stopping_rule highlighting module code... [ 80%] ray.tune.schedulers.pb2 highlighting module code... [ 80%] ray.tune.schedulers.pbt highlighting module code... [ 81%] ray.tune.schedulers.resource_changing_scheduler highlighting module code... [ 81%] ray.tune.schedulers.trial_scheduler highlighting module code... [ 81%] ray.tune.search highlighting module code... [ 82%] ray.tune.search.ax.ax_search highlighting module code... [ 82%] ray.tune.search.basic_variant highlighting module code... [ 83%] ray.tune.search.bayesopt.bayesopt_search highlighting module code... [ 83%] ray.tune.search.bohb.bohb_search highlighting module code... [ 83%] ray.tune.search.concurrency_limiter highlighting module code... [ 84%] ray.tune.search.hebo.hebo_search highlighting module code... [ 84%] ray.tune.search.hyperopt.hyperopt_search highlighting module code... [ 84%] ray.tune.search.nevergrad.nevergrad_search highlighting module code... [ 85%] ray.tune.search.optuna.optuna_search highlighting module code... [ 85%] ray.tune.search.repeater highlighting module code... [ 86%] ray.tune.search.sample highlighting module code... [ 86%] ray.tune.search.search_algorithm highlighting module code... [ 86%] ray.tune.search.searcher highlighting module code... [ 87%] ray.tune.search.variant_generator highlighting module code... [ 87%] ray.tune.search.zoopt.zoopt_search highlighting module code... [ 87%] ray.tune.stopper.experiment_plateau highlighting module code... [ 88%] ray.tune.stopper.function_stopper highlighting module code... [ 88%] ray.tune.stopper.maximum_iteration highlighting module code... [ 88%] ray.tune.stopper.noop highlighting module code... [ 89%] ray.tune.stopper.stopper highlighting module code... [ 89%] ray.tune.stopper.timeout highlighting module code... [ 90%] ray.tune.stopper.trial_plateau highlighting module code... [ 90%] ray.tune.syncer highlighting module code... [ 90%] ray.tune.trainable.function_trainable highlighting module code... [ 91%] ray.tune.trainable.trainable highlighting module code... [ 91%] ray.tune.trainable.util highlighting module code... [ 91%] ray.tune.tune highlighting module code... [ 92%] ray.tune.tune_config highlighting module code... [ 92%] ray.tune.tuner highlighting module code... [ 93%] ray.tune.utils.util highlighting module code... [ 93%] ray.util highlighting module code... [ 93%] ray.util.actor_pool highlighting module code... [ 94%] ray.util.annotations highlighting module code... [ 94%] ray.util.check_serialize highlighting module code... [ 94%] ray.util.collective.backend_registry highlighting module code... [ 95%] ray.util.collective.collective highlighting module code... [ 95%] ray.util.dask.callbacks highlighting module code... [ 96%] ray.util.helpers highlighting module code... [ 96%] ray.util.metrics highlighting module code... [ 96%] ray.util.placement_group highlighting module code... [ 97%] ray.util.queue highlighting module code... [ 97%] ray.util.rpdb highlighting module code... [ 97%] ray.util.scheduling_strategies highlighting module code... [ 98%] ray.util.serialization highlighting module code... [ 98%] ray.util.spark.cluster_init highlighting module code... [ 99%] ray.util.state.api highlighting module code... [ 99%] ray.util.state.common highlighting module code... [ 99%] ray.util.state.exception highlighting module code... [100%] ray.util.tpu highlighting module code... [100%] typing writing additional pages... done copying images... [ 0%] cluster/images/ray-cluster.svg copying images... [ 1%] cluster/images/ray-job-diagram.png copying images... [ 1%] cluster/kubernetes/images/benchmark_architecture.png copying images... [ 1%] cluster/kubernetes/images/benchmark_result.png copying images... [ 1%] cluster/kubernetes/images/ray_dashboard_deepseek.png copying images... [ 2%] cluster/kubernetes/images/ray_dashboard_llm_application.png copying images... [ 2%] cluster/kubernetes/images/serve_dashboard.png copying images... [ 2%] cluster/kubernetes/images/diffusion_results.png copying images... [ 3%] cluster/kubernetes/images/verl-ray-dashboard.png copying images... [ 3%] cluster/kubernetes/images/ray-dashboard.png copying images... [ 3%] cluster/kubernetes/images/dashboard_serve.png copying images... [ 3%] cluster/kubernetes/images/ray_on_kubernetes.png copying images... [ 4%] cluster/kubernetes/images/istio-kiali-1.png copying images... [ 4%] cluster/kubernetes/images/istio-kiali-2.png copying images... [ 4%] cluster/kubernetes/images/istio-jaeger-1.png copying images... [ 5%] cluster/kubernetes/images/istio-jaeger-2.png copying images... [ 5%] cluster/kubernetes/images/prometheus_web_ui.png copying images... [ 5%] cluster/kubernetes/images/grafana_ray_dashboard.png copying images... [ 5%] cluster/kubernetes/images/grafana_ray_dashboard2.png copying images... [ 6%] cluster/kubernetes/images/kuberay-dashboard-controller-runtime.png copying images... [ 6%] cluster/kubernetes/images/ray_dashboard_embed_grafana.png copying images... [ 6%] cluster/kubernetes/images/stack_trace.png copying images... [ 7%] cluster/kubernetes/images/cpu_flame_graph.png copying images... [ 7%] cluster/kubernetes/images/yunikorn-dashboard-apps-running.png copying images... [ 7%] cluster/kubernetes/images/yunikorn-dashboard-apps-pending.png copying images... [ 7%] cluster/kubernetes/images/AutoscalerOperator.svg copying images... [ 8%] cluster/kubernetes/images/rbac-clusterrole.svg copying images... [ 8%] cluster/kubernetes/images/rbac-role-one-namespace.svg copying images... [ 8%] cluster/kubernetes/images/rbac-role-multi-namespaces.svg copying images... [ 9%] cluster/kubernetes/user-guides/images/kuberay-dashboard-rayjobs.png copying images... [ 9%] cluster/kubernetes/user-guides/images/kuberay-historyserver-raycluster-status.png copying images... [ 9%] cluster/kubernetes/user-guides/images/kuberay-historyserver-raycluster-logs.png copying images... [ 9%] cluster/kubernetes/user-guides/images/kuberay-rayservice-haproxy-actors.png copying images... [ 10%] cluster/kubernetes/user-guides/images/loki-sidecar-logs.png copying images... [ 10%] cluster/kubernetes/user-guides/images/loki-logs.png copying images... [ 10%] cluster/kubernetes/images/rayservice-no-ray-serve-replica-dashboard.png copying images... [ 11%] cluster/kubernetes/images/interactive-dev.png copying images... [ 11%] cluster/kubernetes/images/production.png copying images... [ 11%] cluster/images/graphs.png copying images... [ 11%] images/autoscaler-status.png copying images... [ 12%] cluster/images/yarn-job.png copying images... [ 12%] cluster/images/yarn-job-dashboard.png copying images... [ 12%] data/images/dataset-shuffle.svg copying images... [ 13%] data/images/stream-example.png copying images... [ 13%] data/images/multimodal_inference_results.png copying images... [ 13%] data/images/dataset-arch.svg copying images... [ 13%] ../../_readthedocs/jupyter_execute/612f82906f846ed344b779b0175f581ceb56c3f5283b42fc83e00b8f80f3904b.png copying images... [ 14%] ../../_readthedocs/jupyter_execute/ac3f24c4e3d83b1b0ff3c0e8f2d4cc3dd1d0d1ee1c62f94e936da56d9b469883.png copying images... [ 14%] ../../_readthedocs/jupyter_execute/f6eabde66ffa1c2720d15d8f3b5c7b814f29c5617bf5676bf17dcd731fe73b9f.png copying images... [ 14%] ../../_readthedocs/jupyter_execute/0b3ebf95963769a84edfe37dd3ee262a6922c54d89fe21b3c3ed13b1533e1c2e.png copying images... [ 15%] ../../_readthedocs/jupyter_execute/22d723b4527fb4a5ec250816812faa0758e36961a95401435aae34e1bdecad5c.png copying images... [ 15%] ../../_readthedocs/jupyter_execute/91f711e6630eac3c501de224df3f5aa80dc3eb4f2171e0fca2f9c6a8c46c841c.png copying images... [ 15%] ../../_readthedocs/jupyter_execute/736657604a7b4c8b3f2dc0f44c0751a5ccf44b147549100feaa36e079c696bf5.png copying images... [ 15%] ../../_readthedocs/jupyter_execute/fa7c6f0a81b04b0a274b2c770b5f5ee28f1ccea92938960de1f637db7dcf8cb6.png copying images... [ 16%] ../../_readthedocs/jupyter_execute/1bfbfe49325fed87b579148a13e98788a4ea3c4d295a9525cd3031a9eb8d8b92.png copying images... [ 16%] ../../_readthedocs/jupyter_execute/9b7bb855d83f101a312765bb1d3b489ffea958fe5486e0fb9997c444f481099a.png copying images... [ 16%] ../../_readthedocs/jupyter_execute/dcfb9e74d5e2c80b6053ae5d9f03a1dc5da886a73116d25f89769a14b77a395f.png copying images... [ 17%] ../../_readthedocs/jupyter_execute/99cc48399ce119902a2f9aa3330108ac8973c60131f94325949177824d1145fe.png copying images... [ 17%] ../../_readthedocs/jupyter_execute/2e364ab27edad78af1772e1d8d3ff397febefec20d343ab5b449bad09fdefeef.png copying images... [ 17%] ../../_readthedocs/jupyter_execute/5b1a113310c2fc8bd5fae12ab515bbb46bde7a8fd5215ab888560e335034bf09.png copying images... [ 17%] ../../_readthedocs/jupyter_execute/77cfc3f82d4b234e10ff5009448162cad5e338455a15617290cc08d8346efebd.png copying images... [ 18%] data/images/dataset-arch-with-blocks.svg copying images... [ 18%] data/images/get_execution_plan.svg copying images... [ 18%] data/images/streaming-topology.svg copying images... [ 19%] data/images/dataset_mixing/per_block_mix.png copying images... [ 19%] data/images/dataset_mixing/random_mix.png copying images... [ 19%] data/images/dataset-progress-bar.png copying images... [ 19%] data/images/data-overview-table.png copying images... [ 20%] data/images/data-overview-table-expanded.png copying images... [ 20%] data/images/data-dashboard.png copying images... [ 20%] images/air_arch_1.svg copying images... [ 21%] ray-air/images/air_arch_2.png copying images... [ 21%] images/ray-air.svg copying images... [ 21%] ray-air/images/why-air-2.svg copying images... [ 21%] images/shopify-workload.png copying images... [ 22%] images/spotify.png copying images... [ 22%] ray-contribute/esbonio.png copying images... [ 22%] ray-contribute/completion.png copying images... [ 23%] images/vale.png copying images... [ 23%] images/compiled_graph_viz.png copying images... [ 23%] ray-core/images/dashboard.png copying images... [ 23%] ray-core/images/monte_carlo_pi.png copying images... [ 24%] ray-core/images/hyperparameter.png copying images... [ 24%] ray-core/images/param_actor.png copying images... [ 24%] ray-core/images/pong-arch.svg copying images... [ 25%] ray-core/images/ray_repo.png copying images... [ 25%] ray-core/images/download_zip_url.png copying images... [ 25%] ray-core/images/object_spilling_architecture.png copying images... [ 25%] ray-core/images/object_spilling_states.png copying images... [ 26%] ray-core/images/object_spilling_spill_sequence.png copying images... [ 26%] ray-core/images/object_spilling_restore_sequence.png copying images... [ 26%] ray-core/images/object_spilling_delete_sequence.png copying images... [ 27%] ray-core/images/task_name_dashboard.png copying images... [ 27%] ray-core/images/limit-pending-tasks.svg copying images... [ 27%] ray-core/images/tree-of-tasks.svg copying images... [ 27%] ray-core/images/pipelining.svg copying images... [ 28%] ray-core/images/ray-get-loop.svg copying images... [ 28%] ray-core/images/ray-get-submission-order.svg copying images... [ 28%] ray-core/images/ray-get-too-many-objects.svg copying images... [ 29%] ray-core/images/tree-of-actors.svg copying images... [ 29%] ray-core/images/unnecessary-ray-get-anti.svg copying images... [ 29%] ray-core/images/unnecessary-ray-get-better.svg copying images... [ 29%] ray-core/images/memory.svg copying images... [ 30%] ray-core/images/pg_image_1.png copying images... [ 30%] ray-core/images/pg_image_2.png copying images... [ 30%] ray-core/images/pg_image_3.png copying images... [ 31%] ray-core/images/pg_image_4.png copying images... [ 31%] ray-core/images/pg_image_5.png copying images... [ 31%] ray-core/images/pg_image_6.png copying images... [ 31%] ray-core/images/time-based-killing-policy.png copying images... [ 32%] ray-core/images/oom_killer_example.svg copying images... [ 32%] ray-core/images/oom_killer_example_killed_one.svg copying images... [ 32%] ray-core/images/oom_killer_example_killed_two.svg copying images... [ 33%] ray-core/images/physical_resources_vs_logical_resources.svg copying images... [ 33%] images/pipeline.png copying images... [ 33%] images/tasks.png copying images... [ 33%] images/actors.png copying images... [ 34%] images/objects.png copying images... [ 34%] images/air-ecosystem.svg copying images... [ 34%] ray-observability/images/dashboard-overview.png copying images... [ 35%] ray-observability/images/what-is-ray-observability.png copying images... [ 35%] ray-observability/images/importance-of-observability.png copying images... [ 35%] ray-observability/images/application-logging.png copying images... [ 35%] ray-observability/images/register-cluster.gif copying images... [ 36%] ray-observability/images/attach-paused-task.gif copying images... [ 36%] ray-observability/images/debugger-disconnect.gif copying images... [ 36%] ray-observability/images/post-mortem.gif copying images... [ 37%] ray-observability/images/coloring-actor-log-prefixes.png copying images... [ 37%] ray-observability/images/setup-logger-application.png copying images... [ 37%] images/profile.png copying images... [ 37%] images/stack.png copying images... [ 38%] ray-observability/images/ray-oom-kills.png copying images... [ 38%] ray-observability/images/unexpected-system-level-worker-failures.png copying images... [ 38%] ray-observability/images/dmsg.png copying images... [ 39%] ray-observability/images/oom-events.png copying images... [ 39%] ray-observability/images/htop.png copying images... [ 39%] ray-observability/images/head-node-addr.png copying images... [ 39%] ray-observability/images/metrics-node-view.png copying images... [ 40%] ray-observability/images/component-memory.png copying images... [ 40%] ray-observability/images/tasks-graph.png copying images... [ 40%] ray-observability/images/memory-profiling-files.png copying images... [ 41%] ray-observability/images/download-memory-profiling-files.png copying images... [ 41%] images/flamegraph.png copying images... [ 41%] ray-observability/images/memory-profiling-dashboard-view.png copying images... [ 41%] ray-observability/images/nsight-profiler-folder.png copying images... [ 42%] ray-observability/images/ray-event-export.png copying images... [ 42%] images/map-of-ray.svg copying images... [ 42%] ray-overview/images/ray_svg_logo.svg copying images... [ 43%] images/rayai_logo.png copying images... [ 43%] images/airflow_logo_full.png copying images... [ 43%] images/buildflow.png copying images... [ 43%] images/classyvision.png copying images... [ 44%] images/daft.png copying images... [ 44%] images/dask.png copying images... [ 44%] images/data_juicer.png copying images... [ 45%] images/flambe.png copying images... [ 45%] images/flowdapt.png copying images... [ 45%] images/flyte.png copying images... [ 45%] images/horovod.png copying images... [ 46%] images/hugging.png copying images... [ 46%] images/zoo.png copying images... [ 46%] images/nlu.png copying images... [ 47%] images/ludwig.png copying images... [ 47%] images/mars.png copying images... [ 47%] images/modin.png copying images... [ 47%] images/prefect.png copying images... [ 48%] images/pycaret.png copying images... [ 48%] images/intel.png copying images... [ 48%] images/raylight.png copying images... [ 49%] images/scikit.png copying images... [ 49%] images/seldon.png copying images... [ 49%] images/sematic.png copying images... [ 49%] images/spacy.png copying images... [ 50%] images/xgboost_logo.png copying images... [ 50%] images/lightgbm_logo.png copying images... [ 50%] ray-overview/images/volcano.png copying images... [ 51%] images/llm-stack.png copying images... [ 51%] data/images/batch_inference.png copying images... [ 51%] images/multi_model_serve.png copying images... [ 51%] images/tuning_use_case.png copying images... [ 52%] images/model_parallelism.png copying images... [ 52%] images/rllib_use_case.png copying images... [ 52%] rllib/images/checkpointing/save_and_restore.svg copying images... [ 53%] rllib/images/checkpointing/from_checkpoint.svg copying images... [ 53%] rllib/images/connector_v2/connector_generic.svg copying images... [ 53%] rllib/images/connector_v2/env_to_module_connector.svg copying images... [ 53%] rllib/images/connector_v2/learner_connector.svg copying images... [ 54%] rllib/images/connector_v2/generic_connector_pipeline.svg copying images... [ 54%] rllib/images/connector_v2/location_of_connector_pipelines_in_rllib.svg copying images... [ 54%] rllib/images/connector_v2/pipeline_batch_phases_single_agent.svg copying images... [ 55%] rllib/images/connector_v2/pipeline_batch_phases_multi_agent.svg copying images... [ 55%] rllib/images/connector_v2/pipeline_batch_phases_single_agent_w_states.svg copying images... [ 55%] rllib/images/connector_v2/env_runner_connector_pipelines.svg copying images... [ 55%] rllib/images/connector_v2/custom_pieces_in_env_to_module_pipeline.svg copying images... [ 56%] rllib/images/envs/external_env_setup_client_inference.svg copying images... [ 56%] rllib/images/rllib-index-header.svg copying images... [ 56%] rllib/images/rllib-logo.png copying images... [ 57%] rllib/images/sigils/single-agent.svg copying images... [ 57%] rllib/images/sigils/multi-agent.svg copying images... [ 57%] rllib/images/sigils/discr-actions.svg copying images... [ 57%] rllib/images/sigils/cont-actions.svg copying images... [ 58%] rllib/images/sigils/multi-gpu.svg copying images... [ 58%] rllib/images/sigils/multi-node-multi-gpu.svg copying images... [ 58%] rllib/images/rllib-new-api-stack-simple.svg copying images... [ 59%] rllib/images/rllib_key_concepts.svg copying images... [ 59%] rllib/images/envs/env_loop_concept.svg copying images... [ 59%] rllib/images/rl_modules/rl_module_overview.svg copying images... [ 59%] rllib/images/rl_modules/rl_module_in_env_runner.svg copying images... [ 60%] rllib/images/rl_modules/rl_module_in_learner.svg copying images... [ 60%] rllib/images/connector_v2/learner_connector_pipeline.svg copying images... [ 60%] rllib/images/connector_v2/custom_pieces_in_learner_pipeline.svg copying images... [ 61%] rllib/images/connector_v2/frame_stacking_connector_setup.svg copying images... [ 61%] rllib/images/metrics_logger_hierarchy.svg copying images... [ 61%] rllib/images/metrics_logger_api.svg copying images... [ 61%] rllib/images/envs/multi_agent_setup.svg copying images... [ 62%] rllib/images/envs/multi_agent_episode_simultaneous.svg copying images... [ 62%] rllib/images/envs/multi_agent_episode_turn_based.svg copying images... [ 62%] rllib/images/envs/multi_agent_episode_complex_order.svg copying images... [ 63%] rllib/images/trainer_class_overview.svg copying images... [ 63%] rllib/images/custom_metric.png copying images... [ 63%] rllib/images/rllib-exploration-api-table.svg copying images... [ 63%] rllib/images/algos/ppo-architecture.svg copying images... [ 64%] rllib/images/algos/dqn-architecture.svg copying images... [ 64%] rllib/images/algos/sac-architecture.svg copying images... [ 64%] rllib/images/algos/appo-architecture.svg copying images... [ 65%] rllib/images/algos/impala-architecture.svg copying images... [ 65%] rllib/images/impala.png copying images... [ 65%] rllib/images/algos/dreamerv3-architecture.svg copying images... [ 65%] rllib/images/dreamerv3/pong_1_2_and_4gpus.svg copying images... [ 66%] rllib/images/dreamerv3/atari100k_1_vs_4gpus.svg copying images... [ 66%] rllib/images/dreamerv3/dmc_1_vs_4gpus.svg copying images... [ 66%] rllib/images/algos/bc-architecture.svg copying images... [ 67%] rllib/images/algos/cql-architecture.svg copying images... [ 67%] rllib/images/algos/marwil-architecture.svg copying images... [ 67%] rllib/images/algos/curiosity-architecture.svg copying images... [ 67%] rllib/images/acrobot-v1.png copying images... [ 68%] rllib/images/MemoryTrackingCallbacks.png copying images... [ 68%] rllib/images/envs/single_agent_env_logo.svg copying images... [ 68%] rllib/images/envs/multi_agent_env_logo.svg copying images... [ 69%] rllib/images/envs/external_env_logo.svg copying images... [ 69%] rllib/images/envs/hierarchical_env_logo.svg copying images... [ 69%] rllib/images/envs/single_agent_setup.svg copying images... [ 69%] rllib/images/envs/env_runners.svg copying images... [ 70%] rllib/images/tensorflow.png copying images... [ 70%] rllib/images/pytorch.png copying images... [ 70%] rllib/images/offline/docs_rllib_offline_bc_episode_return_mean.svg copying images... [ 71%] rllib/images/offline/key_layers.svg copying images... [ 71%] rllib/images/offline/docs_rllib_offline_prelearner.svg copying images... [ 71%] rllib/images/scaling_axes_overview.svg copying images... [ 71%] rllib/images/episodes/usage_of_episodes.svg copying images... [ 72%] rllib/images/episodes/sa_episode.svg copying images... [ 72%] rllib/images/episodes/sa_episode_getters.svg copying images... [ 72%] rllib/images/episodes/sa_episode_non_finalized_vs_finalized.svg copying images... [ 73%] rllib/images/episodes/sa_episode_non_finalized.svg copying images... [ 73%] rllib/images/episodes/sa_episode_finalized.svg copying images... [ 73%] rllib/images/episodes/sa_episode_cut_and_lookback.svg copying images... [ 73%] rllib/images/rllib-logo.svg copying images... [ 74%] serve/images/capacity-queue-router-normal.png copying images... [ 74%] serve/images/capacity-queue-router-fault.png copying images... [ 74%] serve/advanced-guides/images/gang-single-pg.png copying images... [ 75%] serve/advanced-guides/images/gang-multi-pg.png copying images... [ 75%] serve/architecture-2.0.svg copying images... [ 75%] serve/logo.svg copying images... [ 75%] serve/llm/images/placement.png copying images... [ 76%] serve/llm/images/llmserver.png copying images... [ 76%] serve/llm/images/llmserver-ingress-rpc.png copying images... [ 76%] serve/llm/images/routing_centralized_store.png copying images... [ 77%] serve/llm/images/routing_broadcast_metrics.png copying images... [ 77%] serve/llm/images/dp.png copying images... [ 77%] serve/llm/images/dp_flow.png copying images... [ 77%] serve/llm/images/dp_pd.svg copying images... [ 78%] serve/llm/images/pd_arch.svg copying images... [ 78%] serve/llm/images/pd.svg copying images... [ 78%] serve/llm/images/direct_streaming_dashboard.png copying images... [ 79%] serve/llm/images/direct_streaming_architecture.png copying images... [ 79%] serve/llm/images/serve_llm_dashboard.png copying images... [ 79%] serve/tutorials/video-analysis/assets/gpu_utilization.png copying images... [ 79%] serve/tutorials/video-analysis/assets/presigned_vs_direct_s3.png copying images... [ 80%] serve/tutorials/video-analysis/assets/single_vs_multi_ffmpeg.png copying images... [ 80%] serve/tutorials/video-analysis/assets/chunk_video_analysis.png copying images... [ 80%] serve/tutorials/video-analysis/assets/ongoing.png copying images... [ 81%] serve/tutorials/video-analysis/assets/num_replicas.png copying images... [ 81%] serve/tutorials/video-analysis/assets/queue_len.png copying images... [ 81%] serve/tutorials/video-analysis/assets/processing_time_breakdown.png copying images... [ 81%] serve/tutorials/video-analysis/assets/throughput_analysis.png copying images... [ 82%] train/images/train-tuner.svg copying images... [ 82%] ../../_readthedocs/jupyter_execute/2108b6c6dc23e650b95a57d7c0b72a3082a10fb019aa771b04ca7148f5bf09e3.png copying images... [ 82%] templates/05_dreambooth_finetuning/dreambooth/images/dreambooth_example.png copying images... [ 83%] templates/05_dreambooth_finetuning/dreambooth/images/dreambooth_training.png copying images... [ 83%] ../../_readthedocs/jupyter_execute/ace6066cf2c3c344a5997b5cb8ff8951e133f98ac8446eb939244992aa663135.png copying images... [ 83%] images/accelerate_logo.png copying images... [ 83%] images/deepspeed_logo.svg copying images... [ 84%] images/tf_logo.png copying images... [ 84%] train/images/overview.png copying images... [ 84%] train/images/checkpoint_metrics_lifecycle.png copying images... [ 85%] train/images/checkpoint_lifecycle.png copying images... [ 85%] train/images/persistent_storage_checkpoint.png copying images... [ 85%] train/images/sync_vs_async_checkpointing.png copying images... [ 85%] train/images/train_ingest.png copying images... [ 86%] train/images/fault_tolerance/worker_failure_start.png copying images... [ 86%] train/images/fault_tolerance/worker_node_failure.png copying images... [ 86%] train/images/fault_tolerance/worker_node_replacement.png copying images... [ 87%] train/images/fault_tolerance/worker_group_recovery.png copying images... [ 87%] train/images/fault_tolerance/cluster_failure_start.png copying images... [ 87%] train/images/fault_tolerance/head_node_failure.png copying images... [ 87%] train/images/fault_tolerance/cluster_failure.png copying images... [ 88%] train/images/fault_tolerance/cluster_recovery.png copying images... [ 88%] train/images/hyperparameter_optimization/train_without_tune.png copying images... [ 88%] train/images/hyperparameter_optimization/train_tune_interop.png copying images... [ 89%] tune/images/ray-tune-viskit.png copying images... [ 89%] images/hyperband_bracket.png copying images... [ 89%] images/hyperband_eta.png copying images... [ 89%] images/hyperband_allocation.png copying images... [ 90%] data/examples/images/batch-training.svg copying images... [ 90%] tune/examples/includes/images/pbt_function_results.png copying images... [ 90%] images/tune_advanced_paper1.png copying images... [ 91%] ../../_readthedocs/jupyter_execute/ce1c0fd33903bfaf581ee2245c0dbb68d5c7079ad64a4f35dd0e1278b34e1ea7.png copying images... [ 91%] ../../_readthedocs/jupyter_execute/60e0d8726f400ee9d95b197738260f8989346ef4fe60d815b275d3d0b3c4b1f9.png copying images... [ 91%] ../../_readthedocs/jupyter_execute/6eeb09c68eafec5e2618a6c9485d8d03c0980af88139b9c100a0640f21c21def.png copying images... [ 91%] ../../_readthedocs/jupyter_execute/dea1643da130b41b1e6280052aa99f0df3a03448fa7d8412a3c8e0d7a3091ae9.png copying images... [ 92%] ../../_readthedocs/jupyter_execute/c59f1361baaaeb15a318864bea3939459e61fb1f46e6bc9f08f247f6ed156189.png copying images... [ 92%] tune/examples/pbt_visualization/pbt.gif copying images... [ 92%] ../../_readthedocs/jupyter_execute/45a657ab26016ddca7a6ed8618b3d7238913bccbf302166816c2b35c94c66d70.png copying images... [ 93%] tune/examples/pbt_visualization/figure_from_paper.png copying images... [ 93%] ../../_readthedocs/jupyter_execute/d3b32145dc5ba2b87e9f1cc1ec6b6cd4abd1b6346be7ee27320d37db30c2a192.png copying images... [ 93%] tune/examples/pbt_visualization/pbt4.gif copying images... [ 93%] images/aim_logo_full.png copying images... [ 94%] images/aim_example_metrics_page.png copying images... [ 94%] images/comet_logo_full.png copying images... [ 94%] images/mlflow.png copying images... [ 95%] images/pytorch_logo.png copying images... [ 95%] images/pytorch_lightning_full.png copying images... [ 95%] images/wandb_logo_full.png copying images... [ 95%] images/tune-xgboost-ensemble.svg copying images... [ 96%] images/tune-xgboost-depth.svg copying images... [ 96%] images/tune-xgboost-weight.svg copying images... [ 96%] ../../_readthedocs/jupyter_execute/9db28a3d88c4f1c01592e695c2ac84d9bfcc889820774806e3f0210118cafa05.png copying images... [ 97%] ../../_readthedocs/jupyter_execute/82e684fc9512d6186a43174eba0f92d64e36b9b625da83ec39f0709d3b7219a8.png copying images... [ 97%] ../../_readthedocs/jupyter_execute/55afb00d1e20d980ce404aaae70714939e8f5bacdb431046bc59a42c4455d5e6.png copying images... [ 97%] images/tf_keras_logo.jpeg copying images... [ 97%] images/hyper-model-parameters.png copying images... [ 98%] images/hyper-network-params.png copying images... [ 98%] images/tune-df-plot.png copying images... [ 98%] tune/images/tune_overview.png copying images... [ 99%] tune/images/tune_flow.png copying images... [ 99%] images/tune-upload.png copying images... [ 99%] images/tune-arch.png copying images... [ 99%] images/tune-trial-runner-flow-horizontal.png copying images... [100%] tune/images/ray-tune-tensorboard.png copying images... [100%] images/tune-hparams.png dumping object inventory... done sphinx-sitemap: sitemap.xml was generated for URL https://docs.ray.io/en/latest/ in /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/_readthedocs/html/sitemap.xml Final clean of collections ... Found 3425 additional files not in toctree sphinx-llms-txt: Created /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/_readthedocs/html/llms-full.txt with 660 sources and 136451 lines sphinx-llms-txt: created /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/checkouts/master/_readthedocs/html/llms.txt build succeeded. The HTML pages are in ../../_readthedocs/html.