Registry / pyobjc-framework-dvdplayback
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
muslpy 3.10–3.920 runs
build_error
glibcpy 3.10–3.920 runs
build_error
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
DVDGetScanRate
✓ from DVDPlayback import DVDGetScanRate
This quickstart demonstrates importing and attempting to use a function from the `DVDPlayback` framework. Due to the framework's deprecation by Apple, this example primarily serves to illustrate the import pattern, and its functionality may be limited or non-existent on modern macOS systems or without specific hardware/media. It explicitly notes the deprecation.
from Foundation import NSLog
from DVDPlayback import DVDGetScanRate
# Note: The DVDPlayback framework and its APIs are deprecated by Apple.
# This example is illustrative and may not function on recent macOS versions or
# without a DVD drive/mounted DVD image.
try:
scan_rate = DVDGetScanRate()
NSLog(f"Current DVD scan rate: %{{float}}", scan_rate)
except Exception as e:
NSLog(f"Failed to get DVD scan rate: %{{@}}", str(e))
Debug
Known issues
deprecatedThe DVDPlayback framework itself is deprecated by Apple and marked as such in PyObjC documentation. Its functionality may be limited or unavailable on recent macOS versions and it should not be used for new development.fixAvoid using the DVDPlayback framework. Consult Apple's developer documentation for alternative media playback technologies.
affects: All versions, due to Apple's deprecation.
breakingPyObjC versions periodically drop support for older Python versions. For instance, PyObjC 11 dropped Python 3.8 support, and PyObjC 12.0 dropped Python 3.9 support.fixEnsure your Python environment meets the minimum requirement for the PyObjC version you are using (currently Python 3.10 or later for PyObjC 12.1).
affects: PyObjC 11.0+, PyObjC 12.0+
breakingPyObjC 11.1 aligned its behavior with clang's Automatic Reference Counting (ARC) for initializer methods, meaning methods in the 'init' family now correctly steal a reference to `self` and return a new reference. This is a significant change in reference counting.fixReview custom Objective-C classes subclassed in Python, especially `init` methods, for potential reference count issues. Consult PyObjC's changelog and ARC documentation.
affects: PyObjC 11.1+
gotchaChanges in PyObjC 10.3 affected how `__init__` is handled when a user-defined `__new__` method is present. While 10.3 initially removed support for calling `__init__` in such cases, 10.3.1 reintroduced it if the class (or a superclass) explicitly implements `__new__`. Code relying on PyObjC's `__new__` still cannot use `__init__`.fixIf experiencing issues with `__init__` and `__new__`, upgrade to 10.3.1 or later. Ensure `__init__` is only used when `__new__` is explicitly user-implemented, or when not relying on PyObjC's default `__new__` behavior.
affects: PyObjC 10.3.x
gotchaInstallation of PyObjC (and its framework wrappers) typically requires the Xcode Command Line Tools to be installed on macOS. Without them, compilation errors may occur.fixRun `xcode-select --install` in your terminal to install the necessary command-line tools before attempting to install PyObjC packages.
affects: All versions
breakingOlder, deprecated macOS frameworks may be entirely removed from PyObjC bindings when Apple removes them from the SDK. For example, the 'IMServicePlugIn' bindings were removed in PyObjC 10.0 because the framework was deprecated in macOS 10.13 and removed in macOS 14. This is a general policy that applies to deprecated frameworks like DVDPlayback.fixRelying on deprecated frameworks carries the risk of their bindings being removed in future PyObjC versions. Migrate to supported Apple APIs.
affects: PyObjC 10.0+
Upgrade
Version history
12.2latest on PyPI · released May 30, 2026
Audit
Dependencies
pyobjc-corerequiredRequired for the underlying Python-Objective-C bridge.
pyobjc-framework-CocoarequiredOften a foundational dependency for macOS framework bindings.