Skip to main content

A pure-python S.M.A.R.T library.

Project description

SMARTie logo

SMARTie

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.

Documentation

Read the getting started guide and API documentation at https://tkte.ch/smartie/.

Installation

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]

FAQ

This library isn't returning any of my drives?

The APIs this library uses to communicate with devices typically require root (on Linux) or administrator (on Windows) access to work.

My drive doesn't work with this library?

Support for drives that don't follow modern standards is still a work in progress. Open an issue.

Library Y does X, can I copy that code?

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:

  • Use the specifications or vendor documentation whenever possible.
  • Use the SG_IO documentation by Danny (https://sg.danny.cz/sg/).
  • Use the conversations in mailing lists and bug trackers, while avoiding the code.

Does this library support RAID controllers?

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.

ATA, ATAPI, SCSI, NVMe, what?

Acronyms, acronyms everywhere! What does any of this mean?

  • ATA: Advanced Technology Attachment.
  • ATAPI: AT Attachment Packet Interface.
  • SCSI: Small Computer System Interface.
  • NVMe: Non-Volatile Memory Express. The standard for connecting "modern" solid-state drives to a computer, typically through PCI-e.
  • SATA: Serial ATA.
  • PATA: Parallel ATA.
  • S.M.A.R.T: Self-Monitoring, Analysis, and Reporting Technology. A standard for hard drives and solid-state drives to report their health and status.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

smartie-4.0.3.tar.gz (24.5 kB view details)

Uploaded Source

Built Distribution

smartie-4.0.3-py3-none-any.whl (29.3 kB view details)

Uploaded Python 3

File details

Details for the file smartie-4.0.3.tar.gz.

File metadata

  • Download URL: smartie-4.0.3.tar.gz
  • Upload date:
  • Size: 24.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for smartie-4.0.3.tar.gz
Algorithm Hash digest
SHA256 c73688c9edf6a6d9cc348ecd9297895949b1035ca06500f881ee42517ffc899d
MD5 2d56557d76530467a7615904ef8f89b1
BLAKE2b-256 2b47fb8a0da6422d9a822adfad4de98523bb377ced960afd311a0802bcf70215

See more details on using hashes here.

File details

Details for the file smartie-4.0.3-py3-none-any.whl.

File metadata

  • Download URL: smartie-4.0.3-py3-none-any.whl
  • Upload date:
  • Size: 29.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for smartie-4.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 e16347a9390b6d1df5c1d14dbdddd0bda52ada9c7baf07f7a46f16fd61e8a927
MD5 21a9cab56330c1373932ec8bea0928f0
BLAKE2b-256 8ec9ca9ca3753bfec2cf60a0b38c671cc49fc841f145958bc81d332aab72e23e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page