content: # Copyright 2024 The HuggingFace Inc. team.
  # SPDX-License-Identifier: Apache-2.0
  
  from typing import TYPE_CHECKING
  
  from transformers.utils import (
      OptionalDependencyNotAvailable,
      _LazyModule,
      is_sentencepiece_available,
      is_torch_available,
      is_vision_available,
  )
  
  
  _import_structure = {
      "configuration_siglip": [
          "SiglipConfig",
          "SiglipTextConfig",
          "SiglipVisionConfig",
      ],
      "processing_siglip": ["SiglipProcessor"],
  }
  
  try:
      if not is_sentencepiece_available():
          raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
      pass
  else:
      _import_structure["tokenization_siglip"] = ["SiglipTokenizer"]
  
  
  try:
      if not is_vision_available():
          raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
      pass
  else:
      _import_structure["image_processing_siglip"] = ["SiglipImageProcessor"]
  
  try:
      if not is_torch_available():
          raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
      pass
  else:
      _import_structure["modeling_siglip"] = [
          "SiglipModel",
          "SiglipPreTrainedModel",
          "SiglipTextModel",
          "SiglipVisionModel",
          "SiglipForImageClassification",
      ]
  
  
  if TYPE_CHECKING:
      from .configuration_siglip import (
          SiglipConfig,
          SiglipTextConfig,
          SiglipVisionConfig,
      )
      from .processing_siglip import SiglipProcessor
  
      try:
          if not is_sentencepiece_available():
              raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
          pass
      else:
          from .tokenization_siglip import SiglipTokenizer
  
      try:
          if not is_vision_available():
              raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
          pass
      else:
          from .image_processing_siglip import SiglipImageProcessor
  
      try:
          if not is_torch_available():
              raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
          pass
      else:
          from .modeling_siglip import (
              SiglipForImageClassification,
              SiglipModel,
              SiglipPreTrainedModel,
              SiglipTextModel,
              SiglipVisionModel,
          )
  
  
  else:
      import sys
  
      sys.modules[__name__] = _LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)
  