Note that these dependencies should automatically be satisfied by the installation procedure and do not need to be acquired separately.

setuptools or distribute:

setuptools and distribute provide enhancements to distutils, as well as the mechanisms for creating and working with Python Eggs.

Distribute is a fork of setuptools that amongst others adds support for python 3. All testing of py2app is done using distribute.

macholib reads and writes the Mach-O object file format. Used by py2app to build a dependency graph of dyld and framework dependencies for your application, and then to copy them into your application and rewrite their load commands to be @executable_path relative. The end result is that your application is going to be completely standalone beyond a default install of Mac OS X. You no longer have to worry about linking all of your dependencies statically, using install_name_tool, etc. It’s all taken care of!
modulegraph is a replacement for the Python standard library modulefinder. Stores the module dependency tree in a graph data structure and allows for advanced filtering and analysis capabilities, such as GraphViz dot output.
altgraph is a fork of Istvan Albert‘s graphlib, and it used internally by both macholib and modulegraph. It contains several small feature and performance enhancements over the original graphlib.