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)

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________
Pythonmac-SIG maillist  -  Pythonmac-SIG@python.org
http://mail.python.org/mailman/listinfo/pythonmac-sig
unsubscribe: http://mail.python.org/mailman/options/Pythonmac-SIG

Reply via email to