On 10/10/2007 12:56 AM, Stefan Arentz wrote: > Is it possible to mix classes defined in both Python and C in the same > module? Ideally I would like to be able to do: > > from some.module import MyPythonClass, MyCClass > > I guess that would mean that this would look like this on disk: > > some/ > __init__.py > module.py (contains MyPythonClass) > module.so (contains MyCClass) >
Alternative to other suggestions: Instead of module.so, call it _module.so. Then down the end of module.py: try: from _module import * except ImportError: # either panic or shrug as appropriate Note: the "shrug" response would be appropriate for the use case where "module" contains all necessary functionality, and the optionally-present "_module" contains replacement classes/types and/or functions that are better in some sense e.g. more memory/CPU efficient. HTH, John -- http://mail.python.org/mailman/listinfo/python-list