[Pythonmac-SIG] Python and OSA and much more

Jack Jansen Jack.Jansen@oratrix.com
Sat, 22 Jun 2002 00:33:41 +0200


On vrijdag, juni 21, 2002, at 05:40 , Russell E Owen wrote:

> Jack asked (probably rhetorically): "(btw: are Bill and myself 
> the only two people interested in Interface Builder and such, 
> or is everyone just too busy?...)".
>
> Interesting question. If I understand correctly, making python 
> a full OSA component means:
> - It could be used for easily for controlling programs via 
> Apple Events (for instance any application that edits or runs 
> AppleScript would edit or run Python scripts).
> - Perhaps (based on your reference to IB) Python could be used 
> for programs with native
> Mac look and feel via InterfaceBuilder.

Both correct. And for the second point we now even have two 
possibilities: we can use either Bill's stuff and connect Python 
as an OSA language to the AppleScript abilities of IB, or 
structure it the same way as you would an ObjC or Java 
application (although that is still in early stages of 
development).

The reason I'm so excited about all this is that we now have all 
the bits and pieces that I envisioned in my mail of last March 
(at least: we have proof that these things are possible, code 
needs to be cleaned up and documentation and samples need to be 
written), which makes Python the only language on OSX that is 
feasible for all of unix scripting, CGI programming, OSA 
scripting, Carbon development and Cocoa development. And as a 
bonus  (in the sense that I wasn't aware of it at the time) we 
have PythonCard and wxPython too.

With all these things built on the Python.framework it is now a 
question of bundling things right, and picking the balance of 
providing people with the functionality they need at the click 
of a button, without immediately overwhelming them with 
featuritis.

What I would like is if the users could download a "Python 
Control Centre" that would include Python.framework plus some of 
the packages mentioned above. The Python Control Centre would be 
able to find out which of the add-on packages are loaded and 
which aren't, and would know how to load and install those that 
the user wants (preferably with some outside dependencies too, 
i.e. if you want to load the Cocoa stuff but you don't have 
Apple's developer tools installed it would tell you that 
installing those will make the Cocoa support a lot more 
powerful, because of IB). Having the devtools installed 
shouldn't be a prerequisite. Also, you should definitely be able 
to access documentation for packages you haven't installed yet 
via the web (and you should probably have the option of 
downloading selected set of documentation for quick access).

Given the current historical packaging the base distribution 
would probably include the Carbon stuff and the IDE (alongside 
the shell and CGI scripting stuff and probably Tkinter), while 
OSA, Cocoa, wxPython and PythonCard would be external. But this 
distinction should be hidden from the end user, if possible.
--
- Jack Jansen        <Jack.Jansen@oratrix.com>        
http://www.cwi.nl/~jack -
- If I can't dance I don't want to be part of your revolution -- 
Emma Goldman -