Is it possible to deploy a Python application on the Mac App Store?

Question:

Does Apple accept Python applications for distribution on the new Mac App Store?

If so, how should the application be packaged? Is py2app sufficient? Something else?

Asked By: FogleBird

||

Answers:

Yes, it is possible, as long as you adhere with the full set of approval guidelines. This means that the python interpreter will have to be bundled into your application, for example.

See here for a full list of requirements:

https://developer.apple.com/appstore/mac/resources/approval/guidelines.html

Answered By: blueberryfields

Apple provides the Build Applet tool for Python with Xcode so it should be supported by the App store. MacOS X 10.6.6 includes Python 2.5 and 2.6 as part of the default install, you can specify /usr/bin/python2.5 and /usr/lib/python2.5.

Answered By: Michael Shopsin

I know it’s possible because I know of at least one Python-based app that is in the app store (“Pennywise”, which is based on my own app, moneyGuru, which uses Python + PyObjc + py2app). I didn’t do it myself, so I’m not sure of the details.

Answered By: Virgil Dupras

I packaged Pennywise, which is available on the Mac App Store. It’s based on Virgil’s moneyGuru, which uses Python, PyObjC, and py2app.

You will have to follow Apple’s process for preparing an application for submission to the Mac App Store. Most importantly, you will want to add the proper keys to your Info.plist, and remove any automatic updating mechanism, e.g. Sparkle. It’s not strictly required, but you will probably also want to implement receipt checking. Using Xcode will make the submission process much easier. You can look at the moneyGuru source code for an example of how to use Xcode as the final part of the build process.

Py2app embeds a copy of the Python framework in the bundle, so I don’t know whether Apple would approve an application that only linked to the system framework. While the primary binary can’t support PPC, Apple does not seem to check the architectures of binaries in embedded frameworks.

One final caveat: I wouldn’t recommend this process for writing new applications. Using Python, PyObjC, and py2app seriously complicates the build process and introduces additional dependencies.

Answered By: lemnar

It is quite possible. My app is currently listed:

http://itunes.apple.com/us/app/quickwho/id419483981?mt=12&ls=1#

Bundled up with py2app, no worries.

Answered By: Kevin Walzer

I wrote a comprehensive article explaining how to build and submit a Python app to the Mac App Store. It includes source code and build scripts for a barebones example app that I have successfully submitted.

Answered By: David Foster
Categories: questions Tags: , , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.