diff --git a/.gitignore b/.gitignore
index 57dca2e..823aa01 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,13 +7,12 @@ __pycache__
.tmp
.test_assets/
build
+gh_pages_build
*.DS_Store
logs/
.devcontainer/
gigl.egg-info/
gigl_dataflow_setup.egg-info/
-large_scale_gnn.egg-info/
-gigantic_graph_learning.egg-info/
.python-version
dist/
*.egg-info/
@@ -39,8 +38,6 @@ graphlearn_torch/
graphlearn_torch.egg-info/
.git/
-do_not_open_source
-
# Ignore downloaded fossa files.
fossa
fossa.bundle
diff --git a/Makefile b/Makefile
index 968a2df..e1f9126 100644
--- a/Makefile
+++ b/Makefile
@@ -3,6 +3,7 @@ include dep_vars.env
SHELL := /bin/bash
CONDA_ENV_NAME=gnn
PYTHON_VERSION=3.9
+PIP_VERSION=25.0.1
DATE:=$(shell /bin/date "+%Y%m%d-%H%M")
# GIT HASH, or empty string if not in a git repo.
@@ -37,7 +38,7 @@ get_ver_hash:
$(eval GIT_COMMIT=$(shell git log -1 --pretty=format:"%H"))
initialize_environment:
- conda create -y -c conda-forge --name ${CONDA_ENV_NAME} python=${PYTHON_VERSION} pip-tools
+ conda create -y -c conda-forge --name ${CONDA_ENV_NAME} python=${PYTHON_VERSION} pip=${PIP_VERSION} pip-tools
@echo "If conda environment was successfully installed, ensure to activate it and run \`make install_dev_deps\` or \`make install_deps\` to complete setup"
clean_environment:
@@ -194,7 +195,7 @@ format_py:
format_scala:
# We run "clean" before the formatting because otherwise some "scalafix.sbt.ScalafixFailed: NoFilesError" may get thrown after switching branches...
- # TODO(kmonte): Once open sourced, follow up with scalafix people on this.
+ # TODO(kmonte): Once open sourced, follow up with scalafix team on this.
( cd scala; sbt clean scalafixAll scalafmtAll )
( cd scala_spark35; sbt clean scalafixAll scalafmtAll )
@@ -476,3 +477,7 @@ release_gigl:
publish_docs:
@echo "This needs to be implemented"
+
+build_docs:
+ sphinx-build -M clean . gh_pages_build
+ sphinx-build -M html . gh_pages_build
diff --git a/README.md b/README.md
index 670aec4..ae42c86 100644
--- a/README.md
+++ b/README.md
@@ -11,6 +11,11 @@
+
+ ⚠️ NOTICE ⚠️
+
+
+
@@ -49,15 +54,12 @@ The components are as follows:
| Component | Source Code | Documentation |
|-------------------|---------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------|
-| Config Populator | [here](python/gigl/src/config_populator/config_populator.py) |
-[here](docs/sphinx/source/components/config_populator.md) | | Data Preprocessor |
-[here](python/gigl/src/data_preprocessor/data_preprocessor.py) |
-[here](docs/sphinx/source/components/data_preprocessor.md) | | Subgraph Sampler |
-[here](scala/subgraph_sampler/src/main/scala/Main.scala) | [here](docs/sphinx/source/components/subgraph_sampler.md) | |
-Split Generator | [here](scala/split_generator/src/main/scala/Main.scala) |
-[here](docs/sphinx/source/components/split_generator.md) | | Trainer | [here](python/gigl/src/training/trainer.py) |
-[here](docs/sphinx/source/components/trainer.md) | | Inferencer | [here](python/gigl/src/inference/gnn_inferencer.py) |
-[here](docs/sphinx/source/components/inferencer.md) |
+| Config Populator | [here](python/gigl/src/config_populator/config_populator.py) | [here](docs/sphinx/source/components/config_populator.md) |
+| Data Preprocessor | [here](python/gigl/src/data_preprocessor/data_preprocessor.py) | [here](docs/sphinx/source/components/data_preprocessor.md) |
+| Subgraph Sampler | [here](scala/subgraph_sampler/src/main/scala/Main.scala) | [here](docs/sphinx/source/components/subgraph_sampler.md) |
+| Split Generator | [here](scala/split_generator/src/main/scala/Main.scala) | [here](docs/sphinx/source/components/split_generator.md) |
+| Trainer | [here](python/gigl/src/training/trainer.py) | [here](docs/sphinx/source/components/trainer.md) |
+| Inferencer | [here](python/gigl/src/inference/gnn_inferencer.py) | [here](docs/sphinx/source/components/inferencer.md) |
The figure below illustrates at a high level how all the components work together for and end-to-end GiGL pipeline.
diff --git a/conf.py b/conf.py
new file mode 100644
index 0000000..848d7fa
--- /dev/null
+++ b/conf.py
@@ -0,0 +1,65 @@
+# Configuration file for the Sphinx documentation builder.
+#
+# For the full list of built-in configuration values, see the documentation:
+# https://www.sphinx-doc.org/en/master/usage/configuration.html
+
+# -- Project information -----------------------------------------------------
+# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information
+
+import pathlib
+
+curr_file_dir = pathlib.Path(__file__).parent.resolve()
+
+project = 'GiGL'
+copyright = '2025, Snap Inc'
+author = 'Snap Inc'
+
+# -- General configuration ---------------------------------------------------
+# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
+
+
+# https://www.sphinx-doc.org/en/master/usage/extensions/index.html
+extensions = [
+ "sphinx.ext.autodoc", # Pull in documentation from docstrings
+ "sphinx.ext.autosummary", # Generates function/method/attribute summary lists
+ "myst_parser", # Parsing markdown files: https://myst-parser.readthedocs.io/en/v0.15.1/sphinx/intro.html
+ "sphinx_design", # needed by themes
+]
+
+myst_enable_extensions = [
+ "html_image", # Convert
tags in markdown files; https://myst-parser.readthedocs.io/en/latest/syntax/optional.html#html-images
+]
+
+include_patterns = [
+ "docs/**",
+ "python/**",
+ "snapchat/**",
+ "index.rst",
+]
+
+
+templates_path = [
+ 'gh_pages_source/_templates'
+]
+html_static_path = [
+ 'gh_pages_source/_static',
+]
+
+# -- Options for HTML output -------------------------------------------------
+# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output
+html_theme = "pydata_sphinx_theme" # https://pydata-sphinx-theme.readthedocs.io/en/stable/
+html_logo = "docs/assets/images/gigl.png"
+html_theme_options = {
+ # https://pydata-sphinx-theme.readthedocs.io/en/stable/user_guide/header-links.html#icon-links
+ "icon_links": [
+ {
+ "name": "GitHub",
+ "url": "https://github.com/Snapchat/GiGL",
+ "icon": "fa-brands fa-github",
+ }
+ ],
+ "logo": {
+ "text": "GiGL",
+ "image_dark": "docs/assets/images/gigl.png",
+ }
+}
diff --git a/docs/api_reference/index.rst b/docs/api_reference/index.rst
new file mode 100644
index 0000000..6be045d
--- /dev/null
+++ b/docs/api_reference/index.rst
@@ -0,0 +1,14 @@
+.. This file contains instructions to autogenerate API documentation using Sphinx.
+.. See: `conf.py` for configuration options.
+
+=============
+API Reference
+=============
+
+.. autosummary::
+ :toctree: _autosummary
+ :template: module.rst
+ :recursive:
+
+ gigl
+ snapchat
diff --git a/docs/sphinx/source/_static/images/config_populator_icon.png b/docs/assets/images/config_populator_icon.png
similarity index 100%
rename from docs/sphinx/source/_static/images/config_populator_icon.png
rename to docs/assets/images/config_populator_icon.png
diff --git a/docs/sphinx/source/_static/images/data_preprocessor_icon.png b/docs/assets/images/data_preprocessor_icon.png
similarity index 100%
rename from docs/sphinx/source/_static/images/data_preprocessor_icon.png
rename to docs/assets/images/data_preprocessor_icon.png
diff --git a/docs/assets/images/gigl-framework.png b/docs/assets/images/gigl-framework.png
deleted file mode 100644
index 9cf5ff6..0000000
Binary files a/docs/assets/images/gigl-framework.png and /dev/null differ
diff --git a/docs/assets/images/gigl_nablp.png b/docs/assets/images/gigl_nablp.png
new file mode 100644
index 0000000..b03fbe0
Binary files /dev/null and b/docs/assets/images/gigl_nablp.png differ
diff --git a/docs/assets/images/gigl_system_fig.png b/docs/assets/images/gigl_system_fig.png
new file mode 100644
index 0000000..50f4bb0
Binary files /dev/null and b/docs/assets/images/gigl_system_fig.png differ
diff --git a/docs/sphinx/source/_static/images/inferencer_icon.png b/docs/assets/images/inferencer_icon.png
similarity index 100%
rename from docs/sphinx/source/_static/images/inferencer_icon.png
rename to docs/assets/images/inferencer_icon.png
diff --git a/docs/sphinx/source/_static/images/split_generator_icon.png b/docs/assets/images/split_generator_icon.png
similarity index 100%
rename from docs/sphinx/source/_static/images/split_generator_icon.png
rename to docs/assets/images/split_generator_icon.png
diff --git a/docs/sphinx/source/_static/images/subgraph_sampler_icon.png b/docs/assets/images/subgraph_sampler_icon.png
similarity index 100%
rename from docs/sphinx/source/_static/images/subgraph_sampler_icon.png
rename to docs/assets/images/subgraph_sampler_icon.png
diff --git a/docs/sphinx/source/_static/images/trainer_icon.png b/docs/assets/images/trainer_icon.png
similarity index 100%
rename from docs/sphinx/source/_static/images/trainer_icon.png
rename to docs/assets/images/trainer_icon.png
diff --git a/docs/sphinx/Makefile b/docs/sphinx/Makefile
deleted file mode 100644
index d0c3cbf..0000000
--- a/docs/sphinx/Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
-# Minimal makefile for Sphinx documentation
-#
-
-# You can set these variables from the command line, and also
-# from the environment for the first two.
-SPHINXOPTS ?=
-SPHINXBUILD ?= sphinx-build
-SOURCEDIR = source
-BUILDDIR = build
-
-# Put it first so that "make" without argument is like "make help".
-help:
- @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
-
-.PHONY: help Makefile
-
-# Catch-all target: route all unknown targets to Sphinx using the new
-# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
-%: Makefile
- @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
diff --git a/docs/sphinx/source/_static/css/custom.css b/docs/sphinx/source/_static/css/custom.css
deleted file mode 100644
index 00bc385..0000000
--- a/docs/sphinx/source/_static/css/custom.css
+++ /dev/null
@@ -1,64 +0,0 @@
-.btn-info,
-.wy-menu-vertical a:active,
-.wy-side-nav-search,
-.wy-side-nav-search img,
-.wy-nav .wy-menu-vertical a:hover,
-.wy-nav-top img,
-.wy-tray-item-info,
-.wy-side-nav-search,
-.wy-dropdown-menu>dd>a:hover,
-.wy-dropdown-menu a:hover,
-.wy-nav-top {
- background-color: #FFEB3B !important;
-}
-
-/* Gloabl Configuration */
-:root {
- --pst-sidebar-font-size: 1.0em;
- --pst-sidebar-header-font-size: 1.0em;
- --pst-sidebar-secondary-font-size: 0.9em;
- --pst-header-height: 44px;
- --pst-font-family-base: 'Inter', var(--pst-font-family-base-system); /* Google Font see conf.py */
- --pst-font-family-heading: 'Inter', var(--pst-font-family-base-system); /* Google Font see conf.py */
- --pst-font-weight-heading: 700;
- --pst-font-color-heading: #0A0C13;
-}
-
-/* Back to Top button */
-#pst-back-to-top {
- background-color: #FFFC00;
- border: none;
- color: #0A0C13;
- display: none;
- left: 50vw;
- position: fixed;
- top: 90vh;
- transform: translate(-50%);
- z-index: 1080;
-}
-
-a.headerlink {
- color: #FFEB3B; /* Snapchat Yellow (two shades darker for better visibility on light background) */
- font-size: .8em;
- margin-left: 0.2em;
- opacity: .7;
- padding: 0 4px;
- text-decoration: none;
- transition: all .2s ease-out;
- user-select: none;
-}
-
-html[data-theme="light"] {
- --pst-color-secondary: #FFEB3B; /* Snapchat Yellow (two shades darker for better visibility on light background) */
- --pst-font-size-h1: 1.9rem;
- --pst-font-size-h2: 1.25rem;
- --pst-font-size-h3: 1.25rem;
-}
-
-html[data-theme="dark"] {
- --pst-color-primary: #FFFC00; /* Snapchat Yellow */
- --pst-color-secondary: #FFFC00; /* Snapchat Yellow */
- --pst-font-size-h1: 1.9rem;
- --pst-font-size-h2: 1.5rem;
- --pst-font-size-h3: 1.25rem;
-}
\ No newline at end of file
diff --git a/docs/sphinx/source/conf.py b/docs/sphinx/source/conf.py
deleted file mode 100644
index fd77e05..0000000
--- a/docs/sphinx/source/conf.py
+++ /dev/null
@@ -1,84 +0,0 @@
-# Configuration file for the Sphinx documentation builder.
-#
-# For the full list of built-in configuration values, see the documentation:
-# https://www.sphinx-doc.org/en/master/usage/configuration.html
-
-# -- Project information -----------------------------------------------------
-# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information
-
-import os
-import sys
-import datetime
-
-
-# Add source folder to path for autodoc
-sys.path.insert(0, os.path.abspath("../../../python/gigl"))
-
-project = 'GiGL'
-copyright = f'{datetime.date.today().year}, Snap Inc'
-author = 'Snap Inc'
-
-# -- General configuration ---------------------------------------------------
-# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
-extensions = [
- "sphinx.ext.autodoc",
- "sphinx.ext.autosummary",
- "sphinx.ext.napoleon",
- "myst_parser",
- "sphinx_design",
-]
-templates_path = ['_templates']
-exclude_patterns = []
-
-
-
-# -- Options for HTML output -------------------------------------------------
-# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output
-
-html_theme = "pydata_sphinx_theme"
-html_logo = "../../../docs/assets/images/gigl.png"
-html_static_path = ['_static']
-source_suffix = ['.rst', '.md']
-
-html_css_files = [
- "css/custom.css",
- "https://fonts.googleapis.com/css?family=Inter:100,200,300,regular,500,600,700,800,900",
-]
-
-myst_enable_extensions = [
- 'colon_fence',
-]
-
-html_theme_options = {
- "icon_links": [
- {
- "name": "GitHub",
- "url": "https://github.com/Snapchat/GiGL",
- "icon": "fa-brands fa-github",
- },
- {
- "name": "PyPI",
- "url": "https://pypi.org/project/gigl/",
- "icon": "fa-custom fa-pypi",
- },
- ],
- # alternative way to set twitter and github header icons
- # "github_url": "https://github.com/pydata/pydata-sphinx-theme",
- # "twitter_url": "https://twitter.com/PyData",
- "logo": {
- "text": "GiGL",
- "image_dark": "../../../docs/assets/images/gigl.png",
- },
- # "navbar_start": ["navbar-logo"],
- # "navbar_end": ["theme-switcher", "navbar-icon-links"],
- # "navbar_persistent": ["search-button"],
- # "primary_sidebar_end": ["custom-template", "sidebar-ethical-ads"],
- # "article_footer_items": ["test", "test"],
- # "content_footer_items": ["test", "test"],
- #"footer_start": ["copyright"],
- #"footer_center": ["sphinx-version"],
- #"secondary_sidebar_items": {
- # "**/*": ["page-toc", "edit-this-page", "sourcelink"],
- # "examples/no-sidebar": [],
- #},
-}
diff --git a/docs/sphinx/source/index.rst b/docs/sphinx/source/index.rst
deleted file mode 100644
index afbf780..0000000
--- a/docs/sphinx/source/index.rst
+++ /dev/null
@@ -1,16 +0,0 @@
-.. include:: ../../../README.md
- :parser: myst_parser.sphinx_
-
-
-Indices and tables
-==================
-
-* :ref:`genindex`
-* :ref:`modindex`
-* :ref:`search`
-
-.. toctree::
- :hidden:
-
- user_guide/index
- reference/index
\ No newline at end of file
diff --git a/docs/sphinx/source/reference/index.rst b/docs/sphinx/source/reference/index.rst
deleted file mode 100644
index a1fc651..0000000
--- a/docs/sphinx/source/reference/index.rst
+++ /dev/null
@@ -1,14 +0,0 @@
-=============
-API Reference
-=============
-
-.. autosummary::
- :toctree: _autosummary
- :template: module.rst
- :recursive:
-
- common
- env
- src
- orchestration
-
diff --git a/docs/sphinx/source/user_guide/contributing/contributing_guide.md b/docs/sphinx/source/user_guide/contributing/contributing_guide.md
deleted file mode 100644
index 4f1c99f..0000000
--- a/docs/sphinx/source/user_guide/contributing/contributing_guide.md
+++ /dev/null
@@ -1 +0,0 @@
-# Contributing Guide
diff --git a/docs/sphinx/source/user_guide/overview/components.md b/docs/sphinx/source/user_guide/overview/components.md
deleted file mode 100644
index 44cfe24..0000000
--- a/docs/sphinx/source/user_guide/overview/components.md
+++ /dev/null
@@ -1,64 +0,0 @@
-# GiGL Components
-
-::::{grid} 1 2 2 3 :gutter: 1 1 1 2
-
-:::{grid-item-card} Config Populator
-
-```{image} ../../_static/images/config_populator_icon.png
-:target:
-:width: 100%
-```
-
-Component for processing template config files and updating with fields that are needed for downstream components. +++
-[More Details](../../components/config_populator) :::
-
-:::{grid-item-card} Data Preprocessor
-
-```{image} ../../_static/images/data_preprocessor_icon.png
-:target:
-:width: 100%
-```
-
-Component for reading and processing node, edge, and feature data and transforming it as needed for downstream
-components. +++ [More Details](../../components/data_preprocessor) :::
-
-:::{grid-item-card} Subgraph Sampler
-
-```{image} ../../_static/images/subgraph_sampler_icon.png
-:target:
-:width: 100%
-```
-
-Component that generates k-hop localized subgraphs for each node in the graph. +++
-[More Details](../../components/subgraph_sampler) :::
-
-:::{grid-item-card} Split Generator
-
-```{image} ../../_static/images/split_generator_icon.png
-:target:
-:width: 100%
-```
-
-Component to split the data into training, validation, and test sets. +++
-[More Details](../../components/split_generator) :::
-
-:::{grid-item-card} Trainer
-
-```{image} ../../_static/images/trainer_icon.png
-:target:
-:width: 100%
-```
-
-Component to run distributed training either locally or on the cloud. +++ [More Details](../../components/trainer) :::
-
-:::{grid-item-card} Inferencer
-
-```{image} ../../_static/images/inferencer_icon.png
-:target:
-:width: 100%
-```
-
-Compoennt that runs inference to generate output embeddings and/or predictions +++
-[More Details](../../components/inferencer) :::
-
-::::
diff --git a/docs/sphinx/source/user_guide/assets/docker_images.md b/docs/user_guide/assets/docker_images.md
similarity index 100%
rename from docs/sphinx/source/user_guide/assets/docker_images.md
rename to docs/user_guide/assets/docker_images.md
diff --git a/docs/sphinx/source/user_guide/assets/public_data.md b/docs/user_guide/assets/public_data.md
similarity index 100%
rename from docs/sphinx/source/user_guide/assets/public_data.md
rename to docs/user_guide/assets/public_data.md
diff --git a/docs/sphinx/source/components/config_populator.md b/docs/user_guide/components/config_populator.md
similarity index 100%
rename from docs/sphinx/source/components/config_populator.md
rename to docs/user_guide/components/config_populator.md
diff --git a/docs/sphinx/source/components/data_preprocessor.md b/docs/user_guide/components/data_preprocessor.md
similarity index 100%
rename from docs/sphinx/source/components/data_preprocessor.md
rename to docs/user_guide/components/data_preprocessor.md
diff --git a/docs/sphinx/source/components/inferencer.md b/docs/user_guide/components/inferencer.md
similarity index 100%
rename from docs/sphinx/source/components/inferencer.md
rename to docs/user_guide/components/inferencer.md
diff --git a/docs/sphinx/source/components/split_generator.md b/docs/user_guide/components/split_generator.md
similarity index 100%
rename from docs/sphinx/source/components/split_generator.md
rename to docs/user_guide/components/split_generator.md
diff --git a/docs/sphinx/source/components/subgraph_sampler.md b/docs/user_guide/components/subgraph_sampler.md
similarity index 100%
rename from docs/sphinx/source/components/subgraph_sampler.md
rename to docs/user_guide/components/subgraph_sampler.md
diff --git a/docs/sphinx/source/components/trainer.md b/docs/user_guide/components/trainer.md
similarity index 100%
rename from docs/sphinx/source/components/trainer.md
rename to docs/user_guide/components/trainer.md
diff --git a/docs/sphinx/source/user_guide/config_guides/resource_config_guide.md b/docs/user_guide/config_guides/resource_config_guide.md
similarity index 100%
rename from docs/sphinx/source/user_guide/config_guides/resource_config_guide.md
rename to docs/user_guide/config_guides/resource_config_guide.md
diff --git a/docs/sphinx/source/user_guide/config_guides/task_config_guide.md b/docs/user_guide/config_guides/task_config_guide.md
similarity index 100%
rename from docs/sphinx/source/user_guide/config_guides/task_config_guide.md
rename to docs/user_guide/config_guides/task_config_guide.md
diff --git a/docs/sphinx/source/user_guide/custom_specs/data_preprocessor_spec_guide.md b/docs/user_guide/custom_specs/data_preprocessor_spec_guide.md
similarity index 100%
rename from docs/sphinx/source/user_guide/custom_specs/data_preprocessor_spec_guide.md
rename to docs/user_guide/custom_specs/data_preprocessor_spec_guide.md
diff --git a/docs/sphinx/source/user_guide/custom_specs/modelling_task_spec_guide.md b/docs/user_guide/custom_specs/modelling_task_spec_guide.md
similarity index 100%
rename from docs/sphinx/source/user_guide/custom_specs/modelling_task_spec_guide.md
rename to docs/user_guide/custom_specs/modelling_task_spec_guide.md
diff --git a/docs/sphinx/source/user_guide/examples/example1.md b/docs/user_guide/examples/example1.md
similarity index 100%
rename from docs/sphinx/source/user_guide/examples/example1.md
rename to docs/user_guide/examples/example1.md
diff --git a/docs/sphinx/source/user_guide/examples/example2.md b/docs/user_guide/examples/example2.md
similarity index 100%
rename from docs/sphinx/source/user_guide/examples/example2.md
rename to docs/user_guide/examples/example2.md
diff --git a/docs/sphinx/source/user_guide/getting_started/cloud_setup_guide.md b/docs/user_guide/getting_started/cloud_setup_guide.md
similarity index 100%
rename from docs/sphinx/source/user_guide/getting_started/cloud_setup_guide.md
rename to docs/user_guide/getting_started/cloud_setup_guide.md
diff --git a/docs/sphinx/source/user_guide/getting_started/installation.md b/docs/user_guide/getting_started/installation.md
similarity index 100%
rename from docs/sphinx/source/user_guide/getting_started/installation.md
rename to docs/user_guide/getting_started/installation.md
diff --git a/docs/sphinx/source/user_guide/getting_started/orchestration.md b/docs/user_guide/getting_started/orchestration.md
similarity index 100%
rename from docs/sphinx/source/user_guide/getting_started/orchestration.md
rename to docs/user_guide/getting_started/orchestration.md
diff --git a/docs/sphinx/source/user_guide/getting_started/quick_start.md b/docs/user_guide/getting_started/quick_start.md
similarity index 100%
rename from docs/sphinx/source/user_guide/getting_started/quick_start.md
rename to docs/user_guide/getting_started/quick_start.md
diff --git a/docs/sphinx/source/user_guide/index.md b/docs/user_guide/index.md
similarity index 100%
rename from docs/sphinx/source/user_guide/index.md
rename to docs/user_guide/index.md
diff --git a/docs/user_guide/overview/components.md b/docs/user_guide/overview/components.md
new file mode 100644
index 0000000..b76137f
--- /dev/null
+++ b/docs/user_guide/overview/components.md
@@ -0,0 +1,55 @@
+# GiGL Components
+
+## Config Populator
+
+
+
+Component for processing template config files and updating with fields that are needed for downstream components.
+[More Details](../components/config_populator)
+
+---
+
+## Data Preprocessor
+
+
+
+Component for reading and processing node, edge, and feature data and transforming it as needed for downstream components.
+[More Details](../components/data_preprocessor)
+
+---
+
+## Subgraph Sampler
+
+
+
+Component that generates k-hop localized subgraphs for each node in the graph.
+[More Details](../components/subgraph_sampler)
+
+---
+## Split Generator
+
+
+
+
+Component to split the data into training, validation, and test sets.
+[More Details](../components/split_generator)
+
+---
+
+## Trainer
+
+
+
+
+Component to run distributed training either locally or on the cloud.
+[More Details](../components/trainer)
+
+---
+
+## Inferencer
+
+
+
+
+Component that runs inference to generate output embeddings and/or predictions
+[More Details](../components/inferencer)
diff --git a/docs/sphinx/source/user_guide/overview/what_is_gigl.md b/docs/user_guide/overview/what_is_gigl.md
similarity index 100%
rename from docs/sphinx/source/user_guide/overview/what_is_gigl.md
rename to docs/user_guide/overview/what_is_gigl.md
diff --git a/docs/sphinx/source/user_guide/trouble_shooting/faq.md b/docs/user_guide/trouble_shooting/faq.md
similarity index 100%
rename from docs/sphinx/source/user_guide/trouble_shooting/faq.md
rename to docs/user_guide/trouble_shooting/faq.md
diff --git a/docs/sphinx/source/_templates/base.rst b/gh_pages_source/_templates/base.rst
similarity index 74%
rename from docs/sphinx/source/_templates/base.rst
rename to gh_pages_source/_templates/base.rst
index f12f321..1320e21 100644
--- a/docs/sphinx/source/_templates/base.rst
+++ b/gh_pages_source/_templates/base.rst
@@ -3,4 +3,4 @@
.. currentmodule:: {{ module }}
-.. auto{{ objtype }}:: {{ objname }}
\ No newline at end of file
+.. auto{{ objtype }}:: {{ objname }}
diff --git a/docs/sphinx/source/_templates/class.rst b/gh_pages_source/_templates/class.rst
similarity index 96%
rename from docs/sphinx/source/_templates/class.rst
rename to gh_pages_source/_templates/class.rst
index 234628a..a0555e5 100644
--- a/docs/sphinx/source/_templates/class.rst
+++ b/gh_pages_source/_templates/class.rst
@@ -20,4 +20,4 @@
~{{ name }}.{{ item }}
{%- endfor %}
{% endif %}
- {% endblock %}
\ No newline at end of file
+ {% endblock %}
diff --git a/docs/sphinx/source/_templates/custom-toc-tree.html b/gh_pages_source/_templates/custom-toc-tree.html
similarity index 97%
rename from docs/sphinx/source/_templates/custom-toc-tree.html
rename to gh_pages_source/_templates/custom-toc-tree.html
index a4d4e8f..9291482 100644
--- a/docs/sphinx/source/_templates/custom-toc-tree.html
+++ b/gh_pages_source/_templates/custom-toc-tree.html
@@ -3,4 +3,4 @@
{{ generate_toctree_html("sidebar", startdepth=0, includehidden=True, collapse=False, titles_only=True) }}
-
\ No newline at end of file
+
diff --git a/docs/sphinx/source/_templates/module.rst b/gh_pages_source/_templates/module.rst
similarity index 99%
rename from docs/sphinx/source/_templates/module.rst
rename to gh_pages_source/_templates/module.rst
index 2af921e..aa502bc 100644
--- a/docs/sphinx/source/_templates/module.rst
+++ b/gh_pages_source/_templates/module.rst
@@ -68,4 +68,4 @@
{{ item }}
{%- endfor %}
{% endif %}
-{% endblock %}
\ No newline at end of file
+{% endblock %}
diff --git a/index.rst b/index.rst
new file mode 100644
index 0000000..857cae8
--- /dev/null
+++ b/index.rst
@@ -0,0 +1,13 @@
+.. Main index file for GiGL Documentation page
+
+.. ============= Main Navigation Bar =============
+.. toctree::
+ :maxdepth: 3
+ :hidden:
+
+ docs/api_reference/index.rst
+ docs/user_guide/index.md
+
+.. ============= Main page content =============
+.. include:: README.md
+ :parser: myst_parser.sphinx_