# AUTOGENERATED! DO NOT EDIT! File to edit: ../nbs/00_atyp.ipynb.

# %% auto 0
__all__ = ['Boolic', 'Boolish', 'Bools', 'Numeric', 'Numbers', 'StrLike', 'Strs', 'StrSet', 'PathType', 'PathLike', 'DirPath',
           'DirNames', 'FileNames', 'WalkParts', 'Intum', 'Strum', 'ByteLike', 'Literals', 'TypingLike', 'GuardLike',
           'Module', 'Loader', 'ModuleSpec', 'Sig', 'Param']

# %% ../nbs/00_atyp.ipynb 4
from typing import (
    TypeAlias, Literal, Union, List, Set,
    Iterable, Tuple
)

# %% ../nbs/00_atyp.ipynb 7
try:
    from numpy import bool_ as npbool
except ImportError:
    npbool = bool

# %% ../nbs/00_atyp.ipynb 8
Boolic: TypeAlias = Union[bool, npbool]
Boolish: TypeAlias = Union[bool, Boolic, Literal[0], Literal[1]]
Bools: TypeAlias = List[Boolish]

# %% ../nbs/00_atyp.ipynb 10
from numbers import Number

# %% ../nbs/00_atyp.ipynb 11
Numeric: TypeAlias = Union[int, float, complex, Number]
Numbers: TypeAlias = List[Numeric]

# %% ../nbs/00_atyp.ipynb 13
StrLike: TypeAlias = Union[str, 'strfix', 'fuzstr', 'nymstr', 'synset']
Strs: TypeAlias = List[StrLike]
StrSet: TypeAlias = Set[StrLike]

# %% ../nbs/00_atyp.ipynb 15
import pathlib

# %% ../nbs/00_atyp.ipynb 16
PathType: TypeAlias = Union[pathlib.Path, pathlib.PosixPath]

PathLike: TypeAlias = Union[str, PathType]

# %% ../nbs/00_atyp.ipynb 17
DirPath: TypeAlias = str
DirNames: TypeAlias =  List[str]
FileNames: TypeAlias =  List[str]
WalkParts: TypeAlias = Iterable[Tuple[DirPath, DirNames, FileNames]]

# %% ../nbs/00_atyp.ipynb 19
from enum import IntEnum, StrEnum

# %% ../nbs/00_atyp.ipynb 20
Intum: TypeAlias = Union[IntEnum, 'LitIntEnum', 'Intum']
Strum: TypeAlias = Union[StrEnum, 'LitStrEnum', 'Strum', 'LiteralEnum']

# %% ../nbs/00_atyp.ipynb 22
ByteLike: TypeAlias = Union[bytes, 'BytesUnit', 'Bytes']

# %% ../nbs/00_atyp.ipynb 24
from typing import TypeVar, TypeGuard

# %% ../nbs/00_atyp.ipynb 25
Literals = TypeVar('Literals')
TypingLike: TypeAlias = Union['TTyp', 'TType', 'TypingUnit', 'Typing']
GuardLike: TypeAlias = Union['TTypGuard', 'TTypeGuard']

# %% ../nbs/00_atyp.ipynb 27
import types

# %% ../nbs/00_atyp.ipynb 28
Module: TypeAlias = types.ModuleType

# %% ../nbs/00_atyp.ipynb 30
import importlib
from importlib.abc import Loader

# %% ../nbs/00_atyp.ipynb 31
Loader: TypeAlias = Loader

ModuleSpec: TypeAlias = importlib.machinery.ModuleSpec

# %% ../nbs/00_atyp.ipynb 33
import inspect

# %% ../nbs/00_atyp.ipynb 34
Sig: TypeAlias = inspect.Signature
Param: TypeAlias = inspect.Parameter
