In the embedded sample I found
PyObject* arg = wxPyConstructObject((void*)parent, "wxWindow", false);
wxASSERT(arg != NULL);
PyObject* tuple = PyTuple_New(1);
PyTuple_SET_ITEM(tuple, 0, arg);
result = PyObject_CallObject(func, tuple);
Trying to understand why a tuple was used here and not just the arg.