Get the unique machine ID of any host (without admin privileges)
Project description
py-machineid
Get the unique machine ID of any host (without admin privileges).
Sponsored by:
An open, source-available software licensing and distribution API.
Install
Install using pip
:
python3 -m pip install py-machineid
Usage
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.
Testing
To run tests, invoke unittest
:
python3 -m unittest
Building
To build a release, run:
python3 setup.py sdist bdist_wheel
Publishing
To publish a release, run:
twine upload dist/*
Thanks
Special thanks to Denis Brodbeck for his Go package, machineid
.
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 Distribution
Built Distribution
Hashes for py_machineid-0.6.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 63214f8a98737311716b29d279716dc121a6495f16486caf5c032433f81cdfd6 |
|
MD5 | e0fd5a7b09eb4d555f04d9222e34547a |
|
BLAKE2b-256 | cb541f146aed749192d1638fc6878dee444189e8873861e340f8a3ffe15b16f3 |