Skip to content

Releases: swaritnarang/Statz

Version 2.4.0

Choose a tag to compare

@swaritnarang swaritnarang released this 26 Jul 21:28

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

Choose a tag to compare

@swaritnarang swaritnarang released this 26 Jul 02:57

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 a tag to compare

@swaritnarang swaritnarang released this 24 Jul 21:29

Choose the path of an export

  • You can now choose the export of a file via the --path {path} flag or by specifying path={path} inside the statz.file.export_into_file() function

Internet Speed Test

  • Run an internet speed test via the --internetspeedtest flag to get the upload and download speed in Mbps and the ping in ms, or call the statz.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

Choose a tag to compare

@swaritnarang swaritnarang released this 23 Jul 20:53

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.file module 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 --specs and statz --usage commands 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.py module
  • 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.py to file.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 from statz.stats to statz.file
  • Import statements for file operations need to be updated

Full Changelog: v2.0.1...v2.1.0

Version 2.0.1

Choose a tag to compare

@swaritnarang swaritnarang released this 22 Jul 19:45
  • 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, health
      • stats contains get_hardware_usage(), get_system_specs(), get_top_n_processes(), export_into_file()
      • temp contains get_system_temps()
      • benchmark contains cpu_benchmark, mem_benchmark, disk_benchmark()
      • health contains system_health_score()

Full Changelog: v2.0.0...v2.0.1

Version 2.0.0

Choose a tag to compare

@swaritnarang swaritnarang released this 21 Jul 19:03
  • Added Performance Benchmarking

  • New --benchmark CLI 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 --csv CLI 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)
  • Rich Table Output

    • New --table CLI 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)
  • 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-count and --process-type options
    • 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

Full Changelog: v1.1.1...v2.0.0

Version 1.2.0

Choose a tag to compare

@swaritnarang swaritnarang released this 20 Jul 19:27
  • 🏥 Added system health score functionality
    • Run statz --health in 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 ⚠️
  • 🏷️ Added version flag
    • Run statz --version to check the current version of statz
    • Displays version information in standard format

Full Changelog: v1.1.0...v1.2.0

Version 1.1.1

Choose a tag to compare

@swaritnarang swaritnarang released this 19 Jul 19:58
  • Fixed Windows Issue with _get_usage spitting 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

Choose a tag to compare

@swaritnarang swaritnarang released this 19 Jul 19:46
  • 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 --specs and --usage.
    • Improved error handling and default values for missing or unsupported components.
  • Refactored Platform-Specific Functions 🧹
    • Updated _get_windows_specs, _get_linux_specs, and _get_mac_specs to handle selective fetching.
    • Added meaningful error messages and default values for null or missing data.
  • Documentation Updates 📚
    • Updated docstrings across platform-specific functions to reflect performance improvements.

Full Changelog: v1.0.0...v1.1.0

Version 1.0.0

Choose a tag to compare

@swaritnarang swaritnarang released this 18 Jul 18:35
  • Added exporting to the base module instead of just the CLI 📤
    • You can now export data programmatically using the export_into_file() function
  • 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
  • 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