Overview of macOS frameworks and their wrappers

The table below lists all frameworks found within /System/Library/Frameworks on macOS and what the name of the Python packages are for their wrappers. The table lists “-” as the name of the Python package when the framework is not wrapped, see the column with notes for more information.

The framework name links to API notes for that framework, the python packages link to their PyPI page.

Framework name

Python package

Notes

dispatch

pyobjc-framework-libdispatch

Accelerate

Will not be wrapped.

Accounts

pyobjc-framework-Accounts

AddressBook

pyobjc-framework-AddressBook

AdSupport

pyobjc-framework-AdSupport

AGL

Will not be wrapped, OpenGL is deprecated in macOS 10.14

AppKit

pyobjc-framework-Cocoa

AppKitScripting

Not wrapped, all definitions are available through the AppKit bindings. Removed in macOS 10.15.

AppleScriptKit

pyobjc-framework-AppleScriptKit

AppleScriptObjC

pyobjc-framework-AppleScriptObjC

ApplicationServices

pyobjc-framework-ApplicationServices

AppSSO

No public API.

AudioToolbox

AudioUnit

AudioVideoBridging

AuthenticationServices

pyobjc-framework-AuthenticationServices

Automator

pyobjc-framework-Automator

AVFoundation

pyobjc-framework-AVFoundation

AVKit

pyobjc-framework-AVKit

BackgroundTasks

No public API on macOS

BusinessChat

pyobjc-framework-BusinessChat

CalendarStore

pyobjc-framework-CalendarStore

CallKit

No public API on macOS

Carbon

Framework will not be wrapped.

CFNetwork

pyobjc-framework-CFNetwork

CloudKit

pyobjc-framework-CloudKit

Cocoa

pyobjc-framework-Cocoa

Collaboration

pyobjc-framework-Collaboration

ColorSync

pyobjc-framework-ColorSync

Combine

Swift only API

Contacts `

pyobjc-framework-Contacts

ContactsUI

pyobjc-framework-ContactsUI

CoreAudio

pyobjc-framework-CoreAudio

CoreAudioKit

pyobjc-framework-CoreAudioKit

CoreAudioTypes

pyobjc-framework-CoreAudio

These constants and types are exposed in the CoreAudio bindings. Use import CoreAudio.

CoreAuthentication

No public API (removed in macOS 10.13)

CoreBluetooth

pyobjc-framework-CoreBluetooth

CoreData

pyobjc-framework-CoreData

CoreDisplay

No public API.

CoreFoundation

pyobjc-framework-Cocoa

CoreGraphics

pyobjc-framework-Quartz

Use “import Quartz”.

CoreHaptics

pyobjc-framework-CoreHaptics

CoreImage

pyobjc-framework-Quartz

Use “import Quartz”.

CoreLocation

pyobjc-framework-CoreLocation

CoreMedia

pyobjc-framework-CoreMedia

CoreMediaIO

pyobjc-framework-CoreMediaIO

CoreMIDI

Not yet wrapped.

CoreMIDIServer

No public API.

CoreML

pyobjc-framework-CoreML

CoreMotion

pyobjc-framework-CoreMotion

CoreServices

pyobjc-framework-CoreServices

Various subframeworks are wrapped

CoreServices/LauchServices

pyobjc-framework-LaunchServices

CoreServices/SharedFileList

Use “import LaunchServices”

CoreServices/FSEvents

pyobjc-framework-FSEvents

CoreServices/AE

Not wrapped, use appscript package.

CoreServices/CarbonCore

Not yet wrapped.

CoreServices/Metadata

Use “import CoreServices”

CoreServices/OSServices

Use “import CoreServices”

CoreSpotlight

pyobjc-framework-CoreSpotlight

CoreTelephony

Framework has no public API no OS X

CoreText

pyobjc-framework-CoreText

CoreVideo

pyobjc-framework-Quartz

use “import Quartz”.

CoreWLAN

pyobjc-framework-CoreWLAN

CryptoKit

Swift only API

CryptoTokenKit

pyobjc-framework-CryptoTokenKit

DeviceCheck

pyobjc-framework-DeviceCheck

DirectoryService

Will not be wrapped.

DiscRecording

pyobjc-framework-DiscRecording

DiscRecordingUI

pyobjc-framework-DiscRecording

DiskArbitration

pyobjc-framework-DiskArbitration

DriverKit

Will not be wrapped, too low level.

DVComponentGlue

No public API. Removed in macOS 10.15

DVDPlayback

pyobjc-framework-DVDPlayback

DrawSprocket

Will not be wrapped. Removed in macOS 10.15.

EventKit

pyobjc-framework-EventKit

ExceptionHandling

pyobjc-framework-ExceptionHandling

ExecutionPolicy

pyobjc-framework-ExecutionPolicy

ExternalAccessory

pyobjc-framework-ExternalAccessory

FileProvider

pyobjc-framework-FileProvider

FileProviderUI

pyobjc-framework-FileProviderUI

FinderSync

pyobjc-framework-FinderSync

ForceFeedback

Will not be wrapped, low-level API

Foundation

pyobjc-framework-Cocoa

FWAUserLib

Will not be wrapped, framework is deprecated in macOS 10.12.

GameController

pyobjc-framework-GameController

GameCenter

pyobjc-framework-GameCenter

Removed in macOS 10.13.

GameKit

pyobjc-framework-GameKit

GameplayKit

pyobjc-framework-GameplayKit

GLKit

Will not be wrapped, framework is deprecated in macOS 10.14.

GLUT

Will not be wrapped Use PyOpenGL instead.

GSS

Will not be wrapped. Use gssapi instead.

HIDDriverKit

Will not be wrapped, too low level.

Hypervisor

Will not be wrapped, too low level.

ICADevices

Will not be wrapped.

IdentityLookup

No public API on macOS

ImageCaptureCore

pyobjc-framework-ImageCaptureCore

ImageIO

pyobjc-framework-Quartz

use “import Quartz”.

IMCore

No public API. Removed in macOS 10.13.

IMServicePlugIn

pyobjc-framework-IMServicePlugIn

IncomingCallNotifications

No public API on macOS. Removed in macOS 10.15.

InputMethodKit

pyobjc-framework-InputMethodKit

InstallerPlugins

pyobjc-framework-InstallerPlugins

InstantMessage

pyobjc-framework-InstantMessage

Intents

pyobjc-framework-Intents

IOBluetooth

Will not be wrapped.

IOBluetoothUI

Will not be wrapped.

IOKit

Will not be wrapped.

IOSurface

pyobjc-framework-IOSurface

IOUSBHost

Not wrapped yet.

iTunesLibrary

pyobjc-framework-iTunesLibrary

JavaFrameEmbedding

Will not be wrapped.

JavaScriptCore

pyobjc-framework-WebKit

JavaVM

Will not be wrapped.

Kerberos

Will not be wrapped.

Kernel

Will not be wrapped.

LatentSemanticMapping

pyobjc-framework-LatentSemanticMapping

LDAP

Will not be wrapped. Use python-ldap instead.

LinkPresentation

pyobjc-framework-LinkPresentation

LocalAuthentication

pyobjc-framework-LocalAuthentication

MapKit

pyobjc-framework-MapKit

MediaAccessibility

pyobjc-framework-MediaAccessibility

MediaLibrary

pyobjc-framework-MediaLibrary

MediaPlayer

pyobjc-framework-MediaPlayer

MediaToolbox

pyobjc-framework-MediaToolbox

Message

pyobjc-framework-Message

Metal

pyobjc-framework-Metal

MetalKit

pyobjc-framework-MetalKit

MetalPerformanceShaders

Not wrapped yet.

MetricKit

No public API on macOS.

ModelIO

pyobjc-framework-ModelIO

MultipeerConnectivity

pyobjc-framework-MultipeerConnectivity

NaturalLanguage

pyobjc-framework-NaturalLanguage

NetFS

pyobjc-framework-NetFS

Network

pyobjc-framework-Network

NetworkExtension

pyobjc-framework-NetworkExtension

NetworingkDriverKit

Will not be wrapped, too low level.

NotificationCenter

pyobjc-framework-NotificationCenter

OpenAL

Will not be wrapped. Use PyAL instead. Deprecated in macOS 10.15.

OpenCL

Will not be wrapped. Use pyopencl instead.

OpenDirectory

pyobjc-framework-OpenDirectory

OpenGL

Will not be wrapped. Use PyOpenGL instead.

OSAKit

pyobjc-framework-OSAKit

OSLog

pyobjc-framework-OSLog

PCSC

Use pyscard instead.

PDFKit

pyobjc-framework-Quartz

Use “import Quartz”.

PencilKit

`pyobjc-framework-PencilKit`_

Photos

pyobjc-framework-Photos

PhotosUI

pyobjc-framework-PhotosUI

PreferencePanes

pyobjc-framework-PreferencePanes

PubSub

pyobjc-framework-PubSub

Removed in macOS 10.15.

PushKit

pyobjc-framework-PushKit

Python

Will not be wrapped.

QTKit

pyobjc-framework-QTKit

Removed in macOS 10.15.

Quartz

pyobjc-framework-Quartz

Quartz / ImageKit

pyobjc-framework-Quartz

use “import Quartz”.

Quartz / QuartzComposer

pyobjc-framework-Quartz

Use “import Quartz”

Quartz / QuartzFilters

pyobjc-framework-Quartz

Use “import Quartz”.

Quartz / QuickLookUI

pyobjc-framework-Quartz

Use “import Quartz”.

QuartzCore

pyobjc-framework-Quartz

Use “import Quartz”.

QuickLook

pyobjc-framework-Quartz

Use “import Quartz”.

QuickLookThumbnailing

pyobjc-framework-QuickLookThumbnailing

QuickTime

Will not be wrapped. Removed in macOS 10.15.

RealityKit

No public API.

Ruby

Will not be wrapped.

SafariServices

pyobjc-framework-SafariServices

SceneKit

pyobjc-framework-SceneKit

ScreenSaver

pyobjc-framework-ScreenSaver

Scripting

This framework is (long) deprecated, use “import Foundation” instead. Removed in macOS 10.15.

ScriptingBridge

pyobjc-framework-ScriptingBridge

Security

pyobjc-framework-Security

SecurityFoundation

pyobjc-framework-SecurityFoundation

SecurityInterface

pyobjc-framework-SecurityInterface

ServerNotification

pyobjc-framework-ServerNotification

Removed in macOS 10.9.

ServiceManagement

pyobjc-framework-ServiceManagement

Social

pyobjc-framework-Social

SoundAnalysis </apinotes/SoundAnalysis

pyobjc-framework-SoundAnalysis

Not wrapped yet

Speech

pyobjc-framework-Speech

SpriteKit

pyobjc-framework-SpriteKit

StoreKit

pyobjc-framework-StoreKit

SwiftUI

Swift only API.

SyncServices

pyobjc-framework-SyncServices

System

No public API.

SystemConfiguration

pyobjc-framework-SystemConfiguration

SystemExtensions

pyobjc-framework-SystemExtensions

Tcl

Will not be wrapped.

Tk

Will not be wrapped, use tkinter.

TWAIN

Will not be wrapped. Use the “ImageCaptureCore” framework instead.

USBDriverKit

Will not be wrapped, too low level.

UserNotifications

pyobjc-framework-UserNotifications

vecLib

Will not be wrapped.

VideoDecodeAcceleration

Deprecated in macOS 10.11, won’t be wrapped.

VideoSubscriberAccount

pyobjc-framework-VideoSubscriberAccount

VideoToolbox

pyobjc-framework-VideoToolbox

Vision

pyobjc-framework-Vision

vmnet

Will not be wrapped, too low level.

WebKit

pyobjc-framework-WebKit

XgridFoundation

pyobjc-framework-XgridFoundation

Removed in macOS 10.8.

Frameworks that are marked as “Will not be wrapped” will not be wrapped, mostly because these frameworks are not usefull for Python programmers. Frameworks that are marked with “Not wrapped yet” will be wrapped in some future version of PyObjC although there is no explicit roadmap for this.

Frameworks that are marked as “Swift only API” have a public API for Swift, but not for other languages. This cannot be wrapped using PyObjC.

Please file an issue if you have a usecase for accessing one of the unwrapped frameworks from Python, this helps prioritizing work.