Pregunta

¿Cómo se podría exponer variables "estáticas" como esto

class MyClass:
    X = 1
    Y = 2

a través de la API C? La única variable en la PyTypeObject que parece que funcionaría es tp_members, pero no veo ninguna bandera en el PyMemberDef para indicar que el miembro debe ser por clase, no por instancia.

Para aclarar un poco más, ya que puede cambiar la respuesta, estoy tratando de exponer una enumeración C para Python de tal manera que la enumeración

enum MyFlags {
    Alpha = 0,
    Beta = 1
};

Se puede acceder en Python como:

module.MyFlags.Alpha
module.MyFlags.Beta
¿Fue útil?

Solución

Sólo hay que poner en el tipo de tp_dict por ejemplo, PyDict_SetItemString .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top