





from typing import TYPE_CHECKING

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


SCREAMING_SNAKE_CASE_		     = {"""configuration_xlnet""": ["""XLNET_PRETRAINED_CONFIG_ARCHIVE_MAP""", """XLNetConfig"""]}

try:
						if not is_sentencepiece_available():
												raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
						pass
else:
						SCREAMING_SNAKE_CASE_		     = ["""XLNetTokenizer"""]

try:
						if not is_tokenizers_available():
												raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
						pass
else:
						SCREAMING_SNAKE_CASE_		     = ["""XLNetTokenizerFast"""]

try:
						if not is_torch_available():
												raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
						pass
else:
						SCREAMING_SNAKE_CASE_		     = [
						    """XLNET_PRETRAINED_MODEL_ARCHIVE_LIST""",
						    """XLNetForMultipleChoice""",
						    """XLNetForQuestionAnswering""",
						    """XLNetForQuestionAnsweringSimple""",
						    """XLNetForSequenceClassification""",
						    """XLNetForTokenClassification""",
						    """XLNetLMHeadModel""",
						    """XLNetModel""",
						    """XLNetPreTrainedModel""",
						    """load_tf_weights_in_xlnet""",
						]

try:
						if not is_tf_available():
												raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
						pass
else:
						SCREAMING_SNAKE_CASE_		     = [
						    """TF_XLNET_PRETRAINED_MODEL_ARCHIVE_LIST""",
						    """TFXLNetForMultipleChoice""",
						    """TFXLNetForQuestionAnsweringSimple""",
						    """TFXLNetForSequenceClassification""",
						    """TFXLNetForTokenClassification""",
						    """TFXLNetLMHeadModel""",
						    """TFXLNetMainLayer""",
						    """TFXLNetModel""",
						    """TFXLNetPreTrainedModel""",
						]


if TYPE_CHECKING:
						from .configuration_xlnet import XLNET_PRETRAINED_CONFIG_ARCHIVE_MAP, XLNetConfig

						try:
												if not is_sentencepiece_available():
																		raise OptionalDependencyNotAvailable()
						except OptionalDependencyNotAvailable:
												pass
						else:
												from .tokenization_xlnet import XLNetTokenizer

						try:
												if not is_tokenizers_available():
																		raise OptionalDependencyNotAvailable()
						except OptionalDependencyNotAvailable:
												pass
						else:
												from .tokenization_xlnet_fast import XLNetTokenizerFast

						try:
												if not is_torch_available():
																		raise OptionalDependencyNotAvailable()
						except OptionalDependencyNotAvailable:
												pass
						else:
												from .modeling_xlnet import (
												    XLNET_PRETRAINED_MODEL_ARCHIVE_LIST,
												    XLNetForMultipleChoice,
												    XLNetForQuestionAnswering,
												    XLNetForQuestionAnsweringSimple,
												    XLNetForSequenceClassification,
												    XLNetForTokenClassification,
												    XLNetLMHeadModel,
												    XLNetModel,
												    XLNetPreTrainedModel,
												    load_tf_weights_in_xlnet,
												)

						try:
												if not is_tf_available():
																		raise OptionalDependencyNotAvailable()
						except OptionalDependencyNotAvailable:
												pass
						else:
												from .modeling_tf_xlnet import (
												    TF_XLNET_PRETRAINED_MODEL_ARCHIVE_LIST,
												    TFXLNetForMultipleChoice,
												    TFXLNetForQuestionAnsweringSimple,
												    TFXLNetForSequenceClassification,
												    TFXLNetForTokenClassification,
												    TFXLNetLMHeadModel,
												    TFXLNetMainLayer,
												    TFXLNetModel,
												    TFXLNetPreTrainedModel,
												)

else:
						import sys

						SCREAMING_SNAKE_CASE_		     = _LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)









import pytest

from datasets import inspect_metric, list_metrics, load_metric



@pytest.fixture
def      __lowercase     (   _SCREAMING_SNAKE_CASE			)				->     List[Any]:


      '''simple docstring'''


      monkeypatch.setattr("""datasets.utils.deprecation_utils._emitted_deprecation_warnings"""				,		set()			)



@pytest.fixture
def      __lowercase     (   _SCREAMING_SNAKE_CASE			)				->     Dict:


      '''simple docstring'''


      class 	UpperCamelCase__				:



           '''simple docstring'''

           def __init__(							self		:					int		,lowerCamelCase__		:					Dict )  ->	List[Any]:




                 '''simple docstring'''


                 SCREAMING_SNAKE_CASE	=		metric_id

      class 	UpperCamelCase__				:



           '''simple docstring'''

           __snake_case					:			List[str]				=    [MetricMock(lowerCAmelCase_     ) for metric_id in ["accuracy", "mse", "precision", "codeparrot/apps_metric"]]






           def        SCREAMING_SNAKE_CASE__						(							self		:					Optional[int] )  ->	str:




                 '''simple docstring'''


                 return self._metrics
      monkeypatch.setattr("""datasets.inspect.huggingface_hub"""				,		HfhMock()			)



@pytest.mark.parametrize(
    """func, args"""				,		[(load_metric, ("""metrics/mse""",)), (list_metrics, ()), (inspect_metric, ("""metrics/mse""", """tmp_path"""))]			)
def      __lowercase     (   _SCREAMING_SNAKE_CASE				,		_SCREAMING_SNAKE_CASE				,		_SCREAMING_SNAKE_CASE				,		_SCREAMING_SNAKE_CASE				,		_SCREAMING_SNAKE_CASE			)				->     Union[str, Any]:


      '''simple docstring'''


      if "tmp_path" in args:
            SCREAMING_SNAKE_CASE	=		tuple(arg if arg != """tmp_path""" else tmp_path for arg in args			)
      with pytest.warns(_SCREAMING_SNAKE_CASE				,		match="""https://huggingface.co/docs/evaluate"""			):
            func(*_SCREAMING_SNAKE_CASE			)


