pyobjc-framework-Photos
Wrappers for the framework Photos on macOS
What it is and what it does
This package wraps Apple's Photos framework for macOS, allowing Python developers to interact with the Photos app and its underlying media library through a Python interface. It is part of the larger PyObjC project, which bridges Objective-C and Python; this particular wrapper focuses on the Photos-specific APIs.
The package is a thin binding layer—it does not include its own documentation, instead directing users to Apple's official framework documentation and PyObjC's general translation guides. It depends on pyobjc-core and pyobjc-framework-Cocoa to function, and is strictly macOS-only, supporting Python 3.10 through 3.15 with free-threading support on 3.13+.
Use it for:
- Automate batch operations on photos in the macOS Photos library (e.g., tagging, organizing, or exporting).
- Build macOS desktop tools that read or manipulate photo metadata and collections.
- Integrate Photos app data into Python-based workflows on macOS systems.
- Access photo albums and media information programmatically for archival or analysis tasks.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides Python bindings to macOS's Photos framework, enabling programmatic access to the Photos app and its media library through Objective-C bridge calls.
Yes, if you are developing on macOS and need direct access to the Photos framework from Python. The package is actively maintained, has no known vulnerabilities, and carries a permissive MIT license. Install friction is moderate due to platform and Python version constraints, but these are inherent to the use case rather than signs of poor maintenance.
Install
pyobjc-framework-photos on PyPI
pip
pip install pyobjc-framework-photosuv
uv add pyobjc-framework-photospoetry
poetry add pyobjc-framework-photosInstalling pyobjc-framework-Photos
Before you install
Medium install friction due to platform-specific wheels (macOS only, Python 3.10+) and two runtime dependencies on pyobjc-core and pyobjc-framework-Cocoa. Actively maintained with a release 3 days old and recent repository activity.
License in practice
MIT license permits commercial and private use with minimal restrictions; you may use, modify, and distribute this package freely provided you retain the license notice.
Quickstart
pip install pyobjc-framework-photos
import Photos
# Access Photos framework classes and methods via the Photos module
macOS only; requires Python 3.10 or later and a working Objective-C bridge environment.
Verify before relying
- Specific Photos framework capabilities exposed (e.g., album access, metadata queries, media filtering).
- Whether this package requires Xcode or system-level Photos framework headers to be present.
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 | 674,946/month — #5,387 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pyobjc_framework_photos-12.2.2-cp310-cp310-macosx_10_9_universal2.whl; pyobjc_framework_photos-12.2.2-cp311-cp311-macosx_10_9_universal2.whl; pyobjc_framework_photos-12.2.2-cp312-cp312-macosx_10_13_universal2.whl; pyobjc_framework_photos-12.2.2-cp313-cp313-macosx_10_13_universal2.whl; pyobjc_framework_photos-12.2.2-cp313-cp313t-macosx_10_13_universal2.whl; pyobjc_framework_photos-12.2.2-cp314-cp314-macosx_10_15_universal2.whl; pyobjc_framework_photos-12.2.2-cp314-cp314t-macosx_10_15_universal2.whl; pyobjc_framework_photos-12.2.2-cp315-cp315-macosx_10_15_universal2.whl; pyobjc_framework_photos-12.2.2-cp315-cp315t-macosx_10_15_universal2.whl
Keywords: PyObjC, Photos
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-CoreDataProvides Python bindings to macOS's Core Data…
permissive · top 15,000 on PyPI
pyobjc-framework-MediaExtensionProvides Python bindings to Apple's…
permissive · top 15,000 on PyPI
pyobjc-framework-PhotosUIProvides Python bindings to macOS's PhotosUI…
permissive · top 15,000 on PyPI
pyobjc-framework-SocialProvides Python bindings to macOS's Social…
permissive · top 15,000 on PyPI
pyobjc-framework-VisionProvides Python bindings to macOS's Vision…
permissive · top 5,000 on PyPI
pyobjc-framework-ClassKitProvides Python bindings to Apple's ClassKit…
permissive · top 15,000 on PyPI
pyobjc-framework-UniformTypeIdentifiersProvides Python bindings to macOS's…
permissive · top 5,000 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-ColorSyncProvides Python bindings to macOS's ColorSync…
permissive · top 15,000 on PyPI