

from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_sentencepiece_available,
    is_tokenizers_available,
    is_torch_available,
)


A_							:			Union[str, Any]											= {"""configuration_fnet""": ["""FNET_PRETRAINED_CONFIG_ARCHIVE_MAP""", """FNetConfig"""]}

try:
						if not is_sentencepiece_available():
												raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
						pass
else:
						A_							:			Optional[Any]											= ["""FNetTokenizer"""]

try:
						if not is_tokenizers_available():
												raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
						pass
else:
						A_							:			Any											= ["""FNetTokenizerFast"""]

try:
						if not is_torch_available():
												raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
						pass
else:
						A_							:			Any											= [
						    """FNET_PRETRAINED_MODEL_ARCHIVE_LIST""",
						    """FNetForMaskedLM""",
						    """FNetForMultipleChoice""",
						    """FNetForNextSentencePrediction""",
						    """FNetForPreTraining""",
						    """FNetForQuestionAnswering""",
						    """FNetForSequenceClassification""",
						    """FNetForTokenClassification""",
						    """FNetLayer""",
						    """FNetModel""",
						    """FNetPreTrainedModel""",
						]


if TYPE_CHECKING:
						from .configuration_fnet import FNET_PRETRAINED_CONFIG_ARCHIVE_MAP, FNetConfig

						try:
												if not is_sentencepiece_available():
																		raise OptionalDependencyNotAvailable()
						except OptionalDependencyNotAvailable:
												pass
						else:
												from .tokenization_fnet import FNetTokenizer

						try:
												if not is_tokenizers_available():
																		raise OptionalDependencyNotAvailable()
						except OptionalDependencyNotAvailable:
												pass
						else:
												from .tokenization_fnet_fast import FNetTokenizerFast

						try:
												if not is_torch_available():
																		raise OptionalDependencyNotAvailable()
						except OptionalDependencyNotAvailable:
												pass
						else:
												from .modeling_fnet import (
												    FNET_PRETRAINED_MODEL_ARCHIVE_LIST,
												    FNetForMaskedLM,
												    FNetForMultipleChoice,
												    FNetForNextSentencePrediction,
												    FNetForPreTraining,
												    FNetForQuestionAnswering,
												    FNetForSequenceClassification,
												    FNetForTokenClassification,
												    FNetLayer,
												    FNetModel,
												    FNetPreTrainedModel,
												)


else:
						import sys

						A_							:			Optional[int]											= _LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)





"""simple docstring"""




# Lint as: python3
# pylint: enable=line-too-long
# pylint: disable=g-import-not-at-top,g-bad-import-order,wrong-import-position

A_							:			Tuple											= "2.13.1"

import platform

import pyarrow
from packaging import version


if version.parse(platform.python_version()) < version.parse("3.7"):
						raise ImportWarning(
						    "To use `datasets`, Python>=3.7 is required, and the current version of Python doesn't match this condition."
						)

if version.parse(pyarrow.__version__).major < 8:
						raise ImportWarning(
						    "To use `datasets`, the module `pyarrow>=8.0.0` is required, and the current version of `pyarrow` doesn't match this condition.\n"
						    "If you are running this in a Google Colab, you should probably just restart the runtime to use the right version of `pyarrow`."
						)

del platform
del pyarrow
del version

from .arrow_dataset import Dataset
from .arrow_reader import ReadInstruction
from .builder import ArrowBasedBuilder, BeamBasedBuilder, BuilderConfig, DatasetBuilder, GeneratorBasedBuilder
from .combine import concatenate_datasets, interleave_datasets
from .dataset_dict import DatasetDict, IterableDatasetDict
from .download import *
from .features import *
from .fingerprint import disable_caching, enable_caching, is_caching_enabled, set_caching_enabled
from .info import DatasetInfo, MetricInfo
from .inspect import (
    get_dataset_config_info,
    get_dataset_config_names,
    get_dataset_infos,
    get_dataset_split_names,
    inspect_dataset,
    inspect_metric,
    list_datasets,
    list_metrics,
)
from .iterable_dataset import IterableDataset
from .load import load_dataset, load_dataset_builder, load_from_disk, load_metric
from .metric import Metric
from .splits import (
    NamedSplit,
    NamedSplitAll,
    Split,
    SplitBase,
    SplitDict,
    SplitGenerator,
    SplitInfo,
    SubSplitInfo,
    percent,
)
from .tasks import *
from .utils import *
from .utils import logging


# deprecated modules
from datasets import arrow_dataset as _arrow_dataset  # isort:skip
from datasets import utils as _utils  # isort:skip
from datasets.utils import download_manager as _deprecated_download_manager  # isort:skip

A_							:			Tuple											= concatenate_datasets
A_							:			List[str]											= DownloadConfig
A_							:			int											= DownloadManager
A_							:			Optional[Any]											= DownloadMode
A_							:			Optional[int]											= DownloadConfig
A_							:			List[Any]											= DownloadMode
A_							:			Any											= DownloadManager

del _arrow_dataset, _utils, _deprecated_download_manager


