Skip to main content

hardwareSummary

PyPI version Python License: MIT CI

A Swiss Army Knife library for system, hardware, and filesystem utilities. Reports OS / CPU / GPU / memory / disk / network, runs a CPU benchmark, organizes a downloads folder, indexes a filesystem to SQLite, generates a Mermaid gitGraph, and ships a streaming upload server plus a custom TCP file-transfer client/server. Python 3.6+, single runtime dependency (tabulate), heavy deps lazy-installed on first use.

pip install nodespecs
python -m specs                      # full system report
python -m specs bcpu                 # CPU benchmark
python -c "import specs; specs.info_gpu()"

install with UV

curl -LsSf https://astral.sh/uv/install.sh | sh
source $HOME/.local/bin/env
uv python install 3.12

uv init
uv add nodespecs
uv pip install psutil
uv run -m specs
uv run -m specs bcpu

# or
source .venv/bin/activate
python -m specs bcpu

install and use with pip

pip install nodespecs
python -m specs
python -c "import specs; specs.bench_cpu()"
python -c "import specs; specs.hardware.get_system_info()"

python -c "import specs; specs.info_gpu()"
python -c "from specs import disk;print(disk.resolve_user_path())"
python -c "from specs.disk import resolve_user_path;print(resolve_user_path())"
# clean and orgnized download folder for WINDOWS user
python -m specs fclean

# for the machine not compatible with psutil
python -m specs -v
python -m specs -l=1

python -m specs bcpu
python -m specs upload
python -m specs server
python -m specs cld -i='172.25.1.228'

File Indexer Script

Usage

Run the script as a module from the repository root:

python -m specs.disk.drive

To index a custom directory, pass --dir with a Windows raw path literal:

python -m specs.disk.drive --dir "F:\\"

To set the SQLite output path explicitly:

python -m specs.disk.drive --dir "F:\\" --db "F:\\file_index.db"
Expected Output

On success:

Indexed <N> files
Successfully exported to SQLite database: <path>\file_index.db

On failure to export:

Indexed <N> files
Export failed: <error message>
## server
python -c "import specs; print(specs.__version__)"

python -c "import specs; specs.whoish()"
python -c "import specs; specs.server()"
## client upload wt progress bar
python -c "import specs; specs.client('172.25.1.175', 12345,'./README.md',False)"

## client upload wo progress bar
python -c "import specs; specs.client('172.25.1.175', 12345,'./README.md',False)"
## client upload top level files in the cwd
python -c "import specs; specs.clientd('192.168.0.157')"
python -c "import specs; specs.clientd('192.168.0.157', 12345)"
sudo apt update
sudo apt install python3-pip
python3 -m pip install nodespecs && python3 -m specs
import specs

specs.info_gpu()
specs.bench_cpu()

Deprecated (install and use with git)

!git clone https://github.com/jinsanity07git/hardwareSummary && python hardwareSummary/hardware.py && python hardwareSummary/cpu-benchmark.py

git clone https://github.com/jinsanity07git/hardwareSummary && python hardwareSummary/hardware.py && python hardwareSummary/cpu-benchmark.py
sudo apt upgrade
sudo apt install python3-pip
git clone https://github.com/jinsanity07git/hardwareSummary && python3 hardwareSummary/hardware.py && python3 hardwareSummary/cpu-benchmark.py

CPU collection

Nickname CPU Arch OS Python Benchmarking Comb Score
TC01 Intel(R) Core(TM) i9-14900K x86_64 Linux 5.15.153.1-microsoft-standard-WSL2 3.12.12 5.43 Core-i9-14900KF 39.25
lab-aws Intel(R) Xeon(R) Platinum 8488C x86_64 Linux 3.11.12 11.174 38.76
TC14 13th Gen Intel(R) Core(TM) i9-13900K AMD64 Windows 10 12.991 Core-i9-13900K 38.76
TC17
TC16
Intel(R) Core(TM) i9-14900KF AMD64 Windows 15.654 Core-i9-14900KF 39.25
iPhone 14 Pro Max
iPhone15,31
Apple A16 Bionic2 arm64e Darwin 23.4.0 15.962
10cent CloudStudio Intel(R) Xeon(R) Platinum 8255C CPU @ 2.50GHz x86_64 Linux 3.10.11 19.891
TC19 Intel(R) Core(TM) i7-9700K CPU @ 3.60GHz sAMD64 Windows 10 20.534 Core-i7-9700K 9.45
Dell Precision 5690 Intel(R) Core(TM) Ultra 9 185H AMD64 Windows 11 Pro 3.8.12 23.824
CHINAMI Intel(R) Xeon(R) w5-3435X AMD64 Windows 10 23.849 Xeon w5-3435X 28.58
Dell Precision 3561 11th Gen Intel(R) Core(TM) i7-11800H @ 2.30GHz AMD64 Windows 23.852 Core-i7-11800H 13.47
github codespaces AMD EPYC 7763 64-Core Processor x86_64 Linux 24.259 EPYC-7763 54.65
alibaba t5 Intel(R) Xeon(R) Platinum 8269CY CPU @ 2.50GH x86_64 Linux 3.12.3 25.44
TC07 Intel(R) Core(TM) i7-9700K CPU @ 3.60GHz AMD64 Windows 26.723 Core-i7-9700K 9.45
oracle cloudshell ARM Cortex-A53 aarch64 Linux 27.489
AWS t2.micro Intel(R) Xeon(R) CPU E5-2676 v3 @ 2.40GHz x86_64 Linux 27.785 Core-i7-9700K 8.81
AWS workspace Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz x86_64 Linux 3.10.12 29.355
google cloudshell Intel(R) Xeon(R) CPU @ 2.20GHz x86_64 Linux 29.818
WUYING: 8 vCPU / 16 GiB Linux Intel(R) Xeon(R) Platinum 8163 CPU @ 2.50GHz x86_64 Linux 33.572 Xeon-Platinum-8163
TC03
TC11
Intel(R) Xeon(R) Gold 6248R CPU @ 3.00GHz AMD64 Window 34.612 Xeon-Gold-6248R 23.26
2018 Macbook pro Intel(R) Core(TM) i7-8559U CPU @ 2.70GHz x86_64 Darwin 22.1.0 37.105 Core-i7-8559U 5.38
JVM Intel(R) Xeon(R) Gold 6126 CPU @ 2.60GHz x86_64 Linux 38.685 Xeon-Gold-6126 12.21
TC01 Intel(R) Xeon(R) CPU E5-2643 v4 @ 3.40GHz AMD64 Windows 39.258 Xeon-E5-2643-v4 7.62
Jquant Intel(R) Xeon(R) Platinum 8163 CPU @ 2.50GHz x86_64 Linux 40.128 Xeon-Platinum-8163
google colab free tier Intel(R) Xeon(R) CPU @ 2.20GHz x86_64 Linux 43.078
aws cloudshell Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz x86_64 Linux 49.396
JVM Intel(R) Xeon(R) Gold 6126 CPU @ 2.60GHz AMD64 Windows 62.969
binder-examples/conda3 Intel(R) Xeon(R) Gold 6140 CPU @ 2.30GHz x86_64 Linux 74.349 Xeon-Gold-6140 15.8
serv00-FreeBSD Intel(R) Xeon(R) Silver 4214R CPU @ 2.40GHz AMD64 Linux 75.571
Oracle 1G-1G-0.5Gbps AMD EPYC 7551 32-Core Processor x86_64 Linux 98.732 EPYC-7551 14.67
mini PC Intel(R) Atom(TM) x5-Z8350 CPU @ 1.44GHz x86_64 Linux 135.107 Atom-x5-Z8350 0.57
  • Note
    • Kinds of Arch explanation4

GPU collection

id name total memory Synthetic benchmark CUDA API
17 NVIDIA GeForce RTX 4060 8188.0MB 50.69 NA
colab
10cent CloudStudio
Tesla T4 15360.0MB 28.16 70627
5690 NVIDIA RTX 3500 Ada Generation Laptop GPU 12282 MB
dell NVIDIA T600 Laptop GPU 4096.0MB 16.69 26600
01 Quadro M4000 8192.0MB 17.27 16648

Feature in develop

  1. work through ws, transfer file using websocket
  2. py-ios-device python based Apple instruments protocol,you can get CPU, Memory and
  • Streaming upload server in Python extended from uploadserver.other metrics from real iOS devices

Performance source

  1. apple ios devices name ↩

  2. Apple A16 ↩

  3. binder: Get your own copy of this repository ↩

  4. mainstream CPU architecture ↩

Metadata

Release files for nodespecs 0.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for nodespecs 0.4.0
File Size Uploaded Provenance
nodespecs-0.4.0.tar.gz 42.4 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for nodespecs 0.4.0
File Interpreter ABI Platform
nodespecs-0.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 87.8 kB

Release files / nodespecs-0.4.0.tar.gz

Download URL nodespecs-0.4.0.tar.gz
Size 42.4 kB
Tags Source
SHA-256 checksum
How to use checksums
c2cd12236e390735b446c7d522d07cb01bcb81021272d9a33b840c427a1d1045
BLAKE2b-256 checksum
How to use checksums
3765fd33125e397ac80ee1c9b323dfecb36e4c60fbf19faab9d9c96a18ae8bcc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.20

Release files / nodespecs-0.4.0-py3-none-any.whl

Download URL nodespecs-0.4.0-py3-none-any.whl
Size 45.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8d6eec13418ff15c2beee606b3bc63004e1819ce9e4e1739481df14f66ec0e9b
BLAKE2b-256 checksum
How to use checksums
24446687f09341ffc00a4b5a711b53faf6634471a56b34bea067c5e1f67dbf9e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.20

Security for nodespecs 0.4.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.4.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page