Author: Ronald Oussoren


        py2app is a Python setuptools command which will allow
you to make standalone Mac OS X application bundles
and plugins from Python scripts.

py2app is similar in purpose and design to py2exe for

NOTE: py2app must be used on OSX to build applications,
it cannot create Mac applications on other platforms.

Release history

py2app 0.8

py2app 0.8 is a feature release

- Fixed argv emulator on OSX 10.9, the way the code detected that the application
  was launched through the Finder didn't work on that OSX release.

- The launcher binary is now linked with Cocoa, that should avoid some problems
  with sandboxed applications (in particular: standard open panels don't seem
  to work properly in a sandboxed application when the main binary is not
  linked to AppKit)

- Don't copy Python's Makefile, Setup file and the like into a bundle when
  sysconfig and distutils.sysconfig don't need these files (basicly, when
  using any recent python version).

- Fix some issues with virtualenv support:

  * detection of system installs of Python didn't work properly when using
    a virtualenv. Because of this py2app did not create a "semi-standalone"
    bundle when using a virtualenv created with /usr/bin/python.

  * "semi-standalone" bundles created from a virtualenv included more files
    when they should (in particular bits of the stdlib)

- Issue #92: Add option '--force-system-tk' which ensures that the _tkinter
  extension (used by Tkinter) is linked against the Apple build of Tcl/Tk,
  even when it is linked to another framework in Python's std. library.

  This will cause a build error when tkinter is linked with a major version of
  Tcl/Tk that is not present in /System/Library/Frameworks.

- Issue #80: Add support for copying system plugins into the application

  Py2app now supports a new option *include_plugins*. The value of this
  is a list of paths to plugins that should be copied into the application

  Items in the list are either paths, or a tuple with the plugin type
  and the path::

        ("SystemConfiguration", "MyPlugins/MyConfig.plugin"),

  Py2app currently knows about the following plugin suffixes:
  ``.qlgenerator``, ``.mdimporter``, ``.xpc``, ``.service``,
  ``.prefPane``, ``.iaplugin`` and ``.action``. These plugins
  can be added without specifying the plugin type.

- Issue #83: now refuses to install when the current
  platform is not Mac OS X.

  This makes it clear that the package is only supported on OSX and
  avoids confusing errors later on.

- Issue #39: It is now possible to have subpackages on
  in the "packages" option of py2app.

- Issue #37: Add recipe for pyEnchant


    The recipe only works for installations of pyEnchant
    where pyEnchant is stored in the installation (such
    as the binary eggs on PyPI), not for installations
    that either use the "PYENCHANT_LIBRARY_PATH" environment
    variable or MacPorts.

- Issue #90: Removed the 'email' recipe, but require a new enough version
  of modulegraph instead. Because of this py2app now requires modulegraph
  0.11 or later.

py2app 0.7.4

- Issue #77: the stdout/stderr streams of application and plugin bundles did not
  end up in on OSX 10.8 (as they do on earlier releases of OSX). This
  is due to a change in OSX.

  With this version the application executable converts writes to the stdout
  and stderr streams to the ASL logging subsystem with the options needed to
  end up in the default view of

  NOTE: The stdout and stderr streams of plugin bundles are not redirected, as it
  is rather bad form to change the global environment of the host application.

- The i386, x86_64 and intel stub binaries are now compiled with clang on OSX 10.8,
  instead of an older version of GCC. The other stub versions still are compiled
  on OSX 10.6.

- Issue #111: The generated by py2app now contains a USER_SITE variable
  (with a default value of ``N