




from dataclasses import dataclass, field
from typing import Tuple

from ..utils import cached_property, is_torch_available, is_torch_tpu_available, logging, requires_backends
from .benchmark_args_utils import BenchmarkArguments


if is_torch_available():
					import torch

if is_torch_tpu_available(check_device=False):
					import torch_xla.core.xla_model as xm


UpperCamelCase__    			=			logging.get_logger(__name__)
@dataclass
class 			a__    (					snake_case__      ):
						_a							:    str					=    [
						    """no_inference""",
						    """no_cuda""",
						    """no_tpu""",
						    """no_speed""",
						    """no_memory""",
						    """no_env_print""",
						    """no_multi_process""",
						]






						def __init__(   self		,			**_A			):




											"""simple docstring"""



											for deprecated_arg in self.deprecated_args:
																if deprecated_arg in kwargs:
																					__lowerCAmelCase				   =       deprecated_arg[3:]
																					setattr(self		,			_A		,			not kwargs.pop(_A			)			)
																					logger.warning(
																					    f"""{deprecated_arg} is depreciated. Please use --no_{positive_arg} or"""
																					    f""" {positive_arg}={kwargs[positive_arg]}"""			)

											__lowerCAmelCase				   =       kwargs.pop("torchscript"		,			self.torchscript			)
											__lowerCAmelCase				   =       kwargs.pop("torch_xla_tpu_print_metrics"		,			self.torch_xla_tpu_print_metrics			)
											__lowerCAmelCase				   =       kwargs.pop("fp16_opt_level"		,			self.fpaa_opt_level			)
											super().__init__(**_A			)

						_a							:    bool					=    field(default=snake_case__ ,				metadata={"""help""": """Trace the models using torchscript"""}      )
						_a							:    bool					=    field(default=snake_case__ ,				metadata={"""help""": """Print Xla/PyTorch tpu metrics"""}      )
						_a							:    str					=    field(
						    default="""O1""" ,				metadata={
						        """help""": (
						            """For fp16: Apex AMP optimization level selected in ['O0', 'O1', 'O2', and 'O3']. """
						            """See details at https://nvidia.github.io/apex/amp.html"""
						        )
						    } ,				)






						@cached_property
						def 				__SCREAMING_SNAKE_CASE(   self			):




											"""simple docstring"""



											requires_backends(self		,			["torch"]			)
											logger.info("PyTorch: setting up devices"			)
											if not self.cuda:
																__lowerCAmelCase				   =       torch.device("cpu"			)
																__lowerCAmelCase				   =       0
											elif is_torch_tpu_available():
																__lowerCAmelCase				   =       xm.xla_device()
																__lowerCAmelCase				   =       0
											else:
																__lowerCAmelCase				   =       torch.device("cuda" if torch.cuda.is_available() else "cpu"			)
																__lowerCAmelCase				   =       torch.cuda.device_count()
											return device, n_gpu






						@property
						def 				__SCREAMING_SNAKE_CASE(   self			):




											"""simple docstring"""



											return is_torch_tpu_available() and self.tpu






						@property
						def 				__SCREAMING_SNAKE_CASE(   self			):




											"""simple docstring"""



											requires_backends(self		,			["torch"]			)
											# TODO(PVP): currently only single GPU is supported
											return torch.cuda.current_device()






						@property
						def 				__SCREAMING_SNAKE_CASE(   self			):




											"""simple docstring"""



											requires_backends(self		,			["torch"]			)
											return self._setup_devices[0]






						@property
						def 				__SCREAMING_SNAKE_CASE(   self			):




											"""simple docstring"""



											requires_backends(self		,			["torch"]			)
											return self._setup_devices[1]






						@property
						def 				__SCREAMING_SNAKE_CASE(   self			):




											"""simple docstring"""



											return self.n_gpu > 0







import requests

a__				=		'''YOUR API KEY'''



def    __UpperCAmelCase (	__a      :			str		,__a      :			str = giphy_api_key	)			->     list:

					"""simple docstring"""

					_a	:    Optional[Any]         =		'''+'''.join(query.split()	)
					_a	:    Union[str, Any]         =		F"""https://api.giphy.com/v1/gifs/search?q={formatted_query}&api_key={api_key}"""
					_a	:    List[Any]         =		requests.get(__a	).json()['''data''']
					return [gif["url"] for gif in gifs]


if __name__ == "__main__":
			print('''\n'''.join(get_gifs('''space ship''')))



