SYSNAP is a lightweight, professional command-line utility designed to capture, record, and compare system states. Built with Python, it provides a simple yet powerful way to generate detailed JSON snapshots and human-readable reports of your machine's configuration and resources, making it ideal for technical support, diagnostics, and auditing.
- Comprehensive Snapshots: Captures OS details, CPU, Memory, Disk, and Network configurations.
- Dual Output: Generates both machine-readable JSON and human-readable TXT reports.
- Snapshot Comparison: Built-in diff engine to compare two snapshots and highlight changes (e.g., RAM upgrades, disk usage shifts).
- Cross-Platform: Works seamlessly on Windows, Linux, and macOS.
- Zero-Bloat: Minimal dependencies, focused on core functionality.
- Python 3.10 or higher
pippackage manager
- Clone the repository:
git clone https://github.com/informigados/sysnap.git cd sysnap - Install dependencies:
pip install -r requirements.txt
SYSNAP provides a clear CLI interface for managing system snapshots.
Print to Screen (JSON):
By default, the snapshot command prints the JSON output to the terminal (stdout).
python -m sysnap.cli snapshotSave to File (Default Naming):
Use the --save (or -s) flag to automatically generate a snapshot in the snapshots/ folder.
The filename will follow the pattern snapshot-YYYY-MM-DD-HH-MM-SS.
python -m sysnap.cli snapshot --saveOutput:
snapshots/snapshot-2023-10-27-14-30-00.jsonsnapshots/snapshot-2023-10-27-14-30-00.txt
Save to Custom File:
Specify a custom filename using -o or --output. Do not include the extension; the tool will generate both .json and .txt.
python -m sysnap.cli snapshot --output my_server_backupOutput:
my_server_backup.jsonmy_server_backup.txt
Compare an old snapshot with a new one to see what changed:
python -m sysnap.cli compare old.json new.jsonExample Output:
Comparing old.json -> new.json...
RAM Free: -512.00 MB (4.50 GB -> 4.00 GB)
Disk Free (C:\): -1.20 GB (50.00 GB -> 48.80 GB)
View available commands and options:
python -m sysnap.cli --helpsysnap/
├── sysnap/
│ ├── cli.py # CLI Entry point
│ ├── engine.py # Core orchestrator
│ ├── snapshot.py # Data aggregation logic
│ ├── compare.py # Diff logic
│ ├── utils.py # Helpers & Report Generators
│ └── collectors/ # Hardware probes
│ ├── system.py # OS & Uptime
│ ├── cpu.py # Processor stats
│ ├── memory.py # RAM usage
│ ├── disk.py # Storage stats
│ └── network.py # Interfaces & IPs
├── snapshots/ # Default storage for generated snapshots
├── tests/ # Unit tests
├── examples/ # Sample outputs
├── pyproject.toml # Project metadata
└── requirements.txt # Dependencies
- Core: Implementation of data collectors (CPU, Memory, Disk, Network, System).
- CLI: Command-line interface with
snapshotandcomparecommands. - Reports: Support for JSON (machine) and TXT (human) output formats.
- Diff Engine: Logic to compare two system snapshots and report differences.
Alex H. P. Brito
[Professor, Programmer, Speaker]
CEO & Founder — INformigados
- 🌐 Personal Website: alexhpbrito.com.br
- 🏢 Business Website: informigados.com.br
This project is licensed under the MIT License - see the LICENSE file for details.