diff --git a/docs/Makefile b/docs/Makefile
index 5f3828f39..1fca4c922 100644
--- a/docs/Makefile
+++ b/docs/Makefile
@@ -13,7 +13,7 @@ help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
clean:
- rm -rf build source/examples
+ rm -rf build source/examples NVTabular core dataloader models systems Transformers4Rec source/api_core/ source/api_dataloader.rst source/api_models.rst source/api_nvtabular.rst source/api_systems.rst source/api_transformers4rec/
.PHONY: help clean Makefile
diff --git a/docs/requirements-doc.txt b/docs/requirements-doc.txt
index 25b49b271..4d1fbfecb 100644
--- a/docs/requirements-doc.txt
+++ b/docs/requirements-doc.txt
@@ -18,3 +18,19 @@ PyGithub<1.56
semver>=2,<3
pytest<7.3
coverage<6.6
+
+# Libraries
+tensorflow>=2.9,<2.13
+torch
+torchmetrics
+jax[cpu]
+tritonclient[all]
+requests>=2.10,<3
+treelite==2.4.0
+treelite_runtime==2.4.0
+git+https://github.com/NVIDIA-Merlin/core.git
+git+https://github.com/NVIDIA-Merlin/dataloader.git
+git+https://github.com/NVIDIA-Merlin/models.git
+git+https://github.com/NVIDIA-Merlin/NVTabular.git
+git+https://github.com/NVIDIA-Merlin/systems.git
+git+https://github.com/NVIDIA-Merlin/Transformers4Rec.git
\ No newline at end of file
diff --git a/docs/source/_templates/layout.html b/docs/source/_templates/layout.html
index b053113ba..abade74a1 100644
--- a/docs/source/_templates/layout.html
+++ b/docs/source/_templates/layout.html
@@ -1,5 +1,4 @@
{%- extends "!layout.html" %}
-
{%- block extrahead %}
{%- if analytics_id %}
@@ -18,4 +17,4 @@
-{%- endblock %}
+{%- endblock %}
\ No newline at end of file
diff --git a/docs/source/conf.py b/docs/source/conf.py
index aa8311c81..14abeab4d 100644
--- a/docs/source/conf.py
+++ b/docs/source/conf.py
@@ -6,6 +6,7 @@
from natsort import natsorted
+sys.path.insert(0, os.path.abspath("/models/"))
docs_dir = os.path.dirname(__file__)
repodir = os.path.abspath(os.path.join(__file__, r"../../.."))
gitdir = os.path.join(repodir, r".git")
@@ -25,6 +26,7 @@
"myst_nb",
"sphinx_multiversion",
"sphinx.ext.autodoc",
+ "sphinx.ext.autosummary",
"sphinx.ext.coverage",
"sphinx.ext.githubpages",
"sphinx.ext.napoleon",
diff --git a/docs/source/toc.yaml b/docs/source/toc.yaml
index 3140d57c0..4eafd0382 100644
--- a/docs/source/toc.yaml
+++ b/docs/source/toc.yaml
@@ -53,4 +53,23 @@ subtrees:
- file: examples/scaling-criteo/04-Triton-Inference-with-Merlin-Models-TensorFlow.ipynb
title: Deploy the TensorFlow Model with Triton
- file: containers.rst
- - file: support_matrix/index.rst
\ No newline at end of file
+ - file: support_matrix/index.rst
+
+ - caption: API documentation
+ entries:
+ - file: api_core/merlin.dag
+ title: merlin.dag
+ - file: api_dataloader
+ title: merlin.loader
+ - file: api_core/merlin.io
+ title: merlin.io
+ - file: api_models
+ title: merlin.models
+ - file: api_core/merlin.schema
+ title: merlin.schema
+ - file: api_systems
+ title: merlin.systems
+ - file: api_nvtabular
+ title: nvtabular
+ - file: api_transformers4rec/modules
+ title: transformers4rec
diff --git a/tox.ini b/tox.ini
index 132992517..e2d2ee9f6 100644
--- a/tox.ini
+++ b/tox.ini
@@ -61,14 +61,47 @@ commands =
; Generates documentation with sphinx. There are other steps in the Github Actions workflow
; to publish the documentation on release.
changedir = {toxinidir}
-deps = -rdocs/requirements-doc.txt
+deps =
+ -rdocs/requirements-doc.txt
+allowlist_externals =
+ git
+ cp
commands =
+ git clone --depth 1 https://github.com/NVIDIA-Merlin/core.git ./docs/core
+ cp -r ./docs/core/docs/source/api ./docs/source/api_core/
+ git clone --depth 1 https://github.com/NVIDIA-Merlin/dataloader.git ./docs/dataloader
+ cp ./docs/dataloader/docs/source/api.rst ./docs/source/api_dataloader.rst
+ git clone --depth 1 https://github.com/NVIDIA-Merlin/models.git ./docs/models
+ cp ./docs/models/docs/source/api.rst ./docs/source/api_models.rst
+ git clone --depth 1 https://github.com/NVIDIA-Merlin/NVTabular.git ./docs/NVTabular
+ cp ./docs/NVTabular/docs/source/api.rst ./docs/source/api_nvtabular.rst
+ git clone --depth 1 https://github.com/NVIDIA-Merlin/systems.git ./docs/systems
+ cp ./docs/systems/docs/source/api.rst ./docs/source/api_systems.rst
+ git clone --depth 1 https://github.com/NVIDIA-Merlin/Transformers4Rec.git ./docs/Transformers4Rec
+ cp -r ./docs/Transformers4Rec/docs/source/api ./docs/source/api_transformers4rec/
python -m sphinx.cmd.build -E -P -b html docs/source docs/build/html
+
[testenv:docs-multi]
; Run the multi-version build that is shown on GitHub Pages.
changedir = {toxinidir}
-deps = -rdocs/requirements-doc.txt
+deps =
+ -rdocs/requirements-doc.txt
+allowlist_externals =
+ git
+ cp
commands =
+ git clone --depth 1 https://github.com/NVIDIA-Merlin/core.git ./docs/core
+ cp -r ./docs/core/docs/source/api ./docs/source/api_core/
+ git clone --depth 1 https://github.com/NVIDIA-Merlin/dataloader.git ./docs/dataloader
+ cp ./docs/dataloader/docs/source/api.rst ./docs/source/api_dataloader.rst
+ git clone --depth 1 https://github.com/NVIDIA-Merlin/models.git ./docs/models
+ cp ./docs/models/docs/source/api.rst ./docs/source/api_models.rst
+ git clone --depth 1 https://github.com/NVIDIA-Merlin/NVTabular.git ./docs/NVTabular
+ cp ./docs/NVTabular/docs/source/api.rst ./docs/source/api_nvtabular.rst
+ git clone --depth 1 https://github.com/NVIDIA-Merlin/systems.git ./docs/systems
+ cp ./docs/systems/docs/source/api.rst ./docs/source/api_systems.rst
+ git clone --depth 1 https://github.com/NVIDIA-Merlin/Transformers4Rec.git ./docs/Transformers4Rec
+ cp -r ./docs/Transformers4Rec/docs/source/api ./docs/source/api_transformers4rec/
sphinx-multiversion --dump-metadata docs/source docs/build/html | jq "keys"
- sphinx-multiversion docs/source docs/build/html
+ sphinx-multiversion docs/source docs/build/html
\ No newline at end of file