


'''simple docstring'''



from typing import TYPE_CHECKING

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


__UpperCAmelCase      :List[str]			    =       {
    "configuration_blip": [
        "BLIP_PRETRAINED_CONFIG_ARCHIVE_MAP",
        "BlipConfig",
        "BlipTextConfig",
        "BlipVisionConfig",
    ],
    "processing_blip": ["BlipProcessor"],
}

try:
      if not is_vision_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      __UpperCAmelCase      :Union[str, Any]			    =       ["BlipImageProcessor"]


try:
      if not is_torch_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      __UpperCAmelCase      :List[Any]			    =       [
          "BLIP_PRETRAINED_MODEL_ARCHIVE_LIST",
          "BlipModel",
          "BlipPreTrainedModel",
          "BlipForConditionalGeneration",
          "BlipForQuestionAnswering",
          "BlipVisionModel",
          "BlipTextModel",
          "BlipForImageTextRetrieval",
      ]

try:
      if not is_tf_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      __UpperCAmelCase      :int			    =       [
          "TF_BLIP_PRETRAINED_MODEL_ARCHIVE_LIST",
          "TFBlipModel",
          "TFBlipPreTrainedModel",
          "TFBlipForConditionalGeneration",
          "TFBlipForQuestionAnswering",
          "TFBlipVisionModel",
          "TFBlipTextModel",
          "TFBlipForImageTextRetrieval",
      ]

if TYPE_CHECKING:
      from .configuration_blip import BLIP_PRETRAINED_CONFIG_ARCHIVE_MAP, BlipConfig, BlipTextConfig, BlipVisionConfig
      from .processing_blip import BlipProcessor

      try:
            if not is_vision_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .image_processing_blip import BlipImageProcessor

      try:
            if not is_torch_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .modeling_blip import (
                BLIP_PRETRAINED_MODEL_ARCHIVE_LIST,
                BlipForConditionalGeneration,
                BlipForImageTextRetrieval,
                BlipForQuestionAnswering,
                BlipModel,
                BlipPreTrainedModel,
                BlipTextModel,
                BlipVisionModel,
            )

      try:
            if not is_tf_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .modeling_tf_blip import (
                TF_BLIP_PRETRAINED_MODEL_ARCHIVE_LIST,
                TFBlipForConditionalGeneration,
                TFBlipForImageTextRetrieval,
                TFBlipForQuestionAnswering,
                TFBlipModel,
                TFBlipPreTrainedModel,
                TFBlipTextModel,
                TFBlipVisionModel,
            )

else:
      import sys

      __UpperCAmelCase      :List[str]			    =       _LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)



'''simple docstring'''



from argparse import ArgumentParser

from .env import EnvironmentCommand




def      _a     (						):





     '''simple docstring'''






     __UpperCAmelCase     :			Optional[Any]  							=      ArgumentParser('''Diffusers CLI tool'''      , usage='''diffusers-cli <command> [<args>]'''  )
     __UpperCAmelCase     :			Union[str, Any]  							=      parser.add_subparsers(help='''diffusers-cli command helpers'''  )

     # Register commands
     EnvironmentCommand.register_subcommand(_lowercase  )

     # Let's go
     __UpperCAmelCase     :			Union[str, Any]  							=      parser.parse_args()

     if not hasattr(_lowercase      , '''func'''  ):
          parser.print_help()
          exit(1  )

     # Run
     __UpperCAmelCase     :			Any  							=      args.func(_lowercase  )
     service.run()


if __name__ == "__main__":
      main()