Registry / ai-ml / pyobjc-framework-arkit

pyobjc-framework-arkit

JSON →
library12.2pypypiunverified

This library provides Python bindings for Apple's ARKit framework, enabling Python applications to leverage Augmented Reality capabilities on macOS and iOS. The current version is 12.1, with releases typically tied to macOS SDK updates, introducing major versions for new macOS support and minor versions for bug fixes and incremental SDK changes.

pip install pyobjc-framework-arkit
INSTALL
IMPORT
SIG · PYOBJC-FRAMEWORK-A
P
pyobjc-framework-arkit
ai-mlpythonv12.2
Install
Import
Disk
Pass rate
0/ 10
Env Coverage0 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v? · pip install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.920 runs
build_error
glibc
py 3.103.920 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

ARSession
from ARKit import ARSession
ARWorldTrackingConfiguration
from ARKit import ARWorldTrackingConfiguration

This quickstart demonstrates how to import key ARKit classes like `ARSession` and `ARWorldTrackingConfiguration` using PyObjC. It shows basic object instantiation and checks for ARKit availability, which is crucial as it's an Apple-specific framework. The example also calls a class method (`isSupported()`) to illustrate interaction with the underlying Objective-C API.

import objc from ARKit import ARSession, ARWorldTrackingConfiguration from Foundation import NSObject # Useful for general Cocoa classes # ARKit is a macOS/iOS framework, so check for its presence if not objc.is_defined('ARSession'): print("ARKit framework is not available on this system or macOS version.") else: print("ARKit framework is available.") # Allocate and initialize an ARSession session = ARSession.alloc().init() print(f"Created ARSession object: {session}") # Create a configuration for the session config = ARWorldTrackingConfiguration.new() print(f"Created ARWorldTrackingConfiguration object: {config}") # Check if ARSession is supported on the device is_supported = ARSession.isSupported() print(f"ARSession.isSupported(): {is_supported}") # In a full application, you would run the session like this: # session.runWithConfiguration_(config) # print("ARSession started.")
Debug
Known issues
breakingThe ARKit framework bindings were first introduced in PyObjC version 12.0. If your project targets an older PyObjC version (e.g., 11.x or prior), the `ARKit` framework will not be available.
fix
Upgrade `pyobjc-framework-arkit` to version 12.0 or later to access ARKit bindings.
affects: <12.0
breakingPyObjC 12.0 dropped support for Python 3.9. Users must ensure their Python environment is running Python 3.10 or a newer version.
fix
Upgrade your Python environment to 3.10 or newer before upgrading `pyobjc-framework-arkit` to version 12.0 or later.
affects: 12.0+
gotchaPyObjC and its framework wrappers, including `pyobjc-framework-arkit`, are exclusively for macOS and iOS (via cross-compilation tools like BeeWare). This library cannot be used on Windows, Linux, or other non-Apple operating systems.
fix
Ensure your development and deployment environment is macOS or an iOS-based platform.
affects: all
gotchaStarting with PyObjC 11.1, the core bridge's Automatic Reference Counting (ARC) behavior for Objective-C `init` methods was aligned more strictly with `clang`'s documentation. `init` methods now correctly 'steal' a reference to `self` and return a new one. This change might subtly affect object lifecycle and memory management, especially if you have custom `init` implementations or rely on previous PyObjC behavior.
fix
Review object lifecycle management, particularly for custom `init` method implementations, when migrating from PyObjC versions older than 11.1.
affects: 11.1+
gotchaPyObjC currently does not support the experimental free-threading (PEP 703) introduced in Python 3.13. Running PyObjC with free-threading enabled in Python 3.13 may lead to undefined behavior, crashes, or incorrect functionality.
fix
Avoid using PyObjC in a free-threaded Python 3.13 environment. Monitor PyObjC releases for official free-threading support.
affects: 10.3+, for Python 3.13 users
Upgrade
Version history
12.2latest on PyPI · released May 30, 2026
Audit
Dependencies
pyobjc-corerequiredCore bridge library required for all PyObjC framework bindings.
Agent activity
37 hits · last 30 days
node
36
OpenAI (training)
1
Resources