skillfed

pyobjc-framework-Metal

Wrappers for the framework Metal on macOS

pyobjc-framework-metal v12.2.2 693.6K downloads/30d#5,314 on PyPI803
Permissive license MIT Active released

What it is and what it does

pyobjc-framework-metal is a Python wrapper around Apple's Metal graphics and compute framework, part of the larger PyObjC project that bridges Python and Objective-C. It allows Python developers on macOS to access Metal's low-level GPU APIs for graphics rendering, compute shaders, and hardware acceleration without dropping to C or Objective-C.

The package is a thin binding layer—it does not provide high-level abstractions or documentation of its own, instead exposing Metal's native API surface directly. Users must consult Apple's Metal documentation to understand the framework's capabilities and PyObjC's documentation for Python-to-Objective-C translation patterns. It depends on pyobjc-core and pyobjc-framework-Cocoa, and runs only on macOS with Python 3.10 or later.

Use it for:

  • Build GPU-accelerated graphics applications on macOS using Metal's native rendering pipeline from Python.
  • Implement compute shaders and parallel algorithms that run on the GPU via Metal's compute API.
  • Prototype or integrate Metal-based graphics features into existing Python applications on macOS.
  • Access hardware-specific GPU capabilities and performance optimizations available only through Metal.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Provides Python bindings to Apple's Metal graphics framework on macOS, enabling low-level GPU programming and graphics acceleration from Python.

Yes, if you are developing on macOS and need direct access to Metal's GPU capabilities from Python. The package is actively maintained, has no known vulnerabilities, and carries a permissive license. Install friction is moderate due to platform specificity and dependency chain, but wheels are available for current Python versions. Not applicable on Windows or Linux.

Install

pyobjc-framework-metal on PyPI

pip

pip install pyobjc-framework-metal

uv

uv add pyobjc-framework-metal

poetry

poetry add pyobjc-framework-metal

Installing pyobjc-framework-Metal

Before you install

Medium install friction: platform-specific wheels for macOS only (universal2 binaries across Python 3.10–3.15), requires pyobjc-core and pyobjc-framework-Cocoa as runtime dependencies. Active maintenance with recent releases (3 days old as of fact sheet date).

License in practice

MIT license (permissive): you may use, modify, and distribute this package freely in commercial and private projects, with minimal restrictions.

Quickstart

pip install pyobjc-framework-metal

import Metal

device = Metal.MTLCreateSystemDefaultDevice()
command_queue = device.newCommandQueue()

macOS only; requires Python 3.10 or later; Metal framework is a native macOS feature with no Windows or Linux equivalent.

Verify before relying

  • Whether pre-built wheels cover all intended macOS versions and architectures beyond those listed in the fact sheet.
  • Performance characteristics and typical use patterns for GPU workloads via this binding layer.

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 693,642/month — #5,314 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: pyobjc_framework_metal-12.2.2-cp310-cp310-macosx_10_9_universal2.whl; pyobjc_framework_metal-12.2.2-cp311-cp311-macosx_10_9_universal2.whl; pyobjc_framework_metal-12.2.2-cp312-cp312-macosx_10_13_universal2.whl; pyobjc_framework_metal-12.2.2-cp313-cp313-macosx_10_13_universal2.whl; pyobjc_framework_metal-12.2.2-cp313-cp313t-macosx_10_13_universal2.whl; pyobjc_framework_metal-12.2.2-cp314-cp314-macosx_10_15_universal2.whl; pyobjc_framework_metal-12.2.2-cp314-cp314t-macosx_10_15_universal2.whl; pyobjc_framework_metal-12.2.2-cp315-cp315-macosx_10_15_universal2.whl; pyobjc_framework_metal-12.2.2-cp315-cp315t-macosx_10_15_universal2.whl

Keywords: PyObjC, Metal

Development Status :: 5 - Production/StableEnvironment :: ConsoleEnvironment :: MacOS X :: CocoaIntended Audience :: DevelopersNatural Language :: EnglishOperating System :: MacOS :: MacOS XProgramming Language :: Objective CProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.15Programming Language :: Python :: Free Threading :: 3 - StableProgramming Language :: Python :: Implementation :: CPythonTopic :: Software Development :: Libraries :: Python ModulesTopic :: Software Development :: User Interfaces

Tags

metal framework python bindingsgpu programming macos pythonmetal graphics accelerationpyobjc metal wrappermacos gpu compute pythonmetal api python bindingslow-level graphics macos
gpu-graphicsmacos-nativepyobjc

More Python Modules packages

idna

Converts domain names between Unicode and…

permissive · top 100 on PyPI

setuptools

Setuptools is a Python build backend and…

permissive · top 100 on PyPI

PyYAML

PyYAML parses and emits YAML 1.1 data format,…

permissive · top 100 on PyPI

pydantic

Pydantic validates Python data structures…

permissive · top 100 on PyPI

annotated-types

Provides reusable metadata objects for use with…

permissive · top 100 on PyPI

typing-inspection

Provides runtime tools to inspect and…

permissive · top 100 on PyPI

metal-sdk

Python client library for indexing and querying…

permissive · top 15,000 on PyPI

pyobjc-framework-MetalFX

Provides Python bindings to Apple's MetalFX…

permissive · top 15,000 on PyPI

pyobjc-framework-MetalKit

Provides Python bindings for Apple's MetalKit…

permissive · top 15,000 on PyPI

pyobjc-framework-MetalPerformanceShaders

Provides Python bindings to Apple's…

permissive · top 15,000 on PyPI

pyobjc-framework-MetalPerformanceShadersGraph

Provides Python bindings to Apple's…

permissive · top 15,000 on PyPI

pyobjc-framework-ModelIO

Provides Python bindings to Apple's ModelIO…

permissive · top 15,000 on PyPI

pyobjc-framework-Quartz

Provides Python bindings to macOS Quartz…

permissive · top 5,000 on PyPI

pyobjc-framework-Network

Provides Python bindings to Apple's Network…

permissive · top 15,000 on PyPI

wgpu

wgpu-py provides a Python binding to WebGPU, a…

permissive · top 15,000 on PyPI

hip-python

Provides low-level Python and Cython bindings…

permissive · top 15,000 on PyPI