code: def until(time):
      
      end = time
  
      # Convert datetime to unix timestamp and adjust for locality
      if isinstance(time, datetime):
          zoneDiff = pytime.time() - (datetime.now()- datetime(1970, 1, 1)).total_seconds()
          end = (time - datetime(1970, 1, 1)).total_seconds() + zoneDiff
  
      # Type check
      if not isinstance(end, (int, float)):
          raise Exception('The time parameter is not a number or datetime object')
  
      # Now we wait
      while True:
          now = pytime.time()
          diff = end - now
  
          #
          # Time is up!
          #
          if diff <= 0:
              break
          else:
              # 'logarithmic' sleeping to minimize loop iterations
              sleep(diff / 2)
docs: Pause your program until a specific end time.
      'time' is either a valid datetime object or unix timestamp in seconds (i.e. seconds since Unix epoch)