process_data(**kwargs)
and have the data field pulled out of kwargs. Of course you can still do data = kwargs.pop(“data”)
process_data(data, **kwargs)
but if you are the only library doing it, it can cause things to break when it breaks programmers expectations.
I’m not sure I understand the hostility here. Isn’t the point of the web to be open standards that reach consensus?