Get the unique machine ID of any host (without admin privileges).
Sponsored by:
A fair source software licensing and distribution API.
Install using pip:
python3 -m pip install py-machineidTo obtain the raw GUID of the device, use id() -> str:
import machineid
print(machineid.id())To obtain an anonymized (hashed) version of the GUID, see below. The
hashed_id(str) -> str function takes an optional application ID,
which will ensure a unique ID per-app for the same device.
import machineid
print(machineid.hashed_id('myappid'))
print(machineid.hashed_id())Both id() and hashed_id() accept a winregistry: bool kwarg,
which can be used to disable the registry query on Windows (enabled
by default). Depending on your security posture, disabling the
registry query may help prevent machine fingerprints from
being manually modified by a bad actor.
To run tests, invoke unittest:
python3 -m unittestTo build a release, run:
python3 setup.py sdist bdist_wheelTo publish a release, run:
twine upload dist/*Special thanks to Denis Brodbeck for his Go package, machineid.