import sys

from .dependency_versions_table import deps
from .utils.versions import require_version, require_version_core


# define which module versions we always want to check at run time
# (usually the ones defined in `install_requires` in setup.py)
#
# order specific notes:
# - tqdm must be checked before tokenizers

lowerCAmelCase__     						=			'python tqdm regex requests packaging filelock numpy tokenizers'.split()
if sys.version_info < (3, 7):
    pkgs_to_check_at_runtime.append('dataclasses')
if sys.version_info < (3, 8):
    pkgs_to_check_at_runtime.append('importlib_metadata')

for pkg in pkgs_to_check_at_runtime:
    if pkg in deps:
        if pkg == "tokenizers":
            # must be loaded here, or else tqdm check may fail
            from .utils import is_tokenizers_available

            if not is_tokenizers_available():
                continue  # not required, check version only if installed

        require_version_core(deps[pkg])
    else:
        raise ValueError(F'can\'t find {pkg} in {deps.keys()}, check dependency_versions_table.py')






def 				__lowerCamelCase		(						lowerCAmelCase__     ,  lowerCAmelCase__=None     ):
       require_version(deps[pkg]     ,  lowerCAmelCase__     )

import numpy as np






def 				__lowerCamelCase		(						lowerCAmelCase__     ):
       return 1 / (1 + np.exp(-vector     ))






def 				__lowerCamelCase		(						lowerCAmelCase__     ):
       return vector * sigmoid(lowerCAmelCase__     )


if __name__ == "__main__":
    import doctest

    doctest.testmod()
