Sorry, but I dislike this kind of argument for a function that does a relatively precise algorithmic operation. You should provide a list of explicit arguments instead of a dictionary. Otherwise, how can the use figure out what arguments to give ?