#
# CHANGES
#
# 2023, Lewis Blake, Arjo Segers
#   Formatted using "black".
#

# -------------------------------------------------
# help
# -------------------------------------------------

"""

.. Label, use :ref:`text <label>` for reference
.. _utopya-module:

*****************
``utopya`` module
*****************

The ``utopya`` module is the top level access to the various
:ref:`UTOPyA classes <utopya-classes>` and routines.

Actual implementations can be found in submodules:

.. The following are names of '.rst' files in the 'doc/sources' directory ;
   this ensures that each sub-module is given a seperate page in the documentation.

.. toctree::
   :maxdepth: 1

   pymod-utopya_base
   pymod-utopya_rc
   pymod-utopya_jobscript
   pymod-utopya_jobtree
   pymod-utopya_runscript
   pymod-utopya_tools
   pymod-utopya_post
   pymod-utopya_index


.. Label, use :ref:`text <label>` for reference
.. _utopya-classes:

Utopya classes
==============

The UTOPyA python classes could be imported from the
:ref:`utopya module <utopya-module>`,
and are defined according to the following hierchy:

* :py:class:`.UtopyaBase`

  * :py:class:`.UtopyaRc`

    * :py:class:`.UtopyaJobStep`

      * :py:class:`.UtopyaJobTree`

        * :py:class:`.UtopyaJobIteration`

    * :py:class:`.Indexer`
    * :py:class:`.IndexPart`

      * :py:class:`.IndexSections`
      * :py:class:`.IndexList`
      * :py:class:`.IndexTableRow`
      * :py:class:`.IndexTableCol`
      * :py:class:`.IndexText`
      * :py:class:`.IndexImg`

  * :py:class:`.UtopyaRunScript`

  * :py:class:`.UtopyaJobScript`

    * :py:class:`.UtopyaJobScriptForeground`
    * :py:class:`.UtopyaJobScriptRedirect`
    * :py:class:`.UtopyaJobScriptBackground`
    * :py:class:`.UtopyaJobScriptBatch`

      * :py:class:`.UtopyaJobScriptBatchTest`
      * :py:class:`.UtopyaJobScriptBatchLSF`
      * :py:class:`.UtopyaJobScriptBatchSlurm`
      * :py:class:`.UtopyaJobScriptBatchPBS`
      * :py:class:`.UtopyaJobScriptBatchLoadLeveler`

"""

# -------------------------------------------------
# imports from sub modules
# -------------------------------------------------

from utopya_base import *
from utopya_rc import *
from utopya_jobscript import *
from utopya_jobtree import *
from utopya_runscript import *

# from utopya_install    import *
from utopya_tools import *
from utopya_index import *
from utopya_post import *


# -------------------------------------------------
# end
# -------------------------------------------------
