Releases: swaritnarang/Statz
Release list
Version 2.4.0
Port Scanner
- You can now scan specified ports on a certain host to see if they are open.
- Example Usage:
network.scan_open_ports(starting_port, ending_port, host_ip)
Secure Delete
- You can now securely delete files. It will overwrite it with random data 5 times and then rename it to something random, before deleting it.
- Example CLI Usage:
statz --securedelete --path specs.json - Example API Usage:
file.secure_delete(specs.json)
Removed GPU Usage
- GPU usage has been removed from the app due to it being extremely buggy and unreliable. Sorry.
Full Changelog: v2.3.0...v2.4.0
Version 2.3.0
GPU Usage
- You can now get GPU usage on Windows via some small code snippets I wrote in C. It works 50% of the time though, so I wouldn't recommend relying on it.
Connected Devices Monitoring
- Call
statz.stats.connected_device_monitoring()to get all of the devices that are connected via USB, BT, PS2, etc.
Comparing in CLI
- You can now compare files in the CLI with this syntax:
statz --compare --path1 path1.json/csv --path2 path2.json/csv
Full Changelog: v2.2.0...v2.3.0
v2.2.0
Choose the path of an export
- You can now choose the export of a file via the
--path {path}flag or by specifyingpath={path}inside thestatz.file.export_into_file()function
Internet Speed Test
- Run an internet speed test via the
--internetspeedtestflag to get the upload and download speed in Mbps and the ping in ms, or call thestatz.internet.internet_speed_test(round=True/False)function to get a tuple:(download_speed, upload_speed, ping)
Fixed temperature bug in CLI
- Fixed the broken temperature monitoring in the CLI
This update took a little less time than some other updates with the same version, didn't it? cough cough ROBTOP GAMES AB
Full Changelog: v2.1.0...v2.2.0
Version 2.1.0
New Features
- Top Process Monitoring in Dashboard - The live dashboard now displays real-time top CPU and memory processes alongside system usage metrics
- File Comparison System - Compare system specifications between JSON and CSV export files to track hardware changes over time
- Dedicated File Module - File operations (export and comparison) moved to a separate
statz.filemodule for better organization
Improvements
- Enhanced Security - Internal platform-specific files moved to
internal/folder to reduce direct access - Fixed CLI Issues - Resolved broken CLI behavior for
statz --specsandstatz --usagecommands when used without component flags - Better Error Handling - Improved error handling and graceful failure management across all functions
Architecture Changes
- Modular Structure - File export and comparison functionality separated into dedicated
file.pymodule - Dashboard Enhancement - Live dashboard now shows three side-by-side tables: system usage, top CPU processes, and top memory processes
- CLI Robustness - Fixed import errors and function references that caused CLI crashes
Technical Details
- Export functions moved from
stats.pytofile.py - New
compare()function supports JSON-to-CSV and CSV-to-JSON comparisons - Dashboard layout improved with Rich Columns for better visualization
- Internal cross-platform modules reorganized for security
Breaking Changes
export_into_file()moved fromstatz.statstostatz.file- Import statements for file operations need to be updated
Full Changelog: v2.0.1...v2.1.0
Version 2.0.1
-
Fixed broken dashboard
-
The dashboard now works again, after I broke it when I optimized the get_usage() function.
-
Split apart the module into different sections
-
The module is now split into 4 sections:
stats, temp, benchmark, healthstatscontainsget_hardware_usage(), get_system_specs(), get_top_n_processes(), export_into_file()tempcontainsget_system_temps()benchmarkcontainscpu_benchmark, mem_benchmark, disk_benchmark()healthcontainssystem_health_score()
Full Changelog: v2.0.0...v2.0.1
Version 2.0.0
-
Added Performance Benchmarking
-
New
--benchmarkCLI flag for comprehensive system performance testing -
Component-specific benchmarks:
--benchmark --cpu,--benchmark --ram,--benchmark --disk -
Programmatic access via
statz.cpu_benchmark(),statz.mem_benchmark(),statz.disk_benchmark() -
Performance scoring system with color-coded ratings (Excellent, Good, Fair, Poor)
-
CPU benchmark tests mathematical operations, Fibonacci calculations, and prime number generation
-
Memory benchmark tests large array operations and memory allocation speed
-
Disk benchmark measures read/write speeds with temporary file operations
-
CSV Export Functionality
- New
--csvCLI flag for exporting data to CSV format - Support for all data types: specs, usage, processes, health scores, benchmarks, temperatures
- Smart CSV formatting with proper headers, units, and user-friendly structure
- Hardware usage CSV includes component-wise data with appropriate units (MB, %, MB/s)
- System specs CSV organizes data by component type with clear property-value pairs
- Programmatic CSV export via
statz.export_into_file(function, csv=True)
- New
-
Rich Table Output
- New
--tableCLI flag for beautiful, formatted table display - Professional table formatting using Rich library with rounded borders
- Context-aware labeling (Process, Drive, Module, Interface, etc.)
- Color-coded health scores and benchmark ratings in tables
- Multi-component table support with organized sections
- Special formatting for complex data types (GPU info, process lists, benchmark results)
- New
-
Major Bug Fixes and Improvements
- Fixed misleading RAM process reporting: Now shows absolute memory usage (MB/GB) instead of confusing percentages
- Improved process filtering: Excludes system/idle processes, shows only meaningful active processes
- Enhanced CPU usage accuracy: Properly caps CPU usage at 100% per process
- Better Windows temperature detection: Multiple fallback methods, improved error handling
- Enhanced CLI output formatting: Consistent formatting across all commands and data types
- Improved error messages: More informative error messages when features aren't available
-
CLI Enhancements
- Better argument parsing and validation
- Improved help documentation with clearer descriptions
- Enhanced process monitoring with
--process-countand--process-typeoptions - More robust error handling for unsupported features on different platforms
- Consistent output formatting across all commands
-
API Improvements
- Enhanced
export_into_file()function with CSV support and parameter passing - Better function documentation and examples
- Improved cross-platform compatibility
- More reliable temperature sensor detection on Windows systems
- Enhanced
Full Changelog: v1.1.1...v2.0.0
Version 1.2.0
- 🏥 Added system health score functionality
- Run
statz --healthin the terminal to get a comprehensive system health assessment - Call
statz.stats.system_health_score()programmatically to get a numerical health score (0-100) - Use
statz.stats.system_health_score(cliVersion=True)to get detailed component breakdown - Health score evaluates CPU usage, memory usage, disk usage, temperature, and battery status
- Color-coded output with ratings: Excellent 🟢, Good 🟡, Fair 🟠, Poor 🔴, Critical
⚠️
- Run
- 🏷️ Added version flag
- Run
statz --versionto check the current version of statz - Displays version information in standard format
- Run
Full Changelog: v1.1.0...v1.2.0
Version 1.1.1
- Fixed Windows Issue with
_get_usagespitting out an error - I guess this is what happens when you don't test before throwing it out into production 😭
Full Changelog: v1.1.0...v1.1.1
Version 1.1.0
- Selective Fetching for System Specs 🛠️
- Improved performance by allowing selective fetching of system specifications.
- Added support for fetching only requested components (e.g., CPU, RAM, Disk) to avoid unnecessary computations.
- Enhanced CLI Integration 💻
- Updated CLI to support selective fetching flags for
--specsand--usage. - Improved error handling and default values for missing or unsupported components.
- Updated CLI to support selective fetching flags for
- Refactored Platform-Specific Functions 🧹
- Updated
_get_windows_specs,_get_linux_specs, and_get_mac_specsto handle selective fetching. - Added meaningful error messages and default values for null or missing data.
- Updated
- Documentation Updates 📚
- Updated docstrings across platform-specific functions to reflect performance improvements.
Full Changelog: v1.0.0...v1.1.0
Version 1.0.0
- 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
Full Changelog: v0.4.1-alpha...v1.0.0