Get CPU info with pure Python 2 & 3
Project description
Py-cpuinfo gets CPU info with pure Python. Py-cpuinfo should work without any extra programs or libraries, beyond what your OS provides. It does not require any compilation(C/C++, assembly, et cetera) to use. It works on Linux, OS X, Windows, BSD, Solaris, Cygwin, Haiku, and BeagleBone. It currently only works on X86 and some ARM CPUs.
These approaches are used for getting info:
Windows Registry (Windows)
/proc/cpuinfo (Linux)
sysctl (OS X)
dmesg (Unix/Linux)
isainfo and kstat (Solaris)
cpufreq-info (BeagleBone)
lscpu (Unix/Linux)
sysinfo (Haiku)
Querying the CPUID register (Intel X86 CPUs)
Run as a script
$ python cpuinfo/cpuinfo.py
Vendor ID: GenuineIntel
Hardware Raw:
Brand: Intel(R) Core(TM) i5-4440 CPU @ 3.10GHz
Hz Advertised: 3.1000 GHz
Hz Actual: 3.0794 GHz
Hz Advertised Raw: (3100000000, 0)
Hz Actual Raw: (3079444000, 0)
Arch: X86_64
Bits: 64
Count: 4
Raw Arch String: x86_64
L2 Cache Size: 6144 KB
L2 Cache Line Size: 0
L2 Cache Associativity: 0
Stepping: 3
Model: 60
Family: 6
Processor Type: 0
Extended Model: 0
Extended Family: 0
Flags: apic, clflush, cmov, constant_tsc, cx8, de, fpu, fxsr, ht, lahf_lm,
lm, mca, mce, mmx, msr, mtrr, nopl, nx, pae, pat, pge, pni, pse, pse36,
rdtscp, rep_good, sep, sse, sse2, ssse3, syscall, tsc, vme
Run as a library
import cpuinfo
# Have the library pick the best method for getting your CPU info
info = cpuinfo.get_cpu_info()
# Or use /proc/cpuinfo
#info = cpuinfo.get_cpu_info_from_proc_cpuinfo()
# Or use the Windows registry
#info = cpuinfo.get_cpu_info_from_registry()
# Or use sysctl
#info = cpuinfo.get_cpu_info_from_sysctl()
# Or use CPU CPUID register
#info = cpuinfo.get_cpu_info_from_cpuid()
# Print some CPU values
print('Vendor ID: {0}'.format(info['vendor_id']))
print('Brand: {0}'.format(info['brand']))
print('Hz Advertised: {0}'.format(info['hz_advertised']))
print('Hz Actual: {0}'.format(info['hz_actual']))
print('Hz Advertised Raw: {0}'.format(info['hz_advertised_raw']))
print('Hz Actual Raw: {0}'.format(info['hz_actual_raw']))
print('Arch: {0}'.format(info['arch']))
print('Bits: {0}'.format(info['bits']))
print('Count: {0}'.format(info['count']))
print('Flags: {0}'.format(', '.join(info['flags'])))
Bugs and Corrections
Please report a Bug if you suspect any of this information is wrong.
If py-cpuinfo does not work on your machine, run the script:
python tools/get_system_info.py
and create bug report with the generated “system_info.txt” file.
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 Distributions
File details
Details for the file py-cpuinfo-0.2.2.zip.
File metadata
- Download URL: py-cpuinfo-0.2.2.zip
- Upload date:
- Size: 31.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
55b42486da030598a699886dc262cd85d9afa3d62f12a5a9f87f61b712889bf1
|
|
| MD5 |
e5c449678cea5b1959c0e88610a8d4c4
|
|
| BLAKE2b-256 |
0fa726aa04eef176c219a5c1596d72618f566eb9924e45ac75da85ff90b80d30
|
File details
Details for the file py-cpuinfo-0.2.2.tar.gz.
File metadata
- Download URL: py-cpuinfo-0.2.2.tar.gz
- Upload date:
- Size: 21.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
10cdc6705ba43447039dd0487fc787aa46a659e1f88f1e3bcabdd0666dc3c024
|
|
| MD5 |
d4af88cca1c7647163f568412f900d54
|
|
| BLAKE2b-256 |
61b8c83f7cdc979b65642555df2318bdde40bdcb002f78ccdcaed1ff3bf71ec6
|