pyobjc-framework-Quartz
Wrappers for the Quartz frameworks on macOS
What it is and what it does
pyobjc-framework-quartz is a PyObjC bridge that exposes Apple's native Quartz graphics frameworks to Python on macOS. It wraps CoreGraphics (2D graphics based on PDF model), ImageIO (image reading/writing), QuartzCore (image processing and video manipulation), PDFKit (PDF file handling), and several other graphics-related frameworks. The package lets you call these native APIs directly from Python code, enabling graphics, image, and video operations that would otherwise require Objective-C or Swift.
The package depends on pyobjc-core and pyobjc-framework-Cocoa, and is macOS-only with wheels built for Python 3.10 through 3.15. It is actively maintained and production-stable, though the documentation relies on Apple's native framework docs and PyObjC's translation guides rather than Python-specific API reference.
Use it for:
- Build macOS desktop applications that need native 2D graphics rendering via CoreGraphics.
- Batch process images or PDFs using ImageIO and PDFKit from Python scripts on macOS.
- Manipulate video frames and perform image processing with QuartzCore in macOS workflows.
- Access iPhoto-like image views and effects via ImageKit and QuartzFilters in GUI applications.
- Integrate with macOS-native graphics pipelines when porting or extending Objective-C code to Python.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides Python bindings to macOS Quartz frameworks (CoreGraphics, ImageIO, QuartzCore, PDFKit, and others) for 2D graphics, image processing, video manipulation, and PDF handling on macOS.
Yes, if you are developing on macOS and need direct access to native Quartz graphics APIs from Python. The package is actively maintained, has no known vulnerabilities, and covers a broad set of graphics frameworks. Install friction is moderate due to macOS-only wheels and two runtime dependencies, but this is expected for PyObjC bindings. Not applicable on other operating systems.
Install
pyobjc-framework-quartz on PyPI
pip
pip install pyobjc-framework-quartzuv
uv add pyobjc-framework-quartzpoetry
poetry add pyobjc-framework-quartzInstalling pyobjc-framework-Quartz
Before you install
Medium install friction: wheels are macOS-only (universal2 binaries for various Python versions and architectures) and require two runtime dependencies (pyobjc-core and pyobjc-framework-Cocoa). Package is actively maintained with a recent release (3 days old) and stable status.
License in practice
MIT license is permissive; you can use, modify, and distribute this package freely with minimal restrictions.
Quickstart
pip install pyobjc-framework-quartz
from Quartz import CoreGraphics
# Access CoreGraphics API for 2D graphics operations
macOS only; requires Python 3.10 or later and a macOS system with the Quartz frameworks available.
Verify before relying
- Whether the package includes type hints or stubs for IDE support.
- Performance characteristics when calling Quartz APIs from Python vs. native Objective-C.
- Completeness of wrapper coverage for all Quartz framework APIs.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 2 — pyobjc-core, pyobjc-framework-Cocoa |
| Maintenance | actively maintained — 3 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 2,492,474/month — #3,039 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pyobjc_framework_quartz-12.2.2-cp310-cp310-macosx_10_9_universal2.whl; pyobjc_framework_quartz-12.2.2-cp311-cp311-macosx_10_9_universal2.whl; pyobjc_framework_quartz-12.2.2-cp312-cp312-macosx_10_13_universal2.whl; pyobjc_framework_quartz-12.2.2-cp313-cp313-macosx_10_13_universal2.whl; pyobjc_framework_quartz-12.2.2-cp313-cp313t-macosx_10_13_universal2.whl; pyobjc_framework_quartz-12.2.2-cp314-cp314-macosx_10_15_universal2.whl; pyobjc_framework_quartz-12.2.2-cp314-cp314t-macosx_10_15_universal2.whl; pyobjc_framework_quartz-12.2.2-cp315-cp315-macosx_10_15_universal2.whl; pyobjc_framework_quartz-12.2.2-cp315-cp315t-macosx_10_15_universal2.whl
Keywords: PyObjC, Quartz, Quartz.CoreGraphics, Quartz.CoreVideo, Quartz.ImageIO, Quartz.ImageKit, Quartz.PDFKit, Quartz.QuartzComposer, Quartz.QuartzCore, Quartz.QuartzFilters, Quartz.QuickLookUI
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
pyobjc-framework-IOSurfaceProvides Python bindings to macOS's IOSurface…
permissive · top 15,000 on PyPI
pyobjc-framework-CoreMediaProvides Python bindings to macOS's CoreMedia…
permissive · top 15,000 on PyPI
pyobjc-framework-ModelIOProvides Python bindings to Apple's ModelIO…
permissive · top 15,000 on PyPI
pyobjc-framework-MetalProvides Python bindings to Apple's Metal…
permissive · top 15,000 on PyPI
pyobjc-framework-MetalFXProvides Python bindings to Apple's MetalFX…
permissive · top 15,000 on PyPI
pyobjc-framework-ScreenSaverProvides Python bindings to macOS's ScreenSaver…
permissive · top 15,000 on PyPI
pyobjc-framework-CinematicProvides Python bindings for Apple's Cinematic…
permissive · top 15,000 on PyPI
pyobjc-framework-CoreMediaIOProvides Python bindings to Apple's CoreMediaIO…
permissive · top 15,000 on PyPI
pyobjc-framework-MapKitProvides Python bindings to Apple's MapKit…
permissive · top 15,000 on PyPI
pyobjc-framework-FSKitProvides Python bindings to macOS's FSKit…
permissive · top 15,000 on PyPI