from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


a_					      = {'configuration_nat': ['NAT_PRETRAINED_CONFIG_ARCHIVE_MAP', 'NatConfig']}


try:
   if not is_torch_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   a_					      = [
       'NAT_PRETRAINED_MODEL_ARCHIVE_LIST',
       'NatForImageClassification',
       'NatModel',
       'NatPreTrainedModel',
       'NatBackbone',
   ]

if TYPE_CHECKING:
   from .configuration_nat import NAT_PRETRAINED_CONFIG_ARCHIVE_MAP, NatConfig

   try:
      if not is_torch_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .modeling_nat import (
          NAT_PRETRAINED_MODEL_ARCHIVE_LIST,
          NatBackbone,
          NatForImageClassification,
          NatModel,
          NatPreTrainedModel,
      )

else:
   import sys

   a_					      = _LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)




from datetime import date

import requests

a_					      = 'https://api.carbonintensity.org.uk/intensity'





def      __lowercase  (		):
 UpperCamelCase_      :		Dict				=      requests.get(lowerCamelCase			).json()['data'][0]
 return last_half_hour["intensity"]["actual"]





def      __lowercase  (		lowerCamelCase      :  Union[str, Any]						,						lowerCamelCase      :  Union[str, Any]			):
 return requests.get(F"{BASE_URL}/{start}/{end}"			).json()["data"]


if __name__ == "__main__":
   for entry in fetch_from_to(start=date(2_020, 10, 1), end=date(2_020, 10, 3)):
      print('from {from} to {to}: {intensity[actual]}'.format(**entry))
   print(F"""{fetch_last_half_hour() = }""")



