[Pythonmac-SIG] py2app call for help

Ronald Oussoren ronaldoussoren at mac.com
Sun Jul 25 16:41:33 CEST 2010


Hi,

Py2app needs some work to get up to the times. Is anyone interested in helping out. I'm using py2app as a handy shortcut for py2app, macholib, modulegraph and altgraph here.

Some pretty easy tasks:

* Rewrite the documentation using sphinx
  (cross-package links can assume that the documenation will be published on the documentation site associated with PyPI)

* Add unittests and API documentation
  (modulegraph and altgraph are the easiest,  macholib requires knowledge of  C and the MachO format, py2app is hardest thanks to distutils)

* Add functional tests for py2app

  Py2app really needs functional tests that create virtualenvs with packages and then build application bundles with various options
  and check that those are correct.

  The functional tests should in the long run have testcases for all kinds of libraries that people use and commonly
   cause problems. It should at least contain test cases for the major GUI libraries (Tkinter, PyObjC, wxWidgets and PyQt).

   The easy bit here is building the test framework itself, building a sufficiently large suite of tests is more work,
    but the test suite can be enhanced later on (I'd focus on the libraries I actually use, and ask others to supply tests
    for other libraries).

Open bugs:
* py2app doesn't like how pip installs namespace packages 

  pip doesn't install an __init__.py file for namespace packages but uses pth-file trickery 
  to get things to work.

  modulegraph needs to learn about this mechanism to detect packages 

* modulegraph might need code to deal with absolute/relative imports (from __future__ import absolute_import)

New features:
* include egg metadata into the application bundle

* optionally bundle entire eggs (I don't know yet if this should default to on or off, but it is likely that it should be possible to disable including whole eggs)

* design a public API for py2app recipes, preferably using setuptools entry points and preferable one that is not mac-specific

  This would allow others to maintain recipes for libraries like PyQt that require recipes, but where the py2app developers (that would be me)
  don't have time to keep up with development of the external library. 

  I'd still prefer to keep recipes locally to py2app where possible

* it would be nice to have a "py2app_standalone" command that uses the python files in an already existing
 application bundle to determine what should be added. 

 The primary use case for this is Xcode projects, users of Xcode currently either have to add all libraries
 manually or maintain both the Xcode project and a setup.py file.

Implementation of all of this should work with both python 2.x and python 3.x, and we should keep an eye on
distutils2 to ensure that we'll work properly with that as well.  Py2app would preferably work both with easy_installed
packages and packages installed using pip (which uses a slightly different installation format).

Ronald

(Still typing at the airport, although this mail will only get out once I'm back home)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 3567 bytes
Desc: not available
URL: <http://mail.python.org/pipermail/pythonmac-sig/attachments/20100725/469cedfb/attachment.bin>


More information about the Pythonmac-SIG mailing list