Introduction
The PyObjC project aims to provide a bridge between the Python and Objective-C programming languages on macOS. 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.
PyObjC not only includes the basic bridge, but also bindings to most Apple frameworks on macOS.
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 supports Python 3.6 or later and does not support Python 2. PyObjC does not support other python implementation such as PyPy and Jython.
PyObjC is regularly tested on macOS 10.14 and should work on macOS 10.9 or later for the i386 and x86_64 architectures.
PyObjC only supports macOS, and is not supported on other platforms (iOS, Linux, …)
General documentation
- Installing PyObjC
- What’s new in PyObjC
- An introduction to PyObjC
- PyObjC protocol support
- PyObjC support for “blocks”
- PyObjC support for vector/SIMD types
- Converting values between Python and Objective-C
- Support for
FSRef
andFSSpec
- Generated types for C types
- Introspecting PyObjC
- Object-graph serialization
- Key-Value Observing and Python
- (Historical) Objective-C Garbage Collection
- PyObjC metadata system
- PyObjC Tutorials
- “import Quartz” or “import CoreGraphics”
- Examples overview
- Overview of macOS frameworks and their wrappers
- API Notes for PyObjC framework wrappers
- Dealing with API deprecations
- The PyObjC core team
- The release workflow for PyObjC
- PyObjC with InterfaceBuilder
API documentation
PyObjC Developement
PyObjC development is hosted at bickbucket, in particular at <https://bitbucket.org/ronaldoussoren/pyobjc/>.
Important resources:
-
A low-volume mailinglist for PyObjC development.
Mailing list for the PythonMac SIG
A mailing list for anyone developing with Python on macOS.
Creating a checkout of the respository:
$ hg clone https://bitbucket.org/ronaldoussoren/pyobjc pyobjc
You can then use the “install.py” at the root of the checkout to install this version of PyObjC.