# 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.