Bob Ippolito (@etrepum) on Haskell, Python, Erlang, JavaScript, etc.

ANN: py2app 0.1.4


py2app is the bundlebuilder replacement we've all been waiting for. It is implemented as a distutils command, similar to py2exe, that builds Mac OS X applications from Python scripts, extensions, and related data files. It tries very hard to include all dependencies it can find so that your application can be distributed standalone, as Mac OS X applications should be.

py2app 0.1.4 is a refactoring and new features release:

  • altgraph, my fork of Istvan Albert's graphlib, is now part of the distribution
  • py2app.modulegraph has been refactored to use altgraph
  • py2app can now create GraphViz DOT graphs with the -g option (TinyTinyEdit example)
  • Moved the filter stack into py2app.modulegraph
  • Fixed a bug that may have been in 0.1.2 where explicitly included packages would not be scanned by macholib
  • py2app.apptemplate now contains a stripped down site module as opposed to a sitecustomize
  • Alias builds are now the only ones that contain the system and user site-packages directory in sys.path
  • The pydoc recipe has been beefed up to also exclude BaseHTTPServer, etc.
  • The altgraph from 0.1.3 had a pretty nasty bug in it that prevented filtering from working properly, so I fixed it and bumped to 0.1.4.

Known issues:

  • Commands marked with XXX in the help are not implemented
  • Includes all files from packages, it should be smart enough to strip unused .py/.pyc/.pyo files (to save space, depending on which optimization flag is used)
  • macholib should be refactored to use altgraph
  • py2app.build_app and py2app.modulegraph should be refactored to search for dependencies on a per-application basis

Download and related links are here: