Set `self.deriv = noderiv` here or just name the method `deriv` instead of `noderiv`. Otherwise the derivatives will be estimated.

You probably looked at how the Gaussian1DModel handles derivatives but it is misleading. There I wanted to show all possible ways of handling derivatives and also use it for testing/debugging. So Gaussian1D can be fitted without derivatives, with a function to calculate the derivatives supplied by a user or using the class method to do this. We probably don't want to be that "flexible" so it should be changed some time in the future to use the method in the class.

With this fixed and when the tests pass I think it's good.