> I'm working on a project that is a custom byte code interpreter for some
extended types. I needed ABCData there
I still don't understand why you need _abc_data.
> Isn't types module exposing some types that are implementation detail such as cells?
cell object is implementation detail of CPython core.
While other Python implementations will not have it, it is long lived in CPython and it is stable.
On the other hand, _abc_data is implementation detail of extension module, not interpreter.
For example, _json.Encoder is not exposed in types module.
If it is really needed, type of _abc_data can be exposed via _abc module.
But I prefer keep internal data opaque unless there are reasonable reason. |