docs: def spkcpt(trgpos, trgctr, trgref, et, outref, refloc, abcorr, obsrvr):
      """
      Return the state, relative to a specified observer, of a target
      having constant position in a specified reference frame. The
      target's position is provided by the calling program rather than by
      loaded SPK files.
  
      http://naif.jpl.nasa.gov/pub/naif/toolkit_docs/C/cspice/spkcpt_c.html
  
      :param trgpos: Target position relative to center of motion.
      :type trgpos: 3-Element Array of floats
      :param trgctr: Center of motion of target.
      :type trgctr: str
      :param trgref: Observation epoch.
      :type trgref: str
      :param et: Observation epoch.
      :type et: float
      :param outref: Reference frame of output state.
      :type outref: str
      :param refloc: Output reference frame evaluation locus.
      :type refloc: str
      :param abcorr: Aberration correction.
      :type abcorr: str
      :param obsrvr: Name of observing ephemeris object.
      :return:
              State of target with respect to observer,
              One way light time between target and observer.
      :rtype: tuple
      """
      trgpos = stypes.toDoubleVector(trgpos)
      trgctr = stypes.stringToCharP(trgctr)
      trgref = stypes.stringToCharP(trgref)
      et = ctypes.c_double(et)
      outref = stypes.stringToCharP(outref)
      refloc = stypes.stringToCharP(refloc)
      abcorr = stypes.stringToCharP(abcorr)
      obsrvr = stypes.stringToCharP(obsrvr)
      state = stypes.emptyDoubleVector(6)
      lt = ctypes.c_double()
      libspice.spkcpt_c(trgpos, trgctr, trgref, et, outref, refloc, abcorr,
                        obsrvr, state, ctypes.byref(lt))
      return stypes.cVectorToPython(state), lt.value