I think it is OK now, with the docstring explaining the parameters. It's only the signature now that does not include all those. 
But what is the reason not including the keyword arguments and its default values in the signature but instead in a dict in the function?