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-machineid
To 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 unittest
To build a release, run:
python3 setup.py sdist bdist_wheel
To publish a release, run:
twine upload dist/*
Special thanks to Denis Brodbeck for his Go package, machineid
.