The PyObjC project aims to provide a bridge between the Python and Objective-C programming languages. The bridge is intended to be fully bidirectional, allowing the Python programmer to take full advantage of the power provided by various Objective-C based toolkits and the Objective-C programmer transparent access to Python based functionality.

The most important usage of this is writing Cocoa GUI applications on macOS in pure Python. See our tutorial for an example of this.

Release information

PyObjC 6.1 was released on 2019-11-06. See the changelog for more information. PyObjC 6.1 supports Python 3.6 and later.

PyObjC 5.3 was released on 2019-10-16. See the changelog for more information.

Supported platforms

PyObjC is regularly tested with Python 2.7, 3.4, 3.5, 3.6 and 3.7. PyObjC does not support other python implementation such as PyPy and Jython.

PyObjC is regularly tested on macOS 10.13 and should work on macOS 10.5 or later for the i386, x86_64 and ppc architectures. PPC64 (64-bit on PowerMac G5 or iMac G5 systems) is not supported at all.


PPC support, and support for versions of macOS before 10.9 is no longer actively developed and may be removed in future versions of PyObjC.


Platform Removal

PyObjC 6, which will be released in 2019, will drop support for the following platforms:

  • Python 2.7
  • Python 3.4
  • PowerPC

PyObjC Developement

PyObjC development is hosted at bickbucket, in particular at <>.

Important resources:

Indices and tables