pyobjc-framework-SceneKit
Wrappers for the framework SceneKit on macOS
What it is and what it does
This package wraps Apple's SceneKit framework, making it accessible from Python on macOS. SceneKit is a high-level 3D graphics framework that handles scene graphs, rendering, physics simulation, and animation. You import it through PyObjC's bridge layer, which translates Python calls into Objective-C method invocations at runtime.
The package is a thin binding layer—it does not add its own documentation or abstractions, so you work directly with SceneKit's API as documented by Apple, translated through PyObjC's conventions. It requires Python 3.10 or later and runs only on macOS; it depends on pyobjc-core, pyobjc-framework-Cocoa, and pyobjc-framework-Quartz.
Use it for:
- Build 3D visualization tools or games on macOS using Python instead of Swift or Objective-C
- Prototype 3D graphics applications that integrate with other Python libraries for data processing
- Create interactive 3D scene editors or model viewers as macOS desktop applications
- Automate 3D rendering or scene composition tasks within a Python workflow on macOS
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides Python bindings to macOS's SceneKit framework for 3D graphics, scene management, and rendering from Python code.
Yes, if you are developing on macOS and need 3D graphics from Python. The package is actively maintained, recently released, carries no known vulnerabilities, and uses a permissive license. Install friction is moderate due to platform and Python version specificity, but wheels are available for current CPython versions. Not applicable on non-macOS systems.
Install
pyobjc-framework-scenekit on PyPI
pip
pip install pyobjc-framework-scenekituv
uv add pyobjc-framework-scenekitpoetry
poetry add pyobjc-framework-scenekitInstalling pyobjc-framework-SceneKit
Before you install
Medium friction: macOS-only wheels with CPython-specific builds for Python 3.10–3.15. Requires pyobjc-core and two additional framework wrappers. Recently released (3 days old) from an actively maintained repository.
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-scenekit
import SceneKit
scene = SceneKit.SCNScene()
macOS only; requires Python 3.10 or later; depends on pyobjc-core, pyobjc-framework-Cocoa, and pyobjc-framework-Quartz
Verify before relying
- Whether SceneKit bindings cover the full macOS 10.8+ API surface or a subset thereof
- Performance characteristics for large or complex 3D scenes compared to native code
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 3 — pyobjc-core, pyobjc-framework-Cocoa, pyobjc-framework-Quartz |
| Maintenance | actively maintained — 3 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 655,917/month — #5,503 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pyobjc_framework_scenekit-12.2.2-cp310-cp310-macosx_10_9_universal2.whl; pyobjc_framework_scenekit-12.2.2-cp311-cp311-macosx_10_9_universal2.whl; pyobjc_framework_scenekit-12.2.2-cp312-cp312-macosx_10_13_universal2.whl; pyobjc_framework_scenekit-12.2.2-cp313-cp313-macosx_10_13_universal2.whl; pyobjc_framework_scenekit-12.2.2-cp313-cp313t-macosx_10_13_universal2.whl; pyobjc_framework_scenekit-12.2.2-cp314-cp314-macosx_10_15_universal2.whl; pyobjc_framework_scenekit-12.2.2-cp314-cp314t-macosx_10_15_universal2.whl; pyobjc_framework_scenekit-12.2.2-cp315-cp315-macosx_10_15_universal2.whl; pyobjc_framework_scenekit-12.2.2-cp315-cp315t-macosx_10_15_universal2.whl
Keywords: PyObjC, SceneKit
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-ModelIOProvides Python bindings to Apple's ModelIO…
permissive · top 15,000 on PyPI
pyobjc-framework-SpriteKitProvides Python bindings to macOS's SpriteKit…
permissive · top 15,000 on PyPI
pyobjc-framework-CompositorServicesProvides Python bindings to macOS's…
permissive · top 15,000 on PyPI
pyobjc-framework-ScreenSaverProvides Python bindings to macOS's ScreenSaver…
permissive · top 15,000 on PyPI
pyobjc-framework-MediaLibraryProvides Python bindings to macOS's…
permissive · top 15,000 on PyPI
pyobjc-framework-ClassKitProvides Python bindings to Apple's ClassKit…
permissive · top 15,000 on PyPI
pyobjc-framework-NetworkProvides Python bindings to Apple's Network…
permissive · top 15,000 on PyPI
pyobjc-framework-SafariServicesProvides Python bindings to macOS's…
permissive · top 15,000 on PyPI
pyobjc-framework-VisionProvides Python bindings to macOS's Vision…
permissive · top 5,000 on PyPI
pyobjc-framework-PhotosProvides Python bindings to macOS's Photos…
permissive · top 15,000 on PyPI