Sin la subclasificación dict, lo que tendría que ser considerado como un mapeo de una clase de modo que se puede pasar a un método con **clase Python que actúa como mapeo para desembalar **
from abc import ABCMeta
class uobj:
__metaclass__ = ABCMeta
uobj.register(dict)
def f(**k): return k
o = uobj()
f(**o)
# outputs: f() argument after ** must be a mapping, not uobj
Al menos a la punto donde arroja errores de falta de funcionalidad de mapeo, por lo que puedo comenzar a implementar.
Revisé la emulación de tipos de contenedores, pero la simple definición de métodos mágicos no tiene ningún efecto, y el uso de ABCMeta para anular y registrarlo como un dict valida las afirmaciones como subclase, pero falla isinstance (o, dict). Idealmente, ni siquiera quiero usar ABCMeta.
fuera del alcance, pero tiene relevancia y es informativo, gracias – dskinner