Skip to main content

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.

Metadata

Release files for smartie 4.0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for smartie 4.0.4
File Size Uploaded Provenance Actions
smartie-4.0.4.tar.gz 333.8 kB Without provenance Details for smartie-4.0.4.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for smartie 4.0.4
File Interpreter ABI Platform Actions
smartie-4.0.4-py3-none-any.whl Python 3 none any Details for smartie-4.0.4-py3-none-any.whl

Total release size: 369.2 kB

Release files / smartie-4.0.4.tar.gz

Download URL smartie-4.0.4.tar.gz
Size 333.8 kB
Tags Source
SHA-256 checksum
How to use checksums
98162893c16b50379b2d4b9479587238f4305175c38947faf1e6c1bf6606d4e6
BLAKE2b-256 checksum
How to use checksums
e3e9f4883d6027927e41d22c95e47922290e59850b4d393fab45830dd2f07d00
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.11.10

Release files / smartie-4.0.4-py3-none-any.whl

Download URL smartie-4.0.4-py3-none-any.whl
Size 35.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9e6732362db881916ed05315b8951cae74f5a36cff8f457edcb4cbfc2bfea33d
BLAKE2b-256 checksum
How to use checksums
c0cf3a051fb4940569d52f4d3c719a5a97536069b1cf96c4337c8b917b589cb9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.11.10

Security for smartie 4.0.4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page