[wxPython] visual proxies and other tools

The powers that be at the University of Arkansas have granted me
the rights to the toolset I have been developing, thus giving me
permission to publish the source code under an open-source license.
:slight_smile: First I'll give a brief description, and then I'd like to
request some advice.

1. Domain Modeling with Python.
The purpose of the toolset is to facilitate the development of
custom clinical applications using Python and wxPython. Clinical
information has a rich semantic structure. Thus the first step is
to define an adequate data model for a given domain. The toolset
provides simple data elements as well as the capability of adding
choices and inner and outer limits to elements. Each element can
act as an independent or a dependent variable (observable or
observer) or both, with chained computations in either direction.
Using standard Python syntax, simple data elements can be combined
to form compount elements to any degree of complexity. Simple or
compound elements can be added to element lists (which also have a
built-in cursor function.) Reciprocally, an element list can be
added as a component to a compound element as well.

2. Object-oriented data persistence.
Once the data model has been defined, each instance of the model
knows how to serialize itself (using depth-first recursion) into
XML encoded text. The top-level data object is saved and retrieved
as an XML Document inside named Cabinets and Folders, either in the
native file system or within a dbm-style database file. No muss, no
fuss, and no SQL.

3. Visual proxies for wxPython GUI development.
The toolset provides a set of visual proxies for each simple data
element. A visual proxy takes care of making the bi-directional
links between any given data element and the wxPython control.
  Text element: TextCtrl(), StaticText(),
                    Choice(), ComboBox(), ListBox()
  Datetime element: DateTextCtrl(), TimeTextCtrl(), StaticText()
  Integer element: TextCtrl(), Slider(), SpinButton()
  Decimal element: TextCtrl(), Slider(), SpinButton()
  Complex element: TreeCtrl()

4. Template-based HTML report generator.
A simple, but effective way of creating reports (progress notes and
so on) from the domain-model instance.

5. WxPython application framework.
Provides basic dialogs and two top-level frames: the Provider/User
frame and a generic Patient frame. Also provided is a mechanism for
nesting panels and sizers.

QUESTIONS:
1. Is anyone aware of a similar toolset that is already available
under an open-source license?

2. Although I have never done any collaborative development before,
I am thinking about using the SorceForge Web site. Since I have no
prior CVS experience, however, would I be better off putting the
code on my own Web site for the time being? What is the best way to
get started with CVS?

3. I am strongly considering using the GPL license for my code. Am
I correct in assuming that this would cause no problem with Python
and wxPython? Should I consider a license more along the lines of
Python or of wxPython? I have no particular interest in trying to
promote the use of my code in proprietary software, so that is why
I am leaning toward GPL.

···

=====
Donnal Walter
Arkansas Children's Hospital

__________________________________________________
Do You Yahoo!?
LAUNCH - Your Yahoo! Music Experience
http://launch.yahoo.com