diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml
index 537d85647..fbfde58d3 100644
--- a/.github/workflows/python-package.yml
+++ b/.github/workflows/python-package.yml
@@ -68,3 +68,23 @@ jobs:
run: |
coverage combine coverage*/.coverage*
coverage report --show-missing
+
+ docs:
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v3
+
+ - uses: actions/setup-python@v4
+ with:
+ python-version: "3.9"
+ cache: pip
+ cache-dependency-path: pyproject.toml
+
+ - name: Install dependencies
+ run: |
+ python -m pip install --upgrade pip
+ pip install .[docs,strict]
+
+ - name: Build
+ run: sphinx-build -W docs _build
\ No newline at end of file
diff --git a/README.md b/README.md
index 24178e89f..d3b282ac4 100644
--- a/README.md
+++ b/README.md
@@ -12,7 +12,7 @@ Contributions are welcome. Please raise a pull request for contributions first.
- please ensure high coverage of the code based on the tests
# Commit guidelines
-1. `pip install pre-commit`
+1. `pip install pre-commit`.
2. Next, run `pre-commit install` (this will install all the hooks from pre-commit-config.yaml)
3. Step 1 and 2, needs to be done only once in the local repository
4. Procced with modifying the code and add commits as usual.
diff --git a/docs/_static/custom.css b/docs/_static/custom.css
new file mode 100644
index 000000000..57ca02c3f
--- /dev/null
+++ b/docs/_static/custom.css
@@ -0,0 +1,70 @@
+/*!* Override some aspects of the pydata-sphinx-theme *!*/
+/*@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,400;0,700;0,900;1,400;1,700;1,900&family=Open+Sans:ital,wght@0,400;0,600;1,400;1,600&display=swap');*/
+
+/*:root {*/
+/* !* Use softer blue from bootstrap's default info color *!*/
+/* --pst-color-info: 23, 162, 184;*/
+/*}*/
+
+/*!* Main index page overview cards *!*/
+
+/*.intro-card {*/
+/* background: #fff;*/
+/* border-radius: 0;*/
+/* padding: 30px 10px 20px 10px;*/
+/* margin: 10px 0px;*/
+/*}*/
+
+/*.intro-card p.card-text {*/
+/* margin: 0px;*/
+/*}*/
+
+/*.intro-card .card-img-top {*/
+/* margin: 10px;*/
+/* height: 52px;*/
+/*}*/
+
+/*.intro-card .card-header {*/
+/* border: none;*/
+/* background-color:white;*/
+/* color: #150458 !important;*/
+/* font-size: var(--pst-font-size-h5);*/
+/* font-weight: bold;*/
+/* padding: 2.5rem 0rem 0.5rem 0rem;*/
+/*}*/
+
+/*.intro-card .card-footer {*/
+/* border: none;*/
+/* background-color:white;*/
+/*}*/
+
+/*.intro-card .card-footer p.card-text{*/
+/* max-width: 220px;*/
+/* margin-left: auto;*/
+/* margin-right: auto;*/
+/*}*/
+
+
+/*body {*/
+/* font-family: 'Open Sans', sans-serif;*/
+/* color:#4A4A4A; !* numpy.org body color *!*/
+/*}*/
+
+/*pre, code {*/
+/* !*font-size: 100%;*!*/
+/* !*line-height: 155%;*!*/
+/*}*/
+
+/*h1 {*/
+/* font-family: "Lato", sans-serif;*/
+/*}*/
+
+
+/*h2 {*/
+/* letter-spacing: -.03em;*/
+/*}*/
+
+/*h3 {*/
+/* !*color: #013243; !* warm black *!*!*/
+/* letter-spacing: -.03em;*/
+/*}*/
diff --git a/docs/_static/fonts/lato-bold-italic.woff b/docs/_static/fonts/lato-bold-italic.woff
new file mode 100644
index 000000000..88ad05b9f
Binary files /dev/null and b/docs/_static/fonts/lato-bold-italic.woff differ
diff --git a/docs/_static/fonts/lato-bold-italic.woff2 b/docs/_static/fonts/lato-bold-italic.woff2
new file mode 100644
index 000000000..c4e3d804b
Binary files /dev/null and b/docs/_static/fonts/lato-bold-italic.woff2 differ
diff --git a/docs/_static/fonts/lato-bold.woff b/docs/_static/fonts/lato-bold.woff
new file mode 100644
index 000000000..c6dff51f0
Binary files /dev/null and b/docs/_static/fonts/lato-bold.woff differ
diff --git a/docs/_static/fonts/lato-bold.woff2 b/docs/_static/fonts/lato-bold.woff2
new file mode 100644
index 000000000..bb195043c
Binary files /dev/null and b/docs/_static/fonts/lato-bold.woff2 differ
diff --git a/docs/_static/fonts/lato-normal-italic.woff b/docs/_static/fonts/lato-normal-italic.woff
new file mode 100644
index 000000000..76114bc03
Binary files /dev/null and b/docs/_static/fonts/lato-normal-italic.woff differ
diff --git a/docs/_static/fonts/lato-normal-italic.woff2 b/docs/_static/fonts/lato-normal-italic.woff2
new file mode 100644
index 000000000..3404f37e2
Binary files /dev/null and b/docs/_static/fonts/lato-normal-italic.woff2 differ
diff --git a/docs/_static/fonts/lato-normal.woff b/docs/_static/fonts/lato-normal.woff
new file mode 100644
index 000000000..ae1307ff5
Binary files /dev/null and b/docs/_static/fonts/lato-normal.woff differ
diff --git a/docs/_static/fonts/lato-normal.woff2 b/docs/_static/fonts/lato-normal.woff2
new file mode 100644
index 000000000..3bf984332
Binary files /dev/null and b/docs/_static/fonts/lato-normal.woff2 differ
diff --git a/docs/_static/index_api.svg b/docs/_static/index_api.svg
new file mode 100644
index 000000000..70bf0d350
--- /dev/null
+++ b/docs/_static/index_api.svg
@@ -0,0 +1,97 @@
+
+
+
+
diff --git a/docs/_static/index_contribute.svg b/docs/_static/index_contribute.svg
new file mode 100644
index 000000000..e86c3e9fd
--- /dev/null
+++ b/docs/_static/index_contribute.svg
@@ -0,0 +1,76 @@
+
+
+
+
diff --git a/docs/_static/index_support.svg b/docs/_static/index_support.svg
new file mode 100644
index 000000000..539eb7c65
--- /dev/null
+++ b/docs/_static/index_support.svg
@@ -0,0 +1,15 @@
+
+
+
+
diff --git a/docs/_static/index_user_guide.svg b/docs/_static/index_user_guide.svg
new file mode 100644
index 000000000..a567103af
--- /dev/null
+++ b/docs/_static/index_user_guide.svg
@@ -0,0 +1,67 @@
+
+
+
+
diff --git a/docs/_static/orcid.svg b/docs/_static/orcid.svg
new file mode 100644
index 000000000..83d027ab7
--- /dev/null
+++ b/docs/_static/orcid.svg
@@ -0,0 +1,9 @@
+
+
diff --git a/docs/_templates/autosummary/base.rst b/docs/_templates/autosummary/base.rst
new file mode 100644
index 000000000..5536fa108
--- /dev/null
+++ b/docs/_templates/autosummary/base.rst
@@ -0,0 +1,5 @@
+{{ name | escape | underline}}
+
+.. currentmodule:: {{ module }}
+
+.. auto{{ objtype }}:: {{ objname }}
diff --git a/docs/_templates/autosummary/class.rst b/docs/_templates/autosummary/class.rst
new file mode 100644
index 000000000..df3dbb3ad
--- /dev/null
+++ b/docs/_templates/autosummary/class.rst
@@ -0,0 +1,7 @@
+{{ name | escape | underline}}
+
+.. currentmodule:: {{ module }}
+
+.. autoclass:: {{ objname }}
+ :show-inheritance:
+ :members:
diff --git a/docs/_templates/autosummary/function.rst b/docs/_templates/autosummary/function.rst
new file mode 100644
index 000000000..5ffed09ef
--- /dev/null
+++ b/docs/_templates/autosummary/function.rst
@@ -0,0 +1,5 @@
+{{ name | escape | underline}}
+
+.. currentmodule:: {{ module }}
+
+.. autofunction:: {{ objname }}
diff --git a/docs/_templates/autosummary/module.rst b/docs/_templates/autosummary/module.rst
new file mode 100644
index 000000000..3535c8de2
--- /dev/null
+++ b/docs/_templates/autosummary/module.rst
@@ -0,0 +1,53 @@
+{% extends "!autosummary/module.rst" %}
+
+{# This file is almost the same as the default, but adds :toctree: and :nosignatures: to
+ the autosummary directives. The original can be found at
+ ``sphinx/ext/autosummary/templates/autosummary/module.rst``. #}
+
+{% block attributes %}
+{% if attributes %}
+ .. rubric:: Module Attributes
+
+ .. autosummary::
+ :toctree:
+ :nosignatures:
+ {% for item in attributes %}
+ {{ item }}
+ {%- endfor %}
+{% endif %}
+{% endblock %}
+
+{% block functions %}
+{% if functions %}
+ .. rubric:: Functions
+
+ .. autosummary::
+ :toctree:
+ :nosignatures:
+ {% for item in functions %}
+ {{ item }}
+ {%- endfor %}
+{% endif %}
+{% endblock %}
+
+{% block classes %}
+
+{% set types = [] %}
+{% for item in members %}
+ {% if not item.startswith('_') and not (item in functions or item in attributes or item in exceptions) %}
+ {% set _ = types.append(item) %}
+ {% endif %}
+{%- endfor %}
+
+{% if types %}
+ .. rubric:: Classes
+
+ .. autosummary::
+ :toctree:
+ :nosignatures:
+ {% for item in types %}
+ {{ item }}
+ {%- endfor %}
+
+{% endif %}
+{% endblock %}
diff --git a/docs/about/changelog.md b/docs/about/changelog.md
new file mode 100644
index 000000000..3139cd42b
--- /dev/null
+++ b/docs/about/changelog.md
@@ -0,0 +1,2 @@
+```{include} ../../CHANGELOG.md
+```
diff --git a/docs/about/contributing.md b/docs/about/contributing.md
new file mode 100644
index 000000000..ef6daa82a
--- /dev/null
+++ b/docs/about/contributing.md
@@ -0,0 +1,2 @@
+```{include} ../../CONTRIBUTING.md
+```
diff --git a/docs/about/contributors.md b/docs/about/contributors.md
new file mode 100644
index 000000000..760298a4b
--- /dev/null
+++ b/docs/about/contributors.md
@@ -0,0 +1,29 @@
+# Contributors
+
+[gh]: https://cdnjs.cloudflare.com/ajax/libs/octicons/8.5.0/svg/mark-github.svg
+[orc]: ../_static/orcid.svg
+
+
+**Janine George** [![gh]][JaGeo] [![orc]][0000-0001-8907-0336] \
+Junior Group Leader \
+Federal Institute for Materials Research and Testing (Berlin) \
+Friedrich Schiller University Jena
+
+[JaGeo]: https://github.com/JaGeo
+[0000-0001-8907-0336]: https://orcid.org/0000-0001-8907-0336
+
+**Christina Ertural** [![gh]][QuantumChemist] [![orc]][0000-0002-7696-5824] \
+Postdoctoral Researcher \
+Federal Institute for Materials Research and Testing (Berlin)
+
+[QuantumChemist]: https://github.com/QuantumChemist
+[0000-0002-7696-5824]: https://orcid.org/0000-0002-7696-5824
+
+
+**Aakash Ashok Naik** [![gh]][naik-aakash] [![orc]][0000-0002-6071-6786] \
+PhD student \
+Federal Institute for Materials Research and Testing (Berlin) \
+Friedrich Schiller University Jena
+
+[naik-aakash]: https://github.com/naik-aakash
+[0000-0002-6071-6786]: https://orcid.org/0000-0002-6071-6786
diff --git a/docs/about/license.md b/docs/about/license.md
new file mode 100644
index 000000000..6e7701bd9
--- /dev/null
+++ b/docs/about/license.md
@@ -0,0 +1,33 @@
+License
+=======
+
+`autoplex` is developed under a modified BSD License, reproduced below:
+
+```
+Copyright (c) 2023, autoplex development team.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+
+3. Neither the name of the copyright holder nor the names of its
+ contributors may be used to endorse or promote products derived from
+ this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+```
diff --git a/docs/conf.py b/docs/conf.py
new file mode 100644
index 000000000..a6a354b9e
--- /dev/null
+++ b/docs/conf.py
@@ -0,0 +1,171 @@
+# ruff: noqa: E501
+
+"""Sphinx configuration file."""
+
+# -- Path setup --------------------------------------------------------------
+
+# 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.
+
+import os
+import sys
+
+from atomate2 import __version__
+
+sys.path.insert(0, os.path.abspath("../../"))
+
+# -- Project information -----------------------------------------------------
+
+project = "autoplex"
+copyright = "2023, autoplex development team" # noqa: A001
+author = "Christina Ertural"
+
+# The short X.Y version
+version = __version__
+# The full version, including alpha/beta/rc tags
+release = __version__
+
+# -- General configuration ---------------------------------------------------
+
+# Add any Sphinx extension module names here, as strings. They can be
+# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
+# ones.
+extensions = [
+ "sphinx.ext.autodoc",
+ "sphinx.ext.napoleon",
+ "sphinx.ext.intersphinx",
+ "sphinx.ext.viewcode",
+ "sphinx.ext.autosummary",
+ "myst_parser",
+ "sphinxcontrib.autodoc_pydantic",
+ "numpydoc",
+ "sphinx_design",
+ "sphinx_copybutton",
+]
+
+# Add any paths that contain templates here, relative to this directory.
+templates_path = ["_templates"]
+
+# List of patterns, relative to source directory, that match files and
+# directories to ignore when looking for source files.
+# This pattern also affects html_static_path and html_extra_path.
+exclude_patterns = ["Thumbs.db", ".DS_Store", "test*.py"]
+
+myst_heading_anchors = 2 # enable headings as link targets
+myst_enable_extensions = [
+ "amsmath",
+ "colon_fence",
+ "dollarmath",
+ "html_admonition",
+ "html_image",
+]
+
+# use type hints
+autodoc_typehints = "description"
+# autoclass_content = "both"
+# autodoc_member_order = "bysource"
+
+# better napoleon support
+napoleon_use_param = True
+napoleon_use_rtype = True
+napoleon_use_ivar = True
+
+# The suffix(es) of source filenames.
+source_suffix = [".rst", ".md"]
+
+mathjax3_config = {
+ "tex": {
+ "macros": {
+ "N": "\\mathbb{N}",
+ "floor": ["\\lfloor#1\\rfloor", 1],
+ "bmat": ["\\left[\\begin{array}"],
+ "emat": ["\\end{array}\\right]"],
+ }
+ }
+}
+latex_elements = {
+ "preamble": r"""\newcommand\N{\mathbb{N}}
+\newcommand\floor[1]{\lfloor#1\rfloor}
+\newcommand{\bmat}{\left[\begin{array}}
+\newcommand{\emat}{\end{array}\right]}
+"""
+}
+language = "en"
+html_extra_path = ["images/badge.svg"]
+html_static_path = ["_static"]
+html_css_files = ["custom.css", "github.css"]
+suppress_warnings = "etoc.toctree"
+
+# autodoc options
+autosummary_imported_members = False
+autodoc_preserve_defaults = True
+autoclass_content = "class"
+autodoc_member_order = "bysource"
+
+python_use_unqualified_type_names = True
+
+# don't overwrite summary but generate them if they don't exist
+autosummary_generate = True
+autosummary_generate_overwrite = True
+
+# numpydoc options
+numpydoc_class_members_toctree = False
+numpydoc_show_class_members = False
+numpydoc_show_inherited_class_members = False
+numpydoc_attributes_as_param_list = False
+numpydoc_xref_param_type = True
+
+# sphinx-panels shouldn't add bootstrap css as the pydata-sphinx-theme already loads it
+panels_add_bootstrap_css = False
+
+# control pydantic model docs
+autodoc_pydantic_model_show_json = False
+autodoc_pydantic_model_show_field_summary = False
+autodoc_pydantic_model_show_config = False
+autodoc_pydantic_model_show_config_summary = False
+autodoc_pydantic_model_show_validator_members = False
+autodoc_pydantic_model_member_order = "bysource"
+autodoc_pydantic_settings_show_json = False
+autodoc_pydantic_settings_show_field_summary = False
+autodoc_pydantic_settings_show_config = False
+autodoc_pydantic_settings_show_config_summary = False
+autodoc_pydantic_settings_show_validator_members = False
+autodoc_pydantic_settings_member_order = "bysource"
+autodoc_pydantic_field_list_validators = False
+autodoc_pydantic_field_show_constraints = False
+
+
+# -- Options for HTML output -------------------------------------------------
+
+# The theme to use for HTML and HTML Help pages. See the documentation for
+# a list of builtin themes.
+#
+html_theme = "sphinx_book_theme"
+html_theme_options = {
+ "repository_provider": "github",
+ "repository_url": "https://github.com/JaGeo/autoplex",
+ "use_repository_button": True,
+ "use_issues_button": True,
+}
+
+
+#html_static_path = ["_static"]
+
+html_css_files = ['custom.css']
+
+# hide sphinx footer
+html_show_sphinx = False
+html_show_sourcelink = False
+
+# downgrad mathjax
+mathjax_path = 'https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js?config=TeX-AMS-MML_HTMLorMML'
+mathjax2_config = {
+ 'tex2jax': {
+ 'inlineMath': [['$', '$'], ['\\(', '\\)']],
+ 'processEscapes': True,
+ 'ignoreClass': 'document',
+ 'processClass': 'math|output_area',
+ }
+}
+html_title = "autoplex"
diff --git a/docs/dev/dev_install.md b/docs/dev/dev_install.md
new file mode 100644
index 000000000..1d3cd7a4b
--- /dev/null
+++ b/docs/dev/dev_install.md
@@ -0,0 +1,52 @@
+# Developer Installation
+
+Install autoplex from source, by cloning the repository via [github](https://github.com/JaGeo/autoplex.git)
+
+```bash
+git clone https://github.com/JaGeo/autoplex.git
+cd autoplex
+pip install -e .[docs,strict,dev]
+```
+This will install autoplex will all dependencies for tests, pre-commit and docs building.
+
+## Running unit tests
+
+Unit tests can be run from the source folder using `pytest`.
+
+```bash
+pytest
+```
+This will run all the tests.
+
+To get a detailed report of test coverage you can use following command
+```bash
+pytest --cov=autoplex --cov-report term-missing --cov-append
+```
+
+If you feel test execution takes too long locally, you can speedup the execution using [pytest-xdist](https://pypi.org/project/pytest-xdist/). Install this in library in your environment using
+
+```bash
+pip install pytest-xdist
+```
+
+Once installed, you can now use multiple processors to run your tests. For example, if you want to use 8 processors to run tests in parallel, run
+
+```bash
+pytest -n 8
+```
+
+We rely on pytest-split to run tests in parallel on github workflow, thus it is necessary to update the test-durations files in the repository, incase you add new tests. To generate this file, use
+
+```bash
+pytest --cov=autoplex --cov-append --splits 1 --group 1 --durations-path ./tests/test_data/.pytest-split-durations --store-durations
+```
+
+## Building the documentation locally
+
+The autoplex documentation can be built using the sphinx package.
+
+The docs can be built to the `_build` directory:
+
+```bash
+sphinx-build -W docs _build
+```
diff --git a/docs/index.md b/docs/index.md
new file mode 100644
index 000000000..eacde2967
--- /dev/null
+++ b/docs/index.md
@@ -0,0 +1,80 @@
+```{toctree}
+:caption: User Guide
+:hidden:
+user/index
+user/tutorials
+```
+
+```{toctree}
+:caption: Reference
+:hidden:
+reference/index
+```
+
+```{toctree}
+:caption: Developer Guide
+:hidden:
+dev/dev_install
+```
+
+```{toctree}
+:caption: About
+:hidden:
+about/changelog
+about/contributors
+about/contributing
+about/license
+```
+
+# autoplex documentation
+
+**Date**: {sub-ref}`today`
+
+**Useful links**:
+[Source Repository](https://github.com/JaGeo/autoplex) |
+[Issues & Ideas](https://github.com/JaGeo/autoplex/issues) |
+
+Autoplex is a library for automated fitting and benchmarking of ML potentials..
+
+::::{grid} 1 1 2 2
+:class-container: text-center
+:gutter: 3
+
+:::{grid-item-card}
+:link: user/index
+:link-type: doc
+:class-header: bg-light
+**User Guide**
+^^^
+The user guide provides information for getting started with *autoplex*.
+:::
+
+:::{grid-item-card}
+:link: user/tutorials
+:link-type: doc
+:class-header: bg-light
+**Tutorials**
+^^^
+Tutorials for using autoplex.
+:::
+
+:::{grid-item-card}
+:link: reference/index
+:link-type: doc
+:class-header: bg-light
+**API reference**
+^^^
+The reference guide contains a detailed description of the *atomate2* API. It
+assumes that you have an understanding of the key concepts.
+:::
+
+:::{grid-item-card}
+:link: dev/dev_install
+:link-type: doc
+:class-header: bg-light
+**Developer guide**
+^^^
+Do you want to develop your own workflows or improve existing functionalities?
+Check out the developer guide.
+:::
+::::
diff --git a/docs/reference/autoplex.auto.flows.CompleteDFTvsMLBenchmarkWorkflow.rst b/docs/reference/autoplex.auto.flows.CompleteDFTvsMLBenchmarkWorkflow.rst
new file mode 100644
index 000000000..72ae79012
--- /dev/null
+++ b/docs/reference/autoplex.auto.flows.CompleteDFTvsMLBenchmarkWorkflow.rst
@@ -0,0 +1,8 @@
+CompleteDFTvsMLBenchmarkWorkflow
+================================
+
+.. currentmodule:: autoplex.auto.flows
+
+.. autoclass:: CompleteDFTvsMLBenchmarkWorkflow
+ :show-inheritance:
+ :members:
\ No newline at end of file
diff --git a/docs/reference/autoplex.auto.flows.DFTDataGenerationFlow.rst b/docs/reference/autoplex.auto.flows.DFTDataGenerationFlow.rst
new file mode 100644
index 000000000..bf1060ce6
--- /dev/null
+++ b/docs/reference/autoplex.auto.flows.DFTDataGenerationFlow.rst
@@ -0,0 +1,8 @@
+DFTDataGenerationFlow
+=====================
+
+.. currentmodule:: autoplex.auto.flows
+
+.. autoclass:: DFTDataGenerationFlow
+ :show-inheritance:
+ :members:
\ No newline at end of file
diff --git a/docs/reference/autoplex.auto.flows.PhononDFTMLBenchmarkFlow.rst b/docs/reference/autoplex.auto.flows.PhononDFTMLBenchmarkFlow.rst
new file mode 100644
index 000000000..ad5b0f9bc
--- /dev/null
+++ b/docs/reference/autoplex.auto.flows.PhononDFTMLBenchmarkFlow.rst
@@ -0,0 +1,8 @@
+PhononDFTMLBenchmarkFlow
+========================
+
+.. currentmodule:: autoplex.auto.flows
+
+.. autoclass:: PhononDFTMLBenchmarkFlow
+ :show-inheritance:
+ :members:
\ No newline at end of file
diff --git a/docs/reference/autoplex.auto.flows.PhononDFTMLFitFlow.rst b/docs/reference/autoplex.auto.flows.PhononDFTMLFitFlow.rst
new file mode 100644
index 000000000..bbe45013a
--- /dev/null
+++ b/docs/reference/autoplex.auto.flows.PhononDFTMLFitFlow.rst
@@ -0,0 +1,8 @@
+PhononDFTMLFitFlow
+==================
+
+.. currentmodule:: autoplex.auto.flows
+
+.. autoclass:: PhononDFTMLFitFlow
+ :show-inheritance:
+ :members:
\ No newline at end of file
diff --git a/docs/reference/autoplex.auto.flows.TYPE_CHECKING.rst b/docs/reference/autoplex.auto.flows.TYPE_CHECKING.rst
new file mode 100644
index 000000000..17bed117a
--- /dev/null
+++ b/docs/reference/autoplex.auto.flows.TYPE_CHECKING.rst
@@ -0,0 +1,6 @@
+TYPE\_CHECKING
+==============
+
+.. currentmodule:: autoplex.auto.flows
+
+.. autodata:: TYPE_CHECKING
\ No newline at end of file
diff --git a/docs/reference/autoplex.auto.flows.rst b/docs/reference/autoplex.auto.flows.rst
new file mode 100644
index 000000000..7816f267b
--- /dev/null
+++ b/docs/reference/autoplex.auto.flows.rst
@@ -0,0 +1,62 @@
+autoplex.auto.flows
+===================
+
+.. automodule:: autoplex.auto.flows
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ .. rubric:: Classes
+
+ .. autosummary::
+ :toctree:
+ :nosignatures:
+
+ CompleteDFTvsMLBenchmarkWorkflow
+ DFTDataGenerationFlow
+ PhononDFTMLBenchmarkFlow
+ PhononDFTMLFitFlow
+ TYPE_CHECKING
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/reference/autoplex.auto.jobs.MLPhononMaker.rst b/docs/reference/autoplex.auto.jobs.MLPhononMaker.rst
new file mode 100644
index 000000000..0369803a8
--- /dev/null
+++ b/docs/reference/autoplex.auto.jobs.MLPhononMaker.rst
@@ -0,0 +1,8 @@
+MLPhononMaker
+=============
+
+.. currentmodule:: autoplex.auto.jobs
+
+.. autoclass:: MLPhononMaker
+ :show-inheritance:
+ :members:
\ No newline at end of file
diff --git a/docs/reference/autoplex.auto.jobs.TYPE_CHECKING.rst b/docs/reference/autoplex.auto.jobs.TYPE_CHECKING.rst
new file mode 100644
index 000000000..00f44d153
--- /dev/null
+++ b/docs/reference/autoplex.auto.jobs.TYPE_CHECKING.rst
@@ -0,0 +1,6 @@
+TYPE\_CHECKING
+==============
+
+.. currentmodule:: autoplex.auto.jobs
+
+.. autodata:: TYPE_CHECKING
\ No newline at end of file
diff --git a/docs/reference/autoplex.auto.jobs.dft_phonopy_gen_data.rst b/docs/reference/autoplex.auto.jobs.dft_phonopy_gen_data.rst
new file mode 100644
index 000000000..7ca2dd2a0
--- /dev/null
+++ b/docs/reference/autoplex.auto.jobs.dft_phonopy_gen_data.rst
@@ -0,0 +1,6 @@
+dft\_phonopy\_gen\_data
+=======================
+
+.. currentmodule:: autoplex.auto.jobs
+
+.. autofunction:: dft_phonopy_gen_data
\ No newline at end of file
diff --git a/docs/reference/autoplex.auto.jobs.dft_random_gen_data.rst b/docs/reference/autoplex.auto.jobs.dft_random_gen_data.rst
new file mode 100644
index 000000000..f0ce3071b
--- /dev/null
+++ b/docs/reference/autoplex.auto.jobs.dft_random_gen_data.rst
@@ -0,0 +1,6 @@
+dft\_random\_gen\_data
+======================
+
+.. currentmodule:: autoplex.auto.jobs
+
+.. autofunction:: dft_random_gen_data
\ No newline at end of file
diff --git a/docs/reference/autoplex.auto.jobs.get_iso_atom.rst b/docs/reference/autoplex.auto.jobs.get_iso_atom.rst
new file mode 100644
index 000000000..ae9fb154e
--- /dev/null
+++ b/docs/reference/autoplex.auto.jobs.get_iso_atom.rst
@@ -0,0 +1,6 @@
+get\_iso\_atom
+==============
+
+.. currentmodule:: autoplex.auto.jobs
+
+.. autofunction:: get_iso_atom
\ No newline at end of file
diff --git a/docs/reference/autoplex.auto.jobs.get_phonon_ml_calculation_jobs.rst b/docs/reference/autoplex.auto.jobs.get_phonon_ml_calculation_jobs.rst
new file mode 100644
index 000000000..3f9256185
--- /dev/null
+++ b/docs/reference/autoplex.auto.jobs.get_phonon_ml_calculation_jobs.rst
@@ -0,0 +1,6 @@
+get\_phonon\_ml\_calculation\_jobs
+==================================
+
+.. currentmodule:: autoplex.auto.jobs
+
+.. autofunction:: get_phonon_ml_calculation_jobs
\ No newline at end of file
diff --git a/docs/reference/autoplex.auto.jobs.rst b/docs/reference/autoplex.auto.jobs.rst
new file mode 100644
index 000000000..4b093d351
--- /dev/null
+++ b/docs/reference/autoplex.auto.jobs.rst
@@ -0,0 +1,64 @@
+autoplex.auto.jobs
+==================
+
+.. automodule:: autoplex.auto.jobs
+
+
+
+
+
+
+
+ .. rubric:: Functions
+
+ .. autosummary::
+ :toctree:
+ :nosignatures:
+
+ dft_phonopy_gen_data
+ dft_random_gen_data
+ get_iso_atom
+ get_phonon_ml_calculation_jobs
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ .. rubric:: Classes
+
+ .. autosummary::
+ :toctree:
+ :nosignatures:
+
+ MLPhononMaker
+ TYPE_CHECKING
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/reference/autoplex.auto.rst b/docs/reference/autoplex.auto.rst
new file mode 100644
index 000000000..a977988c2
--- /dev/null
+++ b/docs/reference/autoplex.auto.rst
@@ -0,0 +1,43 @@
+autoplex.auto
+=============
+
+.. automodule:: autoplex.auto
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+.. rubric:: Modules
+
+.. autosummary::
+ :toctree:
+ :recursive:
+
+ autoplex.auto.flows
+ autoplex.auto.jobs
+
diff --git a/docs/reference/autoplex.benchmark.flows.PhononBenchmarkMaker.rst b/docs/reference/autoplex.benchmark.flows.PhononBenchmarkMaker.rst
new file mode 100644
index 000000000..c4f59b0ca
--- /dev/null
+++ b/docs/reference/autoplex.benchmark.flows.PhononBenchmarkMaker.rst
@@ -0,0 +1,8 @@
+PhononBenchmarkMaker
+====================
+
+.. currentmodule:: autoplex.benchmark.flows
+
+.. autoclass:: PhononBenchmarkMaker
+ :show-inheritance:
+ :members:
\ No newline at end of file
diff --git a/docs/reference/autoplex.benchmark.flows.TYPE_CHECKING.rst b/docs/reference/autoplex.benchmark.flows.TYPE_CHECKING.rst
new file mode 100644
index 000000000..f34c48f53
--- /dev/null
+++ b/docs/reference/autoplex.benchmark.flows.TYPE_CHECKING.rst
@@ -0,0 +1,6 @@
+TYPE\_CHECKING
+==============
+
+.. currentmodule:: autoplex.benchmark.flows
+
+.. autodata:: TYPE_CHECKING
\ No newline at end of file
diff --git a/docs/reference/autoplex.benchmark.flows.rst b/docs/reference/autoplex.benchmark.flows.rst
new file mode 100644
index 000000000..fc8131080
--- /dev/null
+++ b/docs/reference/autoplex.benchmark.flows.rst
@@ -0,0 +1,50 @@
+autoplex.benchmark.flows
+========================
+
+.. automodule:: autoplex.benchmark.flows
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ .. rubric:: Classes
+
+ .. autosummary::
+ :toctree:
+ :nosignatures:
+
+ PhononBenchmarkMaker
+ TYPE_CHECKING
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/reference/autoplex.benchmark.jobs.TYPE_CHECKING.rst b/docs/reference/autoplex.benchmark.jobs.TYPE_CHECKING.rst
new file mode 100644
index 000000000..5283da775
--- /dev/null
+++ b/docs/reference/autoplex.benchmark.jobs.TYPE_CHECKING.rst
@@ -0,0 +1,6 @@
+TYPE\_CHECKING
+==============
+
+.. currentmodule:: autoplex.benchmark.jobs
+
+.. autodata:: TYPE_CHECKING
\ No newline at end of file
diff --git a/docs/reference/autoplex.benchmark.jobs.compute_bandstructure_benchmark_metrics.rst b/docs/reference/autoplex.benchmark.jobs.compute_bandstructure_benchmark_metrics.rst
new file mode 100644
index 000000000..945ce05b8
--- /dev/null
+++ b/docs/reference/autoplex.benchmark.jobs.compute_bandstructure_benchmark_metrics.rst
@@ -0,0 +1,6 @@
+compute\_bandstructure\_benchmark\_metrics
+==========================================
+
+.. currentmodule:: autoplex.benchmark.jobs
+
+.. autofunction:: compute_bandstructure_benchmark_metrics
\ No newline at end of file
diff --git a/docs/reference/autoplex.benchmark.jobs.rst b/docs/reference/autoplex.benchmark.jobs.rst
new file mode 100644
index 000000000..45a3ac027
--- /dev/null
+++ b/docs/reference/autoplex.benchmark.jobs.rst
@@ -0,0 +1,56 @@
+autoplex.benchmark.jobs
+=======================
+
+.. automodule:: autoplex.benchmark.jobs
+
+
+
+
+
+
+
+ .. rubric:: Functions
+
+ .. autosummary::
+ :toctree:
+ :nosignatures:
+
+ compute_bandstructure_benchmark_metrics
+ write_benchmark_metrics
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ .. rubric:: Classes
+
+ .. autosummary::
+ :toctree:
+ :nosignatures:
+
+ TYPE_CHECKING
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/reference/autoplex.benchmark.jobs.write_benchmark_metrics.rst b/docs/reference/autoplex.benchmark.jobs.write_benchmark_metrics.rst
new file mode 100644
index 000000000..8629f0c71
--- /dev/null
+++ b/docs/reference/autoplex.benchmark.jobs.write_benchmark_metrics.rst
@@ -0,0 +1,6 @@
+write\_benchmark\_metrics
+=========================
+
+.. currentmodule:: autoplex.benchmark.jobs
+
+.. autofunction:: write_benchmark_metrics
\ No newline at end of file
diff --git a/docs/reference/autoplex.benchmark.rst b/docs/reference/autoplex.benchmark.rst
new file mode 100644
index 000000000..b095213b6
--- /dev/null
+++ b/docs/reference/autoplex.benchmark.rst
@@ -0,0 +1,44 @@
+autoplex.benchmark
+==================
+
+.. automodule:: autoplex.benchmark
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+.. rubric:: Modules
+
+.. autosummary::
+ :toctree:
+ :recursive:
+
+ autoplex.benchmark.flows
+ autoplex.benchmark.jobs
+ autoplex.benchmark.utils
+
diff --git a/docs/reference/autoplex.benchmark.utils.compare_plot.rst b/docs/reference/autoplex.benchmark.utils.compare_plot.rst
new file mode 100644
index 000000000..688281633
--- /dev/null
+++ b/docs/reference/autoplex.benchmark.utils.compare_plot.rst
@@ -0,0 +1,6 @@
+compare\_plot
+=============
+
+.. currentmodule:: autoplex.benchmark.utils
+
+.. autofunction:: compare_plot
\ No newline at end of file
diff --git a/docs/reference/autoplex.benchmark.utils.get_rmse.rst b/docs/reference/autoplex.benchmark.utils.get_rmse.rst
new file mode 100644
index 000000000..219d79c4b
--- /dev/null
+++ b/docs/reference/autoplex.benchmark.utils.get_rmse.rst
@@ -0,0 +1,6 @@
+get\_rmse
+=========
+
+.. currentmodule:: autoplex.benchmark.utils
+
+.. autofunction:: get_rmse
\ No newline at end of file
diff --git a/docs/reference/autoplex.benchmark.utils.rmse_kdep_plot.rst b/docs/reference/autoplex.benchmark.utils.rmse_kdep_plot.rst
new file mode 100644
index 000000000..7d65dab38
--- /dev/null
+++ b/docs/reference/autoplex.benchmark.utils.rmse_kdep_plot.rst
@@ -0,0 +1,6 @@
+rmse\_kdep\_plot
+================
+
+.. currentmodule:: autoplex.benchmark.utils
+
+.. autofunction:: rmse_kdep_plot
\ No newline at end of file
diff --git a/docs/reference/autoplex.benchmark.utils.rst b/docs/reference/autoplex.benchmark.utils.rst
new file mode 100644
index 000000000..ce871bf41
--- /dev/null
+++ b/docs/reference/autoplex.benchmark.utils.rst
@@ -0,0 +1,46 @@
+autoplex.benchmark.utils
+========================
+
+.. automodule:: autoplex.benchmark.utils
+
+
+
+
+
+
+
+ .. rubric:: Functions
+
+ .. autosummary::
+ :toctree:
+ :nosignatures:
+
+ compare_plot
+ get_rmse
+ rmse_kdep_plot
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/reference/autoplex.data.flows.DFTPhononMaker.rst b/docs/reference/autoplex.data.flows.DFTPhononMaker.rst
new file mode 100644
index 000000000..49e466a07
--- /dev/null
+++ b/docs/reference/autoplex.data.flows.DFTPhononMaker.rst
@@ -0,0 +1,8 @@
+DFTPhononMaker
+==============
+
+.. currentmodule:: autoplex.data.flows
+
+.. autoclass:: DFTPhononMaker
+ :show-inheritance:
+ :members:
\ No newline at end of file
diff --git a/docs/reference/autoplex.data.flows.IsoAtomMaker.rst b/docs/reference/autoplex.data.flows.IsoAtomMaker.rst
new file mode 100644
index 000000000..de76ee85f
--- /dev/null
+++ b/docs/reference/autoplex.data.flows.IsoAtomMaker.rst
@@ -0,0 +1,8 @@
+IsoAtomMaker
+============
+
+.. currentmodule:: autoplex.data.flows
+
+.. autoclass:: IsoAtomMaker
+ :show-inheritance:
+ :members:
\ No newline at end of file
diff --git a/docs/reference/autoplex.data.flows.IsoAtomStaticMaker.rst b/docs/reference/autoplex.data.flows.IsoAtomStaticMaker.rst
new file mode 100644
index 000000000..38ba70c02
--- /dev/null
+++ b/docs/reference/autoplex.data.flows.IsoAtomStaticMaker.rst
@@ -0,0 +1,8 @@
+IsoAtomStaticMaker
+==================
+
+.. currentmodule:: autoplex.data.flows
+
+.. autoclass:: IsoAtomStaticMaker
+ :show-inheritance:
+ :members:
\ No newline at end of file
diff --git a/docs/reference/autoplex.data.flows.RandomStructuresDataGenerator.rst b/docs/reference/autoplex.data.flows.RandomStructuresDataGenerator.rst
new file mode 100644
index 000000000..ec6270e3f
--- /dev/null
+++ b/docs/reference/autoplex.data.flows.RandomStructuresDataGenerator.rst
@@ -0,0 +1,8 @@
+RandomStructuresDataGenerator
+=============================
+
+.. currentmodule:: autoplex.data.flows
+
+.. autoclass:: RandomStructuresDataGenerator
+ :show-inheritance:
+ :members:
\ No newline at end of file
diff --git a/docs/reference/autoplex.data.flows.TYPE_CHECKING.rst b/docs/reference/autoplex.data.flows.TYPE_CHECKING.rst
new file mode 100644
index 000000000..1ee5d579d
--- /dev/null
+++ b/docs/reference/autoplex.data.flows.TYPE_CHECKING.rst
@@ -0,0 +1,6 @@
+TYPE\_CHECKING
+==============
+
+.. currentmodule:: autoplex.data.flows
+
+.. autodata:: TYPE_CHECKING
\ No newline at end of file
diff --git a/docs/reference/autoplex.data.flows.TightDFTStaticMaker.rst b/docs/reference/autoplex.data.flows.TightDFTStaticMaker.rst
new file mode 100644
index 000000000..141bfc2fe
--- /dev/null
+++ b/docs/reference/autoplex.data.flows.TightDFTStaticMaker.rst
@@ -0,0 +1,8 @@
+TightDFTStaticMaker
+===================
+
+.. currentmodule:: autoplex.data.flows
+
+.. autoclass:: TightDFTStaticMaker
+ :show-inheritance:
+ :members:
\ No newline at end of file
diff --git a/docs/reference/autoplex.data.flows.rst b/docs/reference/autoplex.data.flows.rst
new file mode 100644
index 000000000..05b24871a
--- /dev/null
+++ b/docs/reference/autoplex.data.flows.rst
@@ -0,0 +1,66 @@
+autoplex.data.flows
+===================
+
+.. automodule:: autoplex.data.flows
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ .. rubric:: Classes
+
+ .. autosummary::
+ :toctree:
+ :nosignatures:
+
+ DFTPhononMaker
+ IsoAtomMaker
+ IsoAtomStaticMaker
+ RandomStructuresDataGenerator
+ TYPE_CHECKING
+ TightDFTStaticMaker
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/reference/autoplex.data.jobs.TYPE_CHECKING.rst b/docs/reference/autoplex.data.jobs.TYPE_CHECKING.rst
new file mode 100644
index 000000000..1abf902d2
--- /dev/null
+++ b/docs/reference/autoplex.data.jobs.TYPE_CHECKING.rst
@@ -0,0 +1,6 @@
+TYPE\_CHECKING
+==============
+
+.. currentmodule:: autoplex.data.jobs
+
+.. autodata:: TYPE_CHECKING
\ No newline at end of file
diff --git a/docs/reference/autoplex.data.jobs.generate_randomized_structures.rst b/docs/reference/autoplex.data.jobs.generate_randomized_structures.rst
new file mode 100644
index 000000000..25debc142
--- /dev/null
+++ b/docs/reference/autoplex.data.jobs.generate_randomized_structures.rst
@@ -0,0 +1,6 @@
+generate\_randomized\_structures
+================================
+
+.. currentmodule:: autoplex.data.jobs
+
+.. autofunction:: generate_randomized_structures
\ No newline at end of file
diff --git a/docs/reference/autoplex.data.jobs.phonon_maker_random_structures.rst b/docs/reference/autoplex.data.jobs.phonon_maker_random_structures.rst
new file mode 100644
index 000000000..032c5ed20
--- /dev/null
+++ b/docs/reference/autoplex.data.jobs.phonon_maker_random_structures.rst
@@ -0,0 +1,6 @@
+phonon\_maker\_random\_structures
+=================================
+
+.. currentmodule:: autoplex.data.jobs
+
+.. autofunction:: phonon_maker_random_structures
\ No newline at end of file
diff --git a/docs/reference/autoplex.data.jobs.rst b/docs/reference/autoplex.data.jobs.rst
new file mode 100644
index 000000000..22afad80b
--- /dev/null
+++ b/docs/reference/autoplex.data.jobs.rst
@@ -0,0 +1,56 @@
+autoplex.data.jobs
+==================
+
+.. automodule:: autoplex.data.jobs
+
+
+
+
+
+
+
+ .. rubric:: Functions
+
+ .. autosummary::
+ :toctree:
+ :nosignatures:
+
+ generate_randomized_structures
+ phonon_maker_random_structures
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ .. rubric:: Classes
+
+ .. autosummary::
+ :toctree:
+ :nosignatures:
+
+ TYPE_CHECKING
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/reference/autoplex.data.rst b/docs/reference/autoplex.data.rst
new file mode 100644
index 000000000..d45c31909
--- /dev/null
+++ b/docs/reference/autoplex.data.rst
@@ -0,0 +1,44 @@
+autoplex.data
+=============
+
+.. automodule:: autoplex.data
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+.. rubric:: Modules
+
+.. autosummary::
+ :toctree:
+ :recursive:
+
+ autoplex.data.flows
+ autoplex.data.jobs
+ autoplex.data.utils
+
diff --git a/docs/reference/autoplex.data.utils.rst b/docs/reference/autoplex.data.utils.rst
new file mode 100644
index 000000000..c69a8af44
--- /dev/null
+++ b/docs/reference/autoplex.data.utils.rst
@@ -0,0 +1,33 @@
+autoplex.data.utils
+===================
+
+.. automodule:: autoplex.data.utils
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/reference/autoplex.fitting.flows.MLIPFitMaker.rst b/docs/reference/autoplex.fitting.flows.MLIPFitMaker.rst
new file mode 100644
index 000000000..45914f829
--- /dev/null
+++ b/docs/reference/autoplex.fitting.flows.MLIPFitMaker.rst
@@ -0,0 +1,8 @@
+MLIPFitMaker
+============
+
+.. currentmodule:: autoplex.fitting.flows
+
+.. autoclass:: MLIPFitMaker
+ :show-inheritance:
+ :members:
\ No newline at end of file
diff --git a/docs/reference/autoplex.fitting.flows.TYPE_CHECKING.rst b/docs/reference/autoplex.fitting.flows.TYPE_CHECKING.rst
new file mode 100644
index 000000000..3c5c1016d
--- /dev/null
+++ b/docs/reference/autoplex.fitting.flows.TYPE_CHECKING.rst
@@ -0,0 +1,6 @@
+TYPE\_CHECKING
+==============
+
+.. currentmodule:: autoplex.fitting.flows
+
+.. autodata:: TYPE_CHECKING
\ No newline at end of file
diff --git a/docs/reference/autoplex.fitting.flows.rst b/docs/reference/autoplex.fitting.flows.rst
new file mode 100644
index 000000000..66b12959e
--- /dev/null
+++ b/docs/reference/autoplex.fitting.flows.rst
@@ -0,0 +1,50 @@
+autoplex.fitting.flows
+======================
+
+.. automodule:: autoplex.fitting.flows
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ .. rubric:: Classes
+
+ .. autosummary::
+ :toctree:
+ :nosignatures:
+
+ MLIPFitMaker
+ TYPE_CHECKING
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/reference/autoplex.fitting.jobs.gapfit.rst b/docs/reference/autoplex.fitting.jobs.gapfit.rst
new file mode 100644
index 000000000..913810e46
--- /dev/null
+++ b/docs/reference/autoplex.fitting.jobs.gapfit.rst
@@ -0,0 +1,6 @@
+gapfit
+======
+
+.. currentmodule:: autoplex.fitting.jobs
+
+.. autofunction:: gapfit
\ No newline at end of file
diff --git a/docs/reference/autoplex.fitting.jobs.rst b/docs/reference/autoplex.fitting.jobs.rst
new file mode 100644
index 000000000..e391eb6bc
--- /dev/null
+++ b/docs/reference/autoplex.fitting.jobs.rst
@@ -0,0 +1,42 @@
+autoplex.fitting.jobs
+=====================
+
+.. automodule:: autoplex.fitting.jobs
+
+
+
+
+
+
+
+ .. rubric:: Functions
+
+ .. autosummary::
+ :toctree:
+ :nosignatures:
+
+ gapfit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/reference/autoplex.fitting.rst b/docs/reference/autoplex.fitting.rst
new file mode 100644
index 000000000..5ef371886
--- /dev/null
+++ b/docs/reference/autoplex.fitting.rst
@@ -0,0 +1,44 @@
+autoplex.fitting
+================
+
+.. automodule:: autoplex.fitting
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+.. rubric:: Modules
+
+.. autosummary::
+ :toctree:
+ :recursive:
+
+ autoplex.fitting.flows
+ autoplex.fitting.jobs
+ autoplex.fitting.utils
+
diff --git a/docs/reference/autoplex.fitting.utils.gap_hyperparameter_constructor.rst b/docs/reference/autoplex.fitting.utils.gap_hyperparameter_constructor.rst
new file mode 100644
index 000000000..e301dfd4f
--- /dev/null
+++ b/docs/reference/autoplex.fitting.utils.gap_hyperparameter_constructor.rst
@@ -0,0 +1,6 @@
+gap\_hyperparameter\_constructor
+================================
+
+.. currentmodule:: autoplex.fitting.utils
+
+.. autofunction:: gap_hyperparameter_constructor
\ No newline at end of file
diff --git a/docs/reference/autoplex.fitting.utils.get_list_of_vasp_calc_dirs.rst b/docs/reference/autoplex.fitting.utils.get_list_of_vasp_calc_dirs.rst
new file mode 100644
index 000000000..e3cfe8728
--- /dev/null
+++ b/docs/reference/autoplex.fitting.utils.get_list_of_vasp_calc_dirs.rst
@@ -0,0 +1,6 @@
+get\_list\_of\_vasp\_calc\_dirs
+===============================
+
+.. currentmodule:: autoplex.fitting.utils
+
+.. autofunction:: get_list_of_vasp_calc_dirs
\ No newline at end of file
diff --git a/docs/reference/autoplex.fitting.utils.load_gap_hyperparameter_defaults.rst b/docs/reference/autoplex.fitting.utils.load_gap_hyperparameter_defaults.rst
new file mode 100644
index 000000000..79b0eb41e
--- /dev/null
+++ b/docs/reference/autoplex.fitting.utils.load_gap_hyperparameter_defaults.rst
@@ -0,0 +1,6 @@
+load\_gap\_hyperparameter\_defaults
+===================================
+
+.. currentmodule:: autoplex.fitting.utils
+
+.. autofunction:: load_gap_hyperparameter_defaults
\ No newline at end of file
diff --git a/docs/reference/autoplex.fitting.utils.outcar_2_extended_xyz.rst b/docs/reference/autoplex.fitting.utils.outcar_2_extended_xyz.rst
new file mode 100644
index 000000000..43edb1979
--- /dev/null
+++ b/docs/reference/autoplex.fitting.utils.outcar_2_extended_xyz.rst
@@ -0,0 +1,6 @@
+outcar\_2\_extended\_xyz
+========================
+
+.. currentmodule:: autoplex.fitting.utils
+
+.. autofunction:: outcar_2_extended_xyz
\ No newline at end of file
diff --git a/docs/reference/autoplex.fitting.utils.rst b/docs/reference/autoplex.fitting.utils.rst
new file mode 100644
index 000000000..f45d166a5
--- /dev/null
+++ b/docs/reference/autoplex.fitting.utils.rst
@@ -0,0 +1,48 @@
+autoplex.fitting.utils
+======================
+
+.. automodule:: autoplex.fitting.utils
+
+
+
+
+
+
+
+ .. rubric:: Functions
+
+ .. autosummary::
+ :toctree:
+ :nosignatures:
+
+ gap_hyperparameter_constructor
+ get_list_of_vasp_calc_dirs
+ load_gap_hyperparameter_defaults
+ outcar_2_extended_xyz
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/reference/index.rst b/docs/reference/index.rst
new file mode 100644
index 000000000..a4e2055e8
--- /dev/null
+++ b/docs/reference/index.rst
@@ -0,0 +1,18 @@
+.. _api:
+
+API reference
+-------------
+
+This section gives an overview of the API for autoplex.
+
+.. currentmodule:: autoplex
+
+.. autosummary::
+ :recursive:
+ :toctree:
+ :nosignatures:
+
+ auto
+ benchmark
+ data
+ fitting
diff --git a/docs/user/index.md b/docs/user/index.md
new file mode 100644
index 000000000..3c66669b3
--- /dev/null
+++ b/docs/user/index.md
@@ -0,0 +1,7 @@
+Getting started
+================
+```{include} ../../README.md
+---
+start-line: 3
+---
+```
diff --git a/docs/user/tutorials.md b/docs/user/tutorials.md
new file mode 100644
index 000000000..06110e944
--- /dev/null
+++ b/docs/user/tutorials.md
@@ -0,0 +1,5 @@
+Tutorials
+==========
+
+`autoplex` tutorials can be added in this file (one can also replace it with juypter notebook if necessary with same name)
+
diff --git a/pyproject.toml b/pyproject.toml
index 9908799d3..409d9211d 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -41,17 +41,18 @@ exclude = ["tutorials", "tests"]
[project.optional-dependencies]
-docs = ["Sphinx==4.5.0",
- "jupyter",
- "sphinx-argparse",
- "sphinx-book-theme==0.3.3",
- "m2r2",
- "myst-parser",
- "docutils",
- "mendeleev==0.14.0",
- "pymatgen>=2023.9.10",
- "sphinx-argparse==0.4.0",
- "typing"]
+docs = [
+ "autodoc_pydantic==2.0.1",
+ "ipython",
+ "jsonschema[format]",
+ "myst_parser==2.0.0",
+ "numpydoc==1.6.0",
+ "sphinx-copybutton==0.5.2",
+ "sphinx==7.2.6",
+ "sphinx_design==0.5.0",
+ "myst-nb==1.0.0",
+ "sphinx-book-theme==1.1.0",
+]
strict = [
#"pymatgen==2023.9.10",