[Pythonmac-SIG] State of Python on the Mac

Nick Matsakis matsakis@mit.edu
Fri, 28 Feb 2003 11:21:00 -0500 (EST)


I've been following this list for the last month or so, and I must admit
that as a long time Mac user and a new python programmer, I am still very
confused about the state of Python on Mac OS X.

I appreciate that a lot of work is going on to build a stable platform for
the future, but the documentation is hopelessly out of date.  Though the
footer says "updated October 14, 2002", the documents at
http://www.python.org/doc/current/mac/mac.html say "At the time of this
writing Mac OS X had just been released as a Public Beta." Which makes me
wonder if I can trust the rest of it at all.

however, It doesn't seem like detailed documentation should be a priority
now, since there is a lot of good Python documentation out there, and the
documentation for Carbon, Cocoa, and other Mac OS X technologies is good
and growing.  Even Applescript is starting to get there, with the release
of the O'Reilly book.  Many programmers will be able to take that body of
documentation and fill in the blanks.

Instead, what I really want is a 1-2 page "state of Python on the Mac"
written for a forward-looking programmer who is interested in using Python
to script Mac OS X or write Carbon or Cocoa applications. The things it
should provide are:

1. A bird's eye view of the APIs.  The module list at
http://www.python.org/doc/current/ is alphabetized, and thus random.  I
can make some reasonable intferences, but I really have no idea what
modules "go together".  If all goes well, a future Mac-python programmer
will like have sets of modules that correspond roughly to "Cocoa"
(pyobjc), "Carbon" (MacPython), "Applescript/OSA" (MacPython), and
"standard python OS abstractions" (os, sys).  Which modules belong where,
which work well together, and which, if any, are deprecated?

2. A small description of the available and future python runtimes, and
what to expect in the future.  Apple included Python with 10.2.  Why?
Because it was in BSD 4.4? Because people asked for it?  Has Apple made an
official statement about its position on Python, or what versions of
Python will be included with future versions of Mac OS X?  (frameworks?)
These are all important questions for the programmer who is trying to
decide whether Python is appropriate for a given project.

3. A small description of the state of using Python as an OSA script.
This is actually where _my_ primary interest lies. My impression of OSA is
that it is supposed to allow different languages to be used to send and
handle Apple Events.  I hope that one day I would be able to install a
simple component into the system and that suddenly I would be able to use
Python as a full peer to Applescript; that is, anywhere that Applescript
is used by applications and the system I could plug in Python.  (My other
impression is that the support may not yet be there from Apple, but that
they are working on it, is this true?).

4. A solid answer to the question, "How can I help?" It's clear that
documentation and other work is needed. Is the time appropriate to do
that?  How can documentation efforts be coordinated?

I suppose this could be organized into a FAQ-style series of questions and
answer, but I think it would be better as well-organized summary of the
state of Python on the Mac.

Regards,

Nick Matsakis