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.4.tar.gz (333.8 kB view details)

Uploaded Source

Built Distribution

smartie-4.0.4-py3-none-any.whl (35.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: smartie-4.0.4.tar.gz
  • Upload date:
  • Size: 333.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.10

File hashes

Hashes for smartie-4.0.4.tar.gz
Algorithm Hash digest
SHA256 98162893c16b50379b2d4b9479587238f4305175c38947faf1e6c1bf6606d4e6
MD5 b8df6a3e137bc53373cd92ef4c1b068a
BLAKE2b-256 e3e9f4883d6027927e41d22c95e47922290e59850b4d393fab45830dd2f07d00

See more details on using hashes here.

File details

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

File metadata

  • Download URL: smartie-4.0.4-py3-none-any.whl
  • Upload date:
  • Size: 35.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.10

File hashes

Hashes for smartie-4.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 9e6732362db881916ed05315b8951cae74f5a36cff8f457edcb4cbfc2bfea33d
MD5 f34eafac1ef3bb2950ba222e814d3035
BLAKE2b-256 c0cf3a051fb4940569d52f4d3c719a5a97536069b1cf96c4337c8b917b589cb9

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