Registry / pyobjc-framework-discrecordingui

pyobjc-framework-discrecordingui

JSON →
library12.2pypypiunverified

PyObjC is a bidirectional bridge that allows Python programs to interact with Objective-C frameworks on macOS. This package, `pyobjc-framework-discrecordingui`, provides Python wrappers for the DiscRecordingUI framework, enabling developers to integrate disc burning and erasing user interfaces into their macOS applications. The library is actively maintained, currently at version 12.1, with releases often tied to new macOS SDK updates and Python version support cycles.

pip install pyobjc-framework-discrecordingui
INSTALL
IMPORT
SIG · PYOBJC-FRAMEWORK-D
P
pyobjc-framework-discrecordingui
pythonv12.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.

DRBurnSetup
from DiscRecordingUI import DRBurnSetup
DRBurnSession
from DiscRecordingUI import DRBurnSession
DRBurnSetupPanel
from DiscRecordingUI import DRBurnSetupPanel

This quickstart demonstrates the basic structure of a PyObjC application, using `NSApplication` and `PyObjCTools.AppHelper` to manage the event loop. It shows how to import and instantiate a class from the `DiscRecordingUI` framework (e.g., `DRBurnSetupPanel`). In a full application, you would present UI elements and implement delegate methods to interact with them.

import objc from Foundation import NSObject, NSApplication from AppKit import NSApplicationActivationPolicyRegular from PyObjCTools import AppHelper from DiscRecordingUI import DRBurnSetupPanel, DRBurnSetup, DRBurnCompletionAction class AppDelegate(NSObject): def applicationDidFinishLaunching_(self, notification): print("Application started.") # Create a burn setup panel (example usage) panel = DRBurnSetupPanel.new() # In a real application, you'd present this panel and handle its delegate methods # For demonstration, we'll just show its existence. print(f"Created DRBurnSetupPanel: {panel}") # To prevent the app from immediately quitting in a simple script, # a real UI event loop is needed. For CLI demo, we can just let it exit. # If you were to present a panel, you'd typically do something like: # panel.beginSetupSheetForWindow_modalDelegate_didEndSelector_contextInfo_( # None, self, 'burnSetupSheetDidEnd_returnCode_contextInfo:', None) # For a truly minimal UI app to stay open: # NSApp.run() def applicationWillTerminate_(self, notification): print("Application will terminate.") if __name__ == '__main__': # Initialize the NSApplication app = NSApplication.sharedApplication() app.setActivationPolicy_(NSApplicationActivationPolicyRegular) # Create and set the delegate delegate = AppDelegate.alloc().init() app.setDelegate_(delegate) # Run the application event loop # For a real GUI app, this keeps it running. # For this minimal example, it might exit quickly if no windows are shown. AppHelper.runEventLoop()
Debug
Known issues
breakingPyObjC frequently drops support for older Python versions. Version 12.0 dropped support for Python 3.9, and version 11.0 dropped Python 3.8. Ensure your Python environment is compatible with the installed PyObjC version. Current releases generally support Python 3.10 and later.
fix
Upgrade your Python environment to 3.10 or newer, or use an older PyObjC version compatible with your Python interpreter (e.g., PyObjC 10.x for Python 3.9).
affects: >=11.0
breakingChanges in `__init__` and `__new__` behavior when subclassing Objective-C classes from Python. PyObjC 10.3 introduced changes that broke `__init__` for some user-implemented `__new__` patterns, partially reverted in 10.3.1. Complex interactions with Objective-C's two-step instantiation (alloc/init) require careful handling.
fix
Consult the PyObjC documentation on 'Instantiating Objective-C objects' for current best practices. If implementing `__new__`, ensure `__init__` methods are defined in an Objective-C style to work correctly with PyObjC's bridge.
affects: 10.3, 10.3.1
gotchaPyObjC 11.1 aligned its Automatic Reference Counting (ARC) behavior with `clang`'s documentation for initializer methods. Methods in the 'init' family now correctly model stealing a reference to `self` and returning a new reference. This might subtly change reference counting expectations in Python code interacting with Objective-C initializers.
fix
Review code interacting with Objective-C 'init' family methods, especially those that might involve manual memory management or specific retain/release patterns, to ensure compliance with ARC rules.
affects: >=11.1
gotchaSubclassing `NSString` or `NSMutableString` directly from Python is not supported and will lead to crashes. These classes are marked as 'final' in PyObjC due to their special handling in the bridge.
fix
Avoid subclassing `NSString` or `NSMutableString`. If you need custom string behavior, consider composition or using standard Python string manipulation and conversion to/from `objc.pyobjc_unicode`.
affects: All
gotchaObjective-C method names containing colons (`:`) are translated into Python method names with underscores (`_`). For example, `someMethod:withArg:` becomes `someMethod_withArg_`. This mangling is fundamental to PyObjC interaction.
fix
Always use the underscore-mangled versions of Objective-C method names when calling them from Python. Arguments for the Objective-C method become positional arguments after the `self` parameter in the Python method.
affects: All
gotchaPyObjC 11.0 introduced experimental support for free-threading (PEP 703) in Python 3.13. However, PyObjC does not fully support running without the Global Interpreter Lock (GIL), and some functionality explicitly marked as not thread-safe (e.g., defining Objective-C classes concurrently in multiple threads) may lead to issues.
fix
Exercise caution when using PyObjC in a free-threaded Python environment. Avoid operations identified as not thread-safe. For critical, thread-sensitive operations, consider falling back to GIL-protected execution or alternative concurrency models.
affects: >=11.0, specifically with Python 3.13+ free-threading
Upgrade
Version history
12.2latest on PyPI · released May 30, 2026
Audit
Dependencies
pyobjc-corerequiredCore bridge for Python and Objective-C interaction.
pyobjc-framework-CocoarequiredDiscRecordingUI relies on the fundamental Cocoa framework for UI elements and application services.
pyobjc-framework-DiscRecordingrequiredDiscRecordingUI provides UI for the DiscRecording framework's core functionality.
Agent activity
4 hits · last 30 days
node
4
Resources
pyobjc-framework-discrecordingui — pip install pyobjc-framework-discrecordingui · libregistry