

'''simple docstring'''







from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_flax_available,
    is_tf_available,
    is_torch_available,
)


__lowerCamelCase									=     {
    '''configuration_vision_text_dual_encoder''': ['''VisionTextDualEncoderConfig'''],
    '''processing_vision_text_dual_encoder''': ['''VisionTextDualEncoderProcessor'''],
}


try:
      if not is_torch_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      __lowerCamelCase									=     ['''VisionTextDualEncoderModel''']


try:
      if not is_flax_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      __lowerCamelCase									=     ['''FlaxVisionTextDualEncoderModel''']

try:
      if not is_tf_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      __lowerCamelCase									=     ['''TFVisionTextDualEncoderModel''']


if TYPE_CHECKING:
      from .configuration_vision_text_dual_encoder import VisionTextDualEncoderConfig
      from .processing_vision_text_dual_encoder import VisionTextDualEncoderProcessor

      try:
            if not is_torch_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .modeling_vision_text_dual_encoder import VisionTextDualEncoderModel

      try:
            if not is_flax_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .modeling_flax_vision_text_dual_encoder import FlaxVisionTextDualEncoderModel

      try:
            if not is_tf_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .modeling_tf_vision_text_dual_encoder import TFVisionTextDualEncoderModel


else:
      import sys

      __lowerCamelCase									=     _LazyModule(__name__, globals()['''__file__'''], _import_structure)



'''simple docstring'''







import pytest

import datasets


# Import fixture modules as plugins
__lowerCamelCase									=     ['''tests.fixtures.files''', '''tests.fixtures.hub''', '''tests.fixtures.fsspec''']
def    UpperCAmelCase__     (   UpperCAmelCase__,							UpperCAmelCase__					)      ->      Optional[int]:
       # Mark tests as "unit" by default if not marked as "integration" (or already marked as "unit")
       for item in items:
              if any(marker in item.keywords for marker in ["""integration""", """unit"""]					):
                     continue
              item.add_marker(pytest.mark.unit					)
def    UpperCAmelCase__     (   UpperCAmelCase__					)      ->      Tuple:
       config.addinivalue_line("""markers""",							"""torchaudio_latest: mark test to run with torchaudio>=0.12"""					)
@pytest.fixture(autouse=UpperCAmelCase__					)
def    UpperCAmelCase__     (   UpperCAmelCase__,							UpperCAmelCase__					)      ->      int:
       # test_hf_cache_home = tmp_path_factory.mktemp("cache")  # TODO: why a cache dir per test function does not work?
       A_						       =   tmp_path_factory.getbasetemp() / """cache"""
       A_						       =   test_hf_cache_home / """datasets"""
       A_						       =   test_hf_cache_home / """metrics"""
       A_						       =   test_hf_cache_home / """modules"""
       monkeypatch.setattr("""datasets.config.HF_DATASETS_CACHE""",							str(UpperCAmelCase__					)					)
       monkeypatch.setattr("""datasets.config.HF_METRICS_CACHE""",							str(UpperCAmelCase__					)					)
       monkeypatch.setattr("""datasets.config.HF_MODULES_CACHE""",							str(UpperCAmelCase__					)					)
       A_						       =   test_hf_datasets_cache / """downloads"""
       monkeypatch.setattr("""datasets.config.DOWNLOADED_DATASETS_PATH""",							str(UpperCAmelCase__					)					)
       A_						       =   test_hf_datasets_cache / """downloads""" / """extracted"""
       monkeypatch.setattr("""datasets.config.EXTRACTED_DATASETS_PATH""",							str(UpperCAmelCase__					)					)
@pytest.fixture(autouse=UpperCAmelCase__,							scope="""session"""					)
def    UpperCAmelCase__     (   )      ->      str:
       datasets.disable_progress_bar()
@pytest.fixture(autouse=UpperCAmelCase__					)
def    UpperCAmelCase__     (   UpperCAmelCase__					)      ->      Tuple:
       # don't take tests into account when counting downloads
       monkeypatch.setattr("""datasets.config.HF_UPDATE_DOWNLOAD_COUNTS""",							UpperCAmelCase__					)







@pytest.fixture
def    UpperCAmelCase__     (   UpperCAmelCase__					)      ->      Any:
       # Required to suppress RemovedIn20Warning when feature(s) are not compatible with SQLAlchemy 2.0
       # To be removed once SQLAlchemy 2.0 supported
       monkeypatch.setattr("""sqlalchemy.util.deprecations.SILENCE_UBER_WARNING""",							UpperCAmelCase__					)
