__version__ = "0.0.17"
# AUTOGENERATED! DO NOT EDIT! File to edit: ../nbs/00__init__.ipynb.

# %% auto 0
__all__ = ['loadmod']

# %% ../nbs/00__init__.ipynb 3
from itertools import chain
from types import ModuleType
from importlib import import_module

def loadmod(mod: ModuleType):
    if hasattr(mod, '__all__'): return mod.__all__
    if hasattr(mod, '__module__'): return loadmod(import_module(mod.__module__))
    raise AttributeError(f"module {mod} has no attribute '__all__'")

# %% ../nbs/00__init__.ipynb 4
from . import (cons, atyp, util, meta, emod, solv, enum,)
from .cons import *
from .atyp import *
from .util import *
from .meta import *
from .emod import *
from .solv import *
from .enum import *

# %% ../nbs/00__init__.ipynb 5
__all__ = sorted(set(chain(*[
    loadmod(mod) for mod in (cons, atyp, util, meta, emod, solv, enum,)
])))
