


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',
    'huggingface-hub',
    'safetensors',
    'accelerate',
    'pyyaml',
]

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
						elif pkg == "accelerate":
									# must be loaded here, or else tqdm check may fail
									from .utils import is_accelerate_available

									# Maybe switch to is_torch_available in the future here so that Accelerate is hard dep of
									# Transformers with PyTorch
									if not is_accelerate_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 			_a (      SCREAMING_SNAKE_CASE						,				SCREAMING_SNAKE_CASE=None     ):


		"""simple docstring"""




		require_version(deps[pkg]						,				SCREAMING_SNAKE_CASE     )






from ..utils import DummyObject, requires_backends


class        _a							(			metaclass=UpperCamelCase__			):
							_lowercase	:			Any        = ['''torch''', '''scipy''']

							def __init__(							self:	int    ,						*UpperCamelCase_:	Any    ,						**UpperCamelCase_:	Optional[Any]							)			->   List[str]:





									"""simple docstring"""







									requires_backends(self    ,						['''torch''', '''scipy''']							)

							@classmethod
							def       lowerCamelCase_ (							cls:	Optional[int]    ,						*UpperCamelCase_:	Any    ,						**UpperCamelCase_:	List[Any]							)			->   int:





									"""simple docstring"""







									requires_backends(cls    ,						['''torch''', '''scipy''']							)


							@classmethod
							def       lowerCamelCase_ (							cls:	Any    ,						*UpperCamelCase_:	Any    ,						**UpperCamelCase_:	Dict							)			->   Optional[int]:





									"""simple docstring"""







									requires_backends(cls    ,						['''torch''', '''scipy''']							)


