Python component model

Harry George at
Fri Feb 27 09:47:47 CET 2004

Chuck Spears <Chuck at> writes:

> Does python have a component model?
> I'm currently using delphi and C++ builder to build windows apps and I
> am looking to also support linux.  They seem to be waffling on their
> linux support so I am looking for alternatives.
> The thing that makes delphi powerful is being able to link visual
> components to do things like datasets (Infopower), web pages
> (Intraweb), report writing, etc.  I can build client/server apps in
> delphi in days.  There are also powerful components for multi-tier
> apps like kbmmw and RemoteObjects.  
> I've written a few small applications in python/Qt and see great
> potential in the language but frankly without a solid IDE and good
> component framework, I doubt I would use it for large corporate
> applications.  I'm no VB hack, I have 13 years of c and c++ experience
> but why would I waste my time hand coding database/multitier
> applications in C++ when such powerful tools exist to do the plumbing
> for me?
> I've used pyQT but that isn't exactly what I had in mind.  I want more
> than a forms designer and a python layer on top of a GUI library.  I
> want full blown component model written in python (C++ underneath is
> fine) where I can extend the built in components or write my own.  
> I love what i've seen of python so far.  I also realise the component
> model can be developed independent of the core python system.  I was
> just wondering if anything like that is being worked on.
> Thanks,
> Mike

If components means cross-platform, cross-language, cross-vendor
interoperable units of functionality, Python has components.  Or
rather, it is a willing participant in the various available
mechanisms such as sockets, async sockets, CORBA, SOAP, XMLRPC, and

If components means lots of products (OSS and COTS) which work
together when "imported" to a main script, then the answer is yes.
Pyro gives remote access.  QT, KDE, Gtk, Gnome, FLTK, wx and others
provide gui's.  Webware, twisted, and others give "server" mechanisms.
Bindings to Oracle, DB2, MySQL, Sqlite, Postgresql,, dbm, etc. give
database support.  And of course the basic install gives all the std
net protocols.

If components means a visual programming IDE, then look at Black Adder
for the gui.  But I question reliance on a visual drag-and-drop for
python work.  The sematics have to be solved anyway, and the raw
python can be faster and cleaner than an IDE.

-- at
6-6M21 BCA CompArch Design Engineering
Phone: (425) 342-0007

More information about the Python-list mailing list