Source code for ensembler.util.ensemblerTypes

"""
    This file provides ensembler types, that are used to annotate and enforce certain types throughout the ensembler package.
"""

# Generic Types - provided to all other files from here
from typing import TypeVar, Union, List, Tuple, Iterable, Dict, NoReturn
from numbers import Number

# Dummy defs:
potentialCls = TypeVar("potential")
conditionCls = TypeVar("condition")
samplerCls = TypeVar("samplers")

systemCls = TypeVar("system")

ensembleCls = TypeVar("ensemble")

# Ensembler specific Types:
"""
from ensembler.potentials._baseclasses import _potentialCls 
potential = TypeVar("potential", bound=_potentialCls)

#define here dummy type, so it is useable in sub classes
system = TypeVar("system")  #dummyDef for samplers

from ensembler.conditions._conditions import _conditionCls
condition = TypeVar("condition", bound=_conditionCls)

from ensembler.samplers._basicIntegrators import _integratorCls
samplers = TypeVar("samplers", bound=_integratorCls)

from ensembler.system.basic_system import system
system = TypeVar("system", bound=system)
"""