diff -r ad91465a3c66 Objects/abstract.c --- a/Objects/abstract.c Mon Jan 23 12:34:00 2017 +0100 +++ b/Objects/abstract.c Tue Jan 24 09:46:06 2017 +0100 @@ -2413,7 +2413,9 @@ PyObject * for (i = 0; i < nkwargs; i++) { PyObject *key = PyTuple_GET_ITEM(kwnames, i); PyObject *value = *values++; - assert(PyUnicode_CheckExact(key)); + /* keys must be strings, but it is the responsability of the final + function to implement this check. For example, PyArg_ParseXXX() + functions implement this check */ assert(PyDict_GetItem(kwdict, key) == NULL); if (PyDict_SetItem(kwdict, key, value)) { Py_DECREF(kwdict);