Skip to main content

Introduction

PyCPUID reads the information available from the CPUID assembly instruction and makes it available to any Python program.

It could be used to decide on some codepath based on whether the target computer supports SSE2.

import pycpuid
if pycpuid.HAS_SSE2:
    import foobar_sse2 as foobar
else:
    import foobar

It is not the goal of PyCPUID to provide a full report of all CPUID information available. It’s merely a way to get raw access to the machine instruction from within Python. Some functions are provided for translation to something human readable, but this is far from complete. Full details on how to interpret the raw data can be found in the application notes of Intel and AMD.

Installation

Package requires pip for installation.

pip install PyCPUID

If you’re doing this on Windows you’ll need to make sure you have a C++ compiler installed and properly configured.

Using PyCPUID

There’s not much to it, really. PyCPUID is just a bunch of module constants. Just import the module and access the constants. The HAS_FOOBAR constants are Boolean flags to indicate whether the feature is available. The function features() returns a list of all the available features as strings. There are some other functions like vendor() and brand_string() you can use to identify the CPU.

import pycpuid
print "has SSE2:", pycpuid.HAS_SSE2
print "all availabe features:", pycpuid.features()
print "brand string:", pycpuid.brand_string()

Get the Code

Changes

0.4

  • Mostly PEP8 compliant.

0.3

  • Should now compile on 32-bit and 64-bit platforms.

  • Updated packaging and now uses SetupFixer.

  • Added documentation based on the original text from Bram.

0.2

  • The feature abbreviations now resemble the ones in the Intel and AMD documentation.

  • features() is now a function and returns a list of strings, instead of being a comma separated string.

  • Added some functions like vendor() and brand_string() as handy wrappers.

  • PyCPUID is now a combination of a pure python module pycpuid.py and an extension _pycpuid.c. The extension module is only responsible for the actual cpuid call. All the fancy wrapper bits are implemented in Python.

  • Added gcc support. Using __cpuid intrinsic on MSVC to support x64.

0.1

  • Initial release.

To Do

  • Hopefully, nothing.

Credits

PyCPUID was written by Bram de Greve <bram.degreve@bramz.net> and is maintained by Flight Data Services, Ltd <developers@flightdataservices.com>.

Metadata

Release files for PyCPUID 0.4

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

Source distribution (sdist)

Source distribution for PyCPUID 0.4
File Size Uploaded Provenance
PyCPUID-0.4.zip 70.4 kB Without provenance Details

Release files / PyCPUID-0.4.zip

Download URL PyCPUID-0.4.zip
Size 70.4 kB
Tags Source
SHA-256 checksum
How to use checksums
5c067375aaf3c043d827b4a405c588eb89fa5f728cd3ff3cbd068970e96a5aa3
BLAKE2b-256 checksum
How to use checksums
3339119c45433d62dcd60cb618bdeaac1064bb983c30b458a62abef7c679dc3d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for PyCPUID 0.4

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 This release

1 release file 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