This is a pure-python, 0-dependency library for getting basic disk information such as model, serial number, disk health, temperature, and SMART data. It supports both SCSI/ATA and NVMe devices.
Read the getting started guide and API documentation at https://tkte.ch/smartie/.
SMARTie currently requires Python 3.8 or greater.
pip install smartie
If you want the command line tools, you'll also want to do:
pip install smartie[cli]
The APIs this library uses to communicate with devices typically require root (on Linux) or administrator (on Windows) access to work.
Support for drives that don't follow modern standards is still a work in progress. Open an issue.
It depends. This library is available under the MIT license and is a fun side project. I want anyone to be able to use it. Many existing projects are GPL or LGPL, so you need to avoid them when contributing to this project. Instead:
Some RAID/HBA controllers are known to work and others should as well. If you're using a RAID controller, and it doesn't work, open an issue.
RAID/HBA Adapter | OS under test | SCSI Supported | ATA Supported |
---|---|---|---|
Broadcom RAID 9440 | CentOS 8.4 | Yes | Yes |
Broadcom RAID 9560 | CentOS 8.4 | Yes | Yes |
Broadcom HBA 9500 | CentOS 8.4 | Yes | Yes |
ThinkSystem 930 | CentOS 8.4 | Yes | Yes |
ThinkSystem 940 | CentOS 8.4 | Yes | Yes |
ThinkSystem 4350 | CentOS 8.4 | Yes | Yes |
ThinkSystem 5350 | CentOS 8.4 | Yes | Yes |
Only INQUIRY
, IDENTIFY
and SMART
-related commands are tested, and
the tests use the latest driver from vendor support web. If it does not work in
your environment, open an issue. The compatibility should be same as
pydiskcmd. Find the testing methodology here.
Acronyms, acronyms everywhere! What does any of this mean?