code: def spkpos(targ, et, ref, abcorr, obs):
      
      targ = stypes.stringToCharP(targ)
      ref = stypes.stringToCharP(ref)
      abcorr = stypes.stringToCharP(abcorr)
      obs = stypes.stringToCharP(obs)
      ptarg = stypes.emptyDoubleVector(3)
      lt = ctypes.c_double()
      if hasattr(et, "__iter__"):
          ptargs = []
          lts    = []
          for t in et:
              libspice.spkpos_c(targ, t, ref, abcorr, obs, ptarg, ctypes.byref(lt))
              checkForSpiceError(None)
              ptargs.append(stypes.cVectorToPython(ptarg))
              lts.append(lt.value)
          return ptargs, lts
      else:
          libspice.spkpos_c(targ, et, ref, abcorr, obs, ptarg, ctypes.byref(lt))
          return stypes.cVectorToPython(ptarg), lt.value
docs: Return the position of a target body relative to an observing
      body, optionally corrected for light time (planetary aberration)
      and stellar aberration.
  
      http://naif.jpl.nasa.gov/pub/naif/toolkit_docs/C/cspice/spkpos_c.html
  
      :param targ: Target body name.
      :type targ: str
      :param et: Observer epoch.
      :type et: Union[float,Iterable[float]]
      :param ref: Reference frame of output position vector.
      :type ref: str
      :param abcorr: Aberration correction flag.
      :type abcorr: str
      :param obs: Observing body name.
      :type obs: str
      :return:
              Position of target,
              One way light time between observer and target.
      :rtype: tuple