code: def spkw05(handle, body, center, inframe, first, last, segid, gm, n, states,
             epochs):
      # see libspice args for solution to array[][N] problem
      
      handle = ctypes.c_int(handle)
      body = ctypes.c_int(body)
      center = ctypes.c_int(center)
      inframe = stypes.stringToCharP(inframe)
      first = ctypes.c_double(first)
      last = ctypes.c_double(last)
      segid = stypes.stringToCharP(segid)
      gm = ctypes.c_double(gm)
      n = ctypes.c_int(n)
      states = stypes.toDoubleMatrix(states)
      epochs = stypes.toDoubleVector(epochs)
      libspice.spkw05_c(handle, body, center, inframe, first, last, segid, gm, n,
                        states, epochs)
docs: Write an SPK segment of type 5 given a time-ordered set of
      discrete states and epochs, and the gravitational parameter
      of a central body.
  
      http://naif.jpl.nasa.gov/pub/naif/toolkit_docs/C/cspice/spkw05_c.html
  
      :param handle: Handle of an SPK file open for writing.
      :type handle: int
      :param body: Body code for ephemeris object.
      :type body: int
      :param center: Body code for the center of motion of the body.
      :type center: int
      :param inframe: The reference frame of the states.
      :type inframe: str
      :param first: First valid time for which states can be computed.
      :type first: float
      :param last: Last valid time for which states can be computed.
      :type last: float
      :param segid: Segment identifier.
      :type segid: str
      :param gm: Gravitational parameter of central body.
      :type gm: float
      :param n: Number of states and epochs.
      :type n: int
      :param states: States.
      :type states: Nx6-Element Array of floats
      :param epochs: Epochs.
      :type epochs: Array of floats