Python and Visual Programming?? Ideas for a complete python "IDE"

Thomas Weholt thomas at cintra.no
Mon May 7 14:08:27 EDT 2001


Hi,

I'm just putting some ideas out so people can comment on them;

( This is pretty long, skip to the bottom to get the main idea )

I'm currently working on a rather complex XML-based Information System. It
involves using a RDBMS ( PostgreSQL )for storing XML-data, XSLT for
transforming data into various formats and Python for gluing it all together
etc. At this point much of the work is getting the framework right,
designing a good database-model, creating a sensible "API" etc. The point;
it contains alot of related classes, tables, code and info, most of which
can be generated from the same design.

On my Linux-box I tried using a program called Dia ( also available for
Windows ) to create UML-models of the objects I wanted to use. A small
Perl-script could turn those models into SQL for me too, so got to work
doing initial design of the system. The perl-script turned out not to work,
so I looked into the format Dia stored its files in, plain gzipped XML. Some
hours later I had a Python-script that created a beatiful SQL-script based
on my UML-diagram. Then I got to thinking; what if I created Python-classes
too, based on the same design. UML has support for methods and attributes,
so the basic classes should be easy to do ( later I discovered that Dia
allready can export Java and C++ classes from UML-diagrams, but I want
Python :-> ). Based on my SQL-conversion I created a simple script to
convert UML into semi-useful Python-classes too.

I'm thinking about taking this even further; generate DTD or Schema so that
my XML-input can be validated, automatic generation of preliminary docs
using HappyDoc etc. Everything using the same visual tool. This could save
alot of development time. It's probably pretty useless if the python-classes
cannot be imported into UML-diagrams later and changes made visible ( same
with SQL etc. ) but I won't put any more time into it before I know if this
is a sensible way to go.

In short; wouldn't it be great to have a visual design/programming tool that
could generate database-scripts ( SQL ), xml/ DTD/Schemas, python classes,
documentation and concept illustrations? Using Dia ( or something like it )
we could get this, and probably more. Currently this is too big for me to
handle alone. I need help to get data into Dias xml-format ( classes back to
UML-diagrams etc. ).

If we took this solution and integrated it with either Emacs, VIM or any
other cross-platform python-supported editor we could have a complete
development environment. Using this idea it's possible to generate source
for several other programming languages also, from the same diagram, ie.
shorter development cycle to port program to other langauges.

Dia is part of Gnome-Office, and is mostly used as an example of what kind
of application to base this sort of solution upon. ( allthough it's a great
product :-) ) More info at http://www.gnome.org/gnome-office/dia.shtml

I want feedback or ideas on how we could organize such an effort, if there
are any interest. I'm not a leader/project-leader kind of guy myself, but
want to be part of such a project as a developer.

Any related info is also interesting.

Thanks,
Thomas Weholt





More information about the Python-list mailing list