docs: def get_orbit(name, date):
      """Retrieve the orbit of a solar system object
  
      Args:
          name (str): The name of the body desired. For exact nomenclature, see
              :py:func:`available_planets`
          date (Date): Date at which the state vector will be extracted
      Return:
          Orbit: Orbit of the desired object, in the reference frame in which it is declared in
              the .bsp file
      """
  
      # On-demand Propagator and Frame generation
  
      if name not in [x.name for x in Bsp().top.list]:
          raise UnknownBodyError(name)
  
      for a, b in Bsp().top.steps(name):
          if b.name not in _propagator_cache:
  
              # Creation of the specific propagator class
              propagator = type(
                  "%sBspPropagator" % b.name,
                  (GenericBspPropagator,),
                  {'src': a, 'dst': b}
              )
  
              # Retrieve informations for the central body. If unavailable, create a virtual body with
              # dummy values
              center = Pck()[b.full_name.title()]
  
              # Register the Orbit as a frame
              propagator.propagate(date).as_frame(b.name, center=center)
              _propagator_cache[b.name] = propagator
  
      if Bsp().top not in _propagator_cache:
          _propagator_cache[Bsp().top.name] = EarthPropagator()
  
      return _propagator_cache[name].propagate(date)