nvidia-smi equivalent for macOS Apple Silicon – Monitor Metal GPU usage, power, and temperature
Project description
🍎 apple-smi
nvidia-smi equivalent for macOS Apple Silicon – Monitor Metal GPU usage, power consumption, and temperature from your terminal.
$ apple-smi
Wed Mar 04 10:15:39 2026
+-----------------------------------------------------------------------------------------+
| APPLE-SMI 0.1.0 macOS Version: 26.3 (25D125) Metal Version: 4 |
+-----------------------------------------+------------------------+----------------------+
| GPU Name | Disp.A | |
| Temp Pwr:Usage/Cap | Memory-Usage | GPU-Util |
|=========================================+========================+======================|
| 0 Apple M1 (8-Core GPU) | On | |
| 30C 11.4W / 20W | 13864MiB / 16384MiB | 5% |
+-----------------------------------------+------------------------+----------------------+
+-----------------------------------------------------------------------------------------+
| Processes: |
| GPU PID Type Process name GPU Memory |
| Usage |
|=========================================================================================|
| 0 72743 C python3.11 530MiB |
| 0 72807 C python3.11 349MiB |
| 0 72808 C python3.11 349MiB |
+-----------------------------------------------------------------------------------------+
✨ Features
- 🚫 No sudo required – Uses private macOS APIs (IOReport, IOHIDSensors, SMC) for sudoless operation
- ⚡ GPU utilization – Real-time GPU usage percentage and frequency
- 🔋 Power monitoring – GPU, CPU, and ANE power consumption in Watts
- 🌡️ Temperature – GPU and CPU temperature readings
- 💾 Memory usage – Unified memory utilization
- 📊 nvidia-smi style output – Familiar box-drawing table format
- 🔄 watch compatible – Works perfectly with
watch -n 0.1 apple-smi - 📦 Zero dependencies – Pure Python, no external packages required
📥 Installation
pip install apple-smi
🚀 Usage
# Basic usage
apple-smi
# Continuous monitoring (using watch)
watch -n 0.1 apple-smi
# JSON output
apple-smi --json
Environment Variables
| Variable | Values | Description |
|---|---|---|
APPLE_SMI_BACKEND |
iokit, powermetrics |
Force a specific backend. Default: auto-detect |
APPLE_SMI_SHOW_ALL_PROCESSES |
0, 1 |
Show all GPU processes (G+C). Default: 0 (Compute only) |
🔧 Requirements
- macOS on Apple Silicon (M1/M2/M3/M4)
- Python 3.10+
📝 License
MIT License – see LICENSE for details.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
apple_smi-0.1.0.tar.gz
(24.2 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
apple_smi-0.1.0-py3-none-any.whl
(25.0 kB
view details)
File details
Details for the file apple_smi-0.1.0.tar.gz.
File metadata
- Download URL: apple_smi-0.1.0.tar.gz
- Upload date:
- Size: 24.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b2d840440af9c96f70c5f3383f54859c45dcc6989630bd5c290947705cbff6c5
|
|
| MD5 |
37ed69b8080626ee27ca5d08410a3d99
|
|
| BLAKE2b-256 |
0f4d4de4023541894eb6e1a562098e24c451540a9ba78d9d3bf0f23b93685e62
|
File details
Details for the file apple_smi-0.1.0-py3-none-any.whl.
File metadata
- Download URL: apple_smi-0.1.0-py3-none-any.whl
- Upload date:
- Size: 25.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b2450333cb3fc2f0e795c3e386b5978c10bff2bcf2403c9874f43410bed47e13
|
|
| MD5 |
b922e00dbcbb796b37e83a57c45533a6
|
|
| BLAKE2b-256 |
f891687f4882f34b0803c576fb5ebd0fd8c5603d537e47d9c7872c21a7faa0f1
|