docs: def propagate(self, date):
          """Propagate the initialized orbit
  
          Args:
              date (Date or datetime.timedelta)
          Return:
              Orbit
          """
  
          if type(date) is timedelta:
              date = self.orbit.date + date
  
          # Convert the date to a tuple usable by the sgp4 library
          _date = [float(x) for x in "{:%Y %m %d %H %M %S.%f}".format(date).split()]
          p, v = self.tle.propagate(*_date)
  
          # Convert from km to meters
          result = [x * 1000 for x in p + v]
  
          return self.orbit.__class__(
              date,
              result,
              'cartesian',
              'TEME',
              self.__class__(),
              **self.orbit.complements
          )