on Thu Feb 07 2008, Tim Golden <mail-AT-timgolden.me.uk> wrote: > David Abrahams wrote: >> Is there somewhere a summary of criteria by which I'd choose win32com or >> comtypes? > > Not that I know of. I offer a so-obvious-as-to-be-almost-unneeded > list here. It's entirely likely that I've misrepresented things > somewhat so I'd be very grateful for additions & editions.
Thanks, this should be very helpful. Please see questions below. > ================== > pywin32 (win32com) > ================== > > PRO: Been around for years so more mature, more stable and > more (knowledgeable) users. > > PRO: For those interfaces which it *does* wrap, does most or > all of the dirty work for you. > > PRO: Actively maintained > > CON / PRO: Makes things so easy for the novice programmer ...or the expert short on COM fu and time -- that's me... > that they forgo any attempt to learn how COM really works... which > means that when it gets messy they don't really know what's going on. > > CON: Has dark and little known/tried corners; I think I discover > one new win32com feature every month either through this list or > from reading the source to find something else out. > > CON: Occasionally shows its age, esp. wrt Unicode, datetime > and other types whiseh postdate its original conception. > > CON: Only wraps those interfaces (including, critically, IDispatch) > for which its maintainers have time / inclination. > > > ======== > comtypes > ======== > > PRO: Effectively native Python -- relies on ctypes which is > a C extension but now part of stdlib. > > PRO: Actively maintained That's a biggie. > PRO: Can, in principle, wrap any interface. > > PRO: Newer / smaller so fewer dark corners and refactor-candidates. Also that. > PRO/CON: You have to understand more about the way the COM > works -- as above this has positive and negative points. Hmm, what I've tried to do so far (admittedly not much) didn't seem to expose any COM details. So, like what? > CON: Newer, so less tried-and-tested: fewer (experienced) users. > > CON: You have to do the dirty work yourself; as with ctypes, more > scope for crashing Python nastily. Really? Again, what I saw looked like a pretty clean abstraction layer. -- Dave Abrahams Boost Consulting http://boost-consulting.com _______________________________________________ python-win32 mailing list [email protected] http://mail.python.org/mailman/listinfo/python-win32
