I'm trying to find a function in scipy or numpy that calculates the exact first order derivative not the finite difference (which seems to be the method that both numpy.gradient and scipy.misc.derivative use. Does that exist?
I am trying to find the numeric derivative for several functions. I would rather not use sympy!
If you are talking about symbolic differentiation, then as far as I know numpy and scipy do not provide this (you already noticed how to calculate derivative at the point).
So it looks like sympy is your only option.
from sympy import *
x = Symbol('x')
y = x**3 + 2*x + 6
d = y.diff(x)
You can also read examples