def _get_cpu_info_internal():
	'''
	Returns the CPU info by using the best sources of information for your OS.
	Returns {} if nothing is found.
	'''

	# Get the CPU arch and bits
	arch, bits = _parse_arch(DataSource.arch_string_raw)

	friendly_maxsize = { 2**31-1: '32 bit', 2**63-1: '64 bit' }.get(sys.maxsize) or 'unknown bits'
	friendly_version = "{0}.{1}.{2}.{3}.{4}".format(*sys.version_info)
	PYTHON_VERSION = "{0} ({1})".format(friendly_version, friendly_maxsize)

	info = {
		'python_version' : PYTHON_VERSION,
		'cpuinfo_version' : CPUINFO_VERSION,
		'cpuinfo_version_string' : CPUINFO_VERSION_STRING,
		'arch' : arch,
		'bits' : bits,
		'count' : DataSource.cpu_count,
		'arch_string_raw' : DataSource.arch_string_raw,
	}

	# Try the Windows wmic
	_copy_new_fields(info, _get_cpu_info_from_wmic())

	# Try the Windows registry
	_copy_new_fields(info, _get_cpu_info_from_registry())

	# Try /proc/cpuinfo
	_copy_new_fields(info, _get_cpu_info_from_proc_cpuinfo())

	# Try cpufreq-info
	_copy_new_fields(info, _get_cpu_info_from_cpufreq_info())

	# Try LSCPU
	_copy_new_fields(info, _get_cpu_info_from_lscpu())

	# Try sysctl
	_copy_new_fields(info, _get_cpu_info_from_sysctl())

	# Try kstat
	_copy_new_fields(info, _get_cpu_info_from_kstat())

	# Try dmesg
	_copy_new_fields(info, _get_cpu_info_from_dmesg())

	# Try /var/run/dmesg.boot
	_copy_new_fields(info, _get_cpu_info_from_cat_var_run_dmesg_boot())

	# Try lsprop ibm,pa-features
	_copy_new_fields(info, _get_cpu_info_from_ibm_pa_features())

	# Try sysinfo
	_copy_new_fields(info, _get_cpu_info_from_sysinfo())

	# Try querying the CPU cpuid register
	_copy_new_fields(info, _get_cpu_info_from_cpuid())

	# Try platform.uname
	_copy_new_fields(info, _get_cpu_info_from_platform_uname())

	return info
def _get_cpu_info_internal ( ) : arch , bits = _parse_arch ( DataSource . arch_string_raw ) friendly_maxsize = { 2 ** 31 - 1 : '32 bit' , 2 ** 63 - 1 : '64 bit' } . get ( sys . maxsize ) or 'unknown bits' friendly_version = "{0}.{1}.{2}.{3}.{4}" . format ( * sys . version_info ) PYTHON_VERSION = "{0} ({1})" . format ( friendly_version , friendly_maxsize ) info = { 'python_version' : PYTHON_VERSION , 'cpuinfo_version' : CPUINFO_VERSION , 'cpuinfo_version_string' : CPUINFO_VERSION_STRING , 'arch' : arch , 'bits' : bits , 'count' : DataSource . cpu_count , 'arch_string_raw' : DataSource . arch_string_raw , } _copy_new_fields ( info , _get_cpu_info_from_wmic ( ) ) _copy_new_fields ( info , _get_cpu_info_from_registry ( ) ) _copy_new_fields ( info , _get_cpu_info_from_proc_cpuinfo ( ) ) _copy_new_fields ( info , _get_cpu_info_from_cpufreq_info ( ) ) _copy_new_fields ( info , _get_cpu_info_from_lscpu ( ) ) _copy_new_fields ( info , _get_cpu_info_from_sysctl ( ) ) _copy_new_fields ( info , _get_cpu_info_from_kstat ( ) ) _copy_new_fields ( info , _get_cpu_info_from_dmesg ( ) ) _copy_new_fields ( info , _get_cpu_info_from_cat_var_run_dmesg_boot ( ) ) _copy_new_fields ( info , _get_cpu_info_from_ibm_pa_features ( ) ) _copy_new_fields ( info , _get_cpu_info_from_sysinfo ( ) ) _copy_new_fields ( info , _get_cpu_info_from_cpuid ( ) ) _copy_new_fields ( info , _get_cpu_info_from_platform_uname ( ) ) return info
Returns the CPU info by using the best sources of information for your OS.
	Returns {} if nothing is found.