A general point, the numpy docstring standard would have this as:

    theta : float, optional

You can leave out the default value because a) it might change and make the docstring out-of-date and b) when you see the docstring, you almost invariably see the signature, which has the default in it.