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