code: def edterm(trmtyp, source, target, et, fixref, abcorr, obsrvr, npts):
      
      trmtyp = stypes.stringToCharP(trmtyp)
      source = stypes.stringToCharP(source)
      target = stypes.stringToCharP(target)
      et = ctypes.c_double(et)
      fixref = stypes.stringToCharP(fixref)
      abcorr = stypes.stringToCharP(abcorr)
      obsrvr = stypes.stringToCharP(obsrvr)
      trgepc = ctypes.c_double()
      obspos = stypes.emptyDoubleVector(3)
      trmpts = stypes.emptyDoubleMatrix(x=3, y=npts)
      npts = ctypes.c_int(npts)
      libspice.edterm_c(trmtyp, source, target, et, fixref, abcorr, obsrvr, npts,
                        ctypes.byref(trgepc), obspos, trmpts)
      return trgepc.value, stypes.cVectorToPython(obspos), stypes.cMatrixToNumpy(
              trmpts)
docs: Compute a set of points on the umbral or penumbral terminator of
      a specified target body, where the target shape is modeled as an
      ellipsoid.
  
      http://naif.jpl.nasa.gov/pub/naif/toolkit_docs/C/cspice/edterm_c.html
  
      :param trmtyp: Terminator type.
      :type trmtyp: str
      :param source: Light source.
      :type source: str
      :param target: Target body.
      :type target: str
      :param et: Observation epoch.
      :type et: str
      :param fixref: Body-fixed frame associated with target.
      :type fixref: str
      :param abcorr: Aberration correction.
      :type abcorr: str
      :param obsrvr: Observer.
      :type obsrvr: str
      :param npts: Number of points in terminator set.
      :type npts: int
      :return:
              Epoch associated with target center,
              Position of observer in body-fixed frame,
              Terminator point set.
      :rtype: tuple