Cross-platform system stats made easy
Project description
statz
statz is a cross-platform Python package that fetches real-time system usage and hardware specs — all wrapped in a simple, clean API.
Works on macOS, Linux, and Windows, and handles OS-specific madness under the hood so you don’t have to.
✨ Features
- 📊 Get real-time CPU, RAM, and disk usage
- 💻 Fetch detailed system specifications (CPU, RAM, OS, etc.)
- 🧠 Automatically handles platform-specific logic
- 🧼 Super clean API — just a few functions, no fluff
📦 Installation
pip install statz
�️ CLI Usage
statz comes with a powerful command-line interface that lets you get system information right from your terminal.
Basic Usage
# Get all system specs
statz --specs
# Get all system usage
statz --usage
# Get top processes
statz --processes
# Get temperature readings
statz --temp
# Launch live dashboard
statz --dashboard
Live Dashboard
The live dashboard provides real-time monitoring of your system with an interactive interface:
# Launch the dashboard
statz --dashboard
The dashboard displays:
- 📊 Real-time CPU usage per core
- 🧠 Memory usage and availability
- 💾 Disk I/O speeds
- 🌐 Network upload/download speeds
- 🔋 Battery status (if available)
- 🌡️ Temperature readings (if available)
Press Ctrl+C to exit the dashboard.
### Component-Specific Information
You can get information for specific components using these flags:
```bash
# Individual components
statz --specs --cpu # CPU specifications
statz --specs --ram # RAM information
statz --specs --disk # Disk/storage info
statz --specs --gpu # GPU information (Windows only)
statz --specs --network # Network adapter info
statz --specs --battery # Battery information
statz --specs --os # Operating system info
# Combine multiple components
statz --specs --cpu --ram --disk
statz --usage --cpu --ram --network
Process Monitoring
# Get top 5 processes by CPU usage (default)
statz --processes
# Get top 10 processes by CPU usage
statz --processes --process-count 10
# Get top 5 processes by memory usage
statz --processes --process-type mem
# Get top 15 processes by memory usage
statz --processes --process-count 15 --process-type mem
Output Formats
# JSON output
statz --specs --json
statz --usage --cpu --ram --json
# Export to file
statz --specs --out
statz --usage --processes --out
Available Flags
| Flag | Description |
|---|---|
--specs |
Get system specifications |
--usage |
Get real-time system usage |
--processes |
Get top processes information |
--temp |
Get temperature readings |
--dashboard |
Launch live monitoring dashboard |
--os |
Operating system information |
--cpu |
CPU information |
--gpu |
GPU information (Windows only) |
--ram |
RAM/memory information |
--disk |
Disk/storage information |
--network |
Network adapter information |
--battery |
Battery information |
--json |
Output in JSON format |
--out |
Export to JSON file |
--process-count N |
Number of processes to show (default: 5) |
--process-type {cpu,mem} |
Sort processes by CPU or memory usage |
Examples
# Get CPU and RAM specs in JSON format
statz --specs --cpu --ram --json
# Monitor top 10 memory-intensive processes
statz --processes --process-count 10 --process-type mem
# Get all usage data and export to file
statz --usage --out
# Get system temperatures and CPU usage
statz --temp --usage --cpu
# Get complete system overview
statz --specs --usage --processes --temp
# Launch interactive dashboard for real-time monitoring
statz --dashboard
📝 Changelog
v1.0.0 – Major Feature Release
- Added exporting to the base module instead of just the CLI 📤
- You can now export data programmatically using the
export_into_file()function
- You can now export data programmatically using the
- Live dashboard 📊
- New real-time dashboard feature for monitoring system metrics (
statz --dashboard) - Interactive interface showing CPU, memory, disk I/O, network, battery, and temperature data
- Updates in real-time with colored indicators and progress bars
- New real-time dashboard feature for monitoring system metrics (
- Fixed GPU specs output in CLI 💻
- GPU information now displays properly formatted instead of raw dictionary output
- Fixed broken top N processes ⬆️
- Process monitoring now correctly shows the highest resource-consuming processes
📝 Side Note
If you find any errors on Linux, please report them to me with as much detail as possible as I do not have a Linux machine.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
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
File details
Details for the file statz-1.0.0.tar.gz.
File metadata
- Download URL: statz-1.0.0.tar.gz
- Upload date:
- Size: 21.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
71f5ff18e99703c7fcb8273c01527acb0f4cd1ae0664a118f2c31efed1ff9349
|
|
| MD5 |
dd40b44bced7301696904d9a99af28f5
|
|
| BLAKE2b-256 |
b429d37741f180eeb4fdc658de1bd227510bc147d7fa04441d3a81d453185b66
|
File details
Details for the file statz-1.0.0-py3-none-any.whl.
File metadata
- Download URL: statz-1.0.0-py3-none-any.whl
- Upload date:
- Size: 22.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1f19fba8c42003a9e6fdec1763a9c3f90d43d4053d3a27b036c67721b42f34fc
|
|
| MD5 |
31373531f3b675921c4b501946caaa5a
|
|
| BLAKE2b-256 |
09be3c7721d02e328eae510ab29accc4e930e86bad6cbe988fd47f62d8405a04
|