Message 99869 - Python tracker (original) (raw)

Discussed this with GvR. Here's a recap:

For 2.6 and 3.1 which are already released, check for the _fields attribute. This is a guaranteed part of the API is not fragile. For the C structures, check for the n_fields attribute.

In the future, the C API needs to grow to match the namedtuple() API and we should add an abstract base class describing the common API. Then you'll be able to write: if isinstance(obj, abc_namedtuple).