Developers working on Core Python, the project behind programming language Python, have released the first version of the language that supports macOS Big Sur natively on Apple silicon.
Besides performance, speed and battery improvements, Apple's Arm-based M1 MacBook Air, MacBook Pro 13-inch, and Mac mini present new questions for developers.
SEE: Guide to Becoming a Digital Transformation Champion (TechRepublic Premium)
Python maintainers have released 3.9.1 Python, which is the first version to support macOS 11 Big Sur. As they note, Xcode 11 makes it possible to build Universal 2 binaries that work on Apple Silicon.
The team has provided an installer it calls macos11.0 but points out that this variant should be considered "experimental".
Python 3.9.1 is the first maintenance release of Python 3.9, which introduced a number of new features over version 3.8.
When Apple announced its non-Intel chip, it outlined plans to support both Intel and Apple silicon. Universal 2 will make updated apps automatically support both chipsets, while Rosetta 2 will allow apps that haven't been update to run in Apple silicon environments.
Apple's switch to an Arm-based instruction set architecture has caused concern among users of Python since the company announced its plans.
"Apple announced yesterday that they will switch the CPU architecture for macOS over the next couple of years. While doing so, there will be once again binaries with multiple architectures (x86_64 and Arm64 this time)," wrote Core Python developer Ronald Oussoren.
"I'm wondering how to deal with this in the naming of wheels. In the past we've introduced custom machine names for these fat binaries (for example, 'universal' for 'i386 and ppc'), but that was before the introduction of explicit support for multiple compatibility tags in the packaging ecosystem."
According to Python Core developers including Oussoren, questions around using Python on Apple's high-performing M1 machines have been addressed, albeit with an experimental installer.
"As of 3.9.1, Python now fully supports building and running on macOS 11.0 (Big Sur) and on Apple Silicon Macs (based on the Arm64 architecture)," they wrote.
A new universal build variant, Universal 2, natively supports both Arm64 and Intel 64 in one set of executables, the Core Python developers said.
"Binaries can also now be built on current versions of macOS to be deployed on a range of older macOS versions (tested to 10.9) while making some newer OS functions and options conditionally available based on the operating system version in use at runtime."