Newcomer to Python, I had this issue when I was using the Python's **
feature in a wrong way. Trying to call this definition from somewhere:
def create_properties_frame(self, parent, **kwargs):
using a call without a double star was causing the problem:
self.create_properties_frame(frame, kw_gsp)
TypeError: create_properties_frame() takes 2 positional arguments but 3 were given
The solution is to add **
to the argument:
self.create_properties_frame(frame, **kw_gsp)