comprehensive and concise system information querying tool
Project description
Comprehensive and concise system information tool.
The goal is to gather all relevant:
hardware information (processors, accelerators, memory, networks, drives)
static operating system information (name, version, hostname)
runtime information (environment, libraries, system load, etc.)
and provide them in a concise form that’s both machine- and human-readable.
Another important goal is to also be fail-safe, even with unexpected hardware configurations, low-level tool errors and deal with incomplete information.
You can use system-query as a library and as a command-line tool.
Motiviation
Where am I running?
One of the main motivations for creating system-query is to assist with answering the question “what is the actual hardware and software configuration of the system I’m using?” regardless of the official specification.
How to rerun this experiment?
The system-query was also created to assist with the computational experiment reproducibility and verification of results. Only if you know exactly where you ran your experiment, you can reason about its results and be able to reproduce them.
Using
As library
In [1]: from system_query import query_cpu
query_cpu()
Out[1]: {'brand': 'Intel(R) Core(TM) i7-3770K CPU @ 3.50GHz',
'clock': 1771.0370000000003,
'clock_max': 3900.0,
'clock_min': 1600.0,
'logical_cores': 8,
'physical_cores': 4}
More examples in examples.ipynb.
As command-line tool
For example:
$ python3 -m system_query
{'cpu': {'brand': 'Intel(R) Core(TM) i7-3770K CPU @ 3.50GHz',
'clock': 1725.031125,
'clock_max': 3900.0,
'clock_min': 1600.0,
'logical_cores': 8,
'physical_cores': 4},
'gpus': [],
'host': 'TestMachine',
'os': 'Linux-4.4.0-109-generic-x86_64-with-debian-stretch-sid',
'ram': {'total': 33701269504},
'swap': 0}
Usage information:
$ python3 -m system_query -h
usage: system_query [-h] [-s {all,cpu,gpu,ram}] [-f {raw,json}] [-t TARGET]
[--version]
Comprehensive and concise system information tool. Query a given hardware
and/or softawre scope of your system and get results in human- and machine-
readable formats.
optional arguments:
-h, --help show this help message and exit
-s {all,cpu,gpu,ram}, --scope {all,cpu,gpu,ram}
Scope of the query (default: all)
-f {raw,json}, --format {raw,json}
Format of the results of the query. (default: raw)
-t TARGET, --target TARGET
File path where to write the results of the query.
Special values: "stdout" and "stderr" to write to
stdout and stderr, respectively. (default: stdout)
--version show program's version number and exit
Copyright 2017-2018 by the contributors, Apache License 2.0,
https://github.com/mbdevpl/system-query
Requirements
Python version 3.5 or later.
Python libraries as specified in requirements.txt. Recommended (but optional) packages are listed in optional_requirements.txt.
Building and running tests additionally requires packages listed in test_requirements.txt.
Tested on Linux, OS X and Windows.
Contributors
Aleksandr Drozd
Mateusz Bysiek
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
Hashes for system_query-0.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4e7ee8bd14af2037f1921bf7cda4458b214685be843cfa77e114a3deb13c7cc1 |
|
MD5 | f77476c8720eaada3f6e66ea964d02ab |
|
BLAKE2b-256 | f1f2a11775b0ae6257a6d0c6699cfa340d7621f75f62bbede919c83ec871cea5 |