Hi: Sorry for the detail of this question but I hope its useful to others as well as myself. I'm planning to do a Python wrapper for an existing GUI environment that is not one of the standard environments. So I have complete freedom. Ive done various smaller things in Python with some success. But this is large enough to need proper planning.
The current environment is C but with a C++ structure. Widgets are developed from simpler widgets, PtBasic -> PtLabel-> PtButton etc. Each widget has its own C header that defines widget parameters, callback options various functions. Each header includes the header defining the next level down. I plan to extract parameters, bit masks callbacks etc using a modified h2py, so I have all I need at my fingertips. But how do I organise it? What structure do I impose on my import files? The options seem to be: a) copy the C headers structure! "from photon.PtButton import *" photon.PtButton imports Its own definitions and imports photon.PtLabel which imports PtBasic etc. This is a simple structure. However- all users will import multiple widgets and I see a lot of wasted effort by Python trying to import PtBasic and other modules multiple times. b) Create modules by their function! photon.defititions, photon.callbacks and photon.functions then maybe a breakdown under definitions for example. photon.definitions.PtButton c) Just give up trying to be efficient and assume that the user will want to access all definitons etc. Simply create a photon.all and let that be imported. 'from photon.all import *" No matter what path I consider, I see a very crowded namespace. Is this inevitable? Should I just get on with the wrapper and not worry ? Sizing.. Currently PtBasic has 90 definitions PtLabel 54 and PtButton 11. Thanks, Andy -- http://mail.python.org/mailman/listinfo/python-list