Use PyObject_HasAttr, just as people use hasattr() for ducktyping in Python. If you want something more structured, use Abstract Base Classes, that's what they're for. Cheers, Nick. -- Nick Coghlan | ncoghlan at gmail.com | Brisbane, Australia