@spiceErrorCheck<EOL>def uddf(udfunc, x, dx):
x = ctypes.c_double(x)<EOL>dx = ctypes.c_double(dx)<EOL>deriv = ctypes.c_double()<EOL>libspice.uddf_c(udfunc, x, dx, ctypes.byref(deriv))<EOL>return deriv.value<EOL>
Routine to calculate the first derivative of a caller-specified
function using a three-point estimation.

Use the @spiceypy.utils.callbacks.SpiceUDFUNS dectorator to wrap
a given python function that takes one parameter (float) and
returns a float. For example::

    @spiceypy.utils.callbacks.SpiceUDFUNS
    def udfunc(et_in):
        pos, new_et = spice.spkpos("MERCURY", et_in, "J2000", "LT+S", "MOON")
        return new_et

    deriv = spice.uddf(udfunc, et, 1.0)

https://naif.jpl.nasa.gov/pub/naif/toolkit_docs/C/cspice/uddf_c.html

:param udfunc: Name of the routine that computes the scalar value of interest.
:type udfunc: ctypes.CFunctionType
:param x: Independent variable of 'udfunc'.
:type x: float
:param dx: Interval from 'x' for derivative calculation.
:type dx: float
:return: Approximate derivative of 'udfunc' at 'x'
:rtype: float