code: def twilight(self, direction=SUN_RISING, date=None, local=True, use_elevation=True):
          
  
          if local and self.timezone is None:
              raise ValueError("Local time requested but Location has no timezone set.")
  
          if date is None:
              date = datetime.date.today()
  
          elevation = self.elevation if use_elevation else 0
          start, end = self.astral.twilight_utc(
              direction, date, self.latitude, self.longitude, elevation
          )
  
          if local:
              return start.astimezone(self.tz), end.astimezone(self.tz)
          else:
              return start, end
docs: Returns the start and end times of Twilight in the UTC timezone when
          the sun is traversing in the specified direction.
  
          This method defines twilight as being between the time
          when the sun is at -6 degrees and sunrise/sunset.
  
          :param direction:  Determines whether the time is for the sun rising or setting.
                             Use ``astral.SUN_RISING`` or ``astral.SUN_SETTING``.
          :type direction:   int
  
          :param date: The date for which to calculate the times.
          :type date: :class:`datetime.date`
  
          :param local: True  = Time to be returned in location's time zone;
                        False = Time to be returned in UTC.
                        If not specified then the time will be returned in local time
          :type local:  bool
  
          :param use_elevation: True  = Return times that allow for the location's elevation;
                                False = Return times that don't use elevation.
                                If not specified then times will take elevation into account.
          :type use_elevation:  bool
  
          :return: A tuple of the UTC date and time at which twilight starts and ends.
          :rtype: (:class:`~datetime.datetime`, :class:`~datetime.datetime`)