


'''simple docstring'''

import os


# All paths are set with the intent you should run this script from the root of the repo with the command
# python utils/check_doctest_list.py
_UpperCAmelCase				: int							    =				"""."""


if __name__ == "__main__":
	_UpperCAmelCase				: Dict							    =				os.path.join(REPO_PATH, """utils/documentation_tests.txt""")
	_UpperCAmelCase				: Dict							    =				[]
	_UpperCAmelCase				: Union[str, Any]							    =				[]
	with open(doctest_file_path) as fp:
		for line in fp:
			_UpperCAmelCase				: Tuple							    =				line.strip()
			_UpperCAmelCase				: Dict							    =				os.path.join(REPO_PATH, line)
			if not (os.path.isfile(path) or os.path.isdir(path)):
				non_existent_paths.append(line)
			all_paths.append(path)
	if len(non_existent_paths) > 0:
		_UpperCAmelCase				: List[str]							    =				"""\n""".join(non_existent_paths)
		raise ValueError(f"""`utils/documentation_tests.txt` contains non-existent paths:\n{non_existent_paths}""")
	if all_paths != sorted(all_paths):
		raise ValueError("""Files in `utils/documentation_tests.txt` are not in alphabetical order.""")





'''simple docstring'''

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

_UpperCAmelCase				: Tuple							    =				"""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 							__magic_name__(						lowerCamelCase,				lowerCamelCase=None):
						require_version(deps[pkg],				lowerCamelCase)

