.. Apache Marvin-AI documentation master file, created by
   sphinx-quickstart on Thu Sep  5 14:06:07 2019.
   You can adapt this file completely to your liking, but it should at least
   contain the root `toctree` directive.

Welcome to Apache Marvin-AI's documentation!
============================================

.. toctree::
   :maxdepth: 2
   :caption: Contents:

   pages/overview-marvin
   pages/main-components
   pages/install-marvin
   pages/create-engine
   pages/existing-engine
   pages/features
   pages/architecture
   pages/community


Indices and tables
==================

* :ref:`genindex`
* :ref:`search`
