Is there a way to do this without using smartmontools? I'd like to try to see how far I get with just Python if possible. A google search does not seem to yield too much.
Get libatasmart which is a C library, and invoke it from Python via ctypes or cffi.
Accessing SMART attributes in Linux with only Python?