![SMARTie logo](misc/logo-sm.png)
# 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][testingpdc].
### 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.
[ATA]: https://en.wikipedia.org/wiki/ATA
[ATAPI]: https://en.wikipedia.org/wiki/ATAPI
[SCSI]: https://en.wikipedia.org/wiki/SCSI
[NVMe]: https://en.wikipedia.org/wiki/NVMe
[PCI-e]: https://en.wikipedia.org/wiki/PCI_Express
[SATA]: https://en.wikipedia.org/wiki/SATA
[PATA]: https://en.wikipedia.org/wiki/Parallel_ATA
[S.M.A.R.T]: https://en.wikipedia.org/wiki/S.M.A.R.T.
[phm]: https://github.com/TkTech/PortableHardwareMonitor
[issue]: https://github.com/TkTech/smartie/issues/new.
[pydiskcmd]: https://github.com/jackeichen/pydiskcmd?tab=readme-ov-file#raidhba-support
[testingpdc]: https://github.com/jackeichen/pydiskcmd/blob/main/raid_support_matrix_with_smartie.txt
Raw data
{
"_id": null,
"home_page": null,
"name": "smartie",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.8",
"maintainer_email": null,
"keywords": "sensors, smart, hardware, monitor",
"author": "Tyler Kennedy",
"author_email": "tk@tkte.ch",
"download_url": "https://files.pythonhosted.org/packages/2b/47/fb8a0da6422d9a822adfad4de98523bb377ced960afd311a0802bcf70215/smartie-4.0.3.tar.gz",
"platform": null,
"description": "![SMARTie logo](misc/logo-sm.png)\n\n# SMARTie\n\nThis is a pure-python, 0-dependency library for getting basic disk information\nsuch as model, serial number, disk health, temperature, and SMART data. It\nsupports both SCSI/ATA and NVMe devices.\n\n## Documentation\n\nRead the getting started guide and API documentation at\nhttps://tkte.ch/smartie/.\n\n## Installation\nSMARTie currently requires Python 3.8 or greater.\n\n```\npip install smartie\n```\n\nIf you want the command line tools, you'll also want to do:\n\n```\npip install smartie[cli]\n```\n\n## FAQ\n\n### This library isn't returning any of my drives?\n\nThe APIs this library uses to communicate with devices typically require\nroot (on Linux) or administrator (on Windows) access to work.\n\n### My drive doesn't work with this library?\n\nSupport for drives that don't follow modern standards is still a work in\nprogress. Open an [issue][].\n\n### Library Y does X, can I copy that code?\n\n**It depends.** This library is available under the MIT license and is a fun side\nproject. I want anyone to be able to use it. Many existing projects are GPL or\nLGPL, so you need to avoid them when contributing to this project. Instead:\n\n- Use the specifications or vendor documentation whenever possible.\n- Use the SG_IO documentation by Danny (https://sg.danny.cz/sg/).\n- Use the _conversations_ in mailing lists and bug trackers, while avoiding the\n code.\n\n### Does this library support RAID controllers?\n\nSome RAID/HBA controllers are known to work and others should as well. If\nyou're using a RAID controller, and it doesn't work, open an [issue][].\n\n| RAID/HBA Adapter | OS under test| SCSI Supported | ATA Supported |\n|--------------------|--------------|----------------|---------------|\n| Broadcom RAID 9440 | CentOS 8.4 | Yes | Yes |\n| Broadcom RAID 9560 | CentOS 8.4 | Yes | Yes |\n| Broadcom HBA 9500 | CentOS 8.4 | Yes | Yes |\n| ThinkSystem 930 | CentOS 8.4 | Yes | Yes |\n| ThinkSystem 940 | CentOS 8.4 | Yes | Yes |\n| ThinkSystem 4350 | CentOS 8.4 | Yes | Yes |\n| ThinkSystem 5350 | CentOS 8.4 | Yes | Yes |\n\nOnly ``INQUIRY``, ``IDENTIFY`` and ``SMART``-related commands are tested, and\nthe tests use the latest driver from vendor support web. If it does not work in\nyour environment, open an [issue][]. The compatibility should be same as\n[pydiskcmd][]. Find the testing methodology [here][testingpdc].\n\n### ATA, ATAPI, SCSI, NVMe, what?\n\nAcronyms, acronyms everywhere! What does any of this mean?\n\n- [ATA]: Advanced Technology Attachment.\n- [ATAPI]: AT Attachment Packet Interface.\n- [SCSI]: Small Computer System Interface. \n- [NVMe]: Non-Volatile Memory Express. The standard for connecting \"modern\" solid-state\n drives to a computer, typically through [PCI-e].\n- [SATA]: Serial ATA. \n- [PATA]: Parallel ATA.\n- [S.M.A.R.T]: Self-Monitoring, Analysis, and Reporting Technology. A standard for\n hard drives and solid-state drives to report their health and status.\n\n[ATA]: https://en.wikipedia.org/wiki/ATA\n[ATAPI]: https://en.wikipedia.org/wiki/ATAPI\n[SCSI]: https://en.wikipedia.org/wiki/SCSI\n[NVMe]: https://en.wikipedia.org/wiki/NVMe\n[PCI-e]: https://en.wikipedia.org/wiki/PCI_Express\n[SATA]: https://en.wikipedia.org/wiki/SATA\n[PATA]: https://en.wikipedia.org/wiki/Parallel_ATA\n[S.M.A.R.T]: https://en.wikipedia.org/wiki/S.M.A.R.T.\n[phm]: https://github.com/TkTech/PortableHardwareMonitor\n[issue]: https://github.com/TkTech/smartie/issues/new.\n[pydiskcmd]: https://github.com/jackeichen/pydiskcmd?tab=readme-ov-file#raidhba-support\n[testingpdc]: https://github.com/jackeichen/pydiskcmd/blob/main/raid_support_matrix_with_smartie.txt\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A pure-python S.M.A.R.T library.",
"version": "4.0.3",
"project_urls": {
"Bug Tracker": "https://github.com/TkTech/smartie/issues"
},
"split_keywords": [
"sensors",
" smart",
" hardware",
" monitor"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "8ec9ca9ca3753bfec2cf60a0b38c671cc49fc841f145958bc81d332aab72e23e",
"md5": "21a9cab56330c1373932ec8bea0928f0",
"sha256": "e16347a9390b6d1df5c1d14dbdddd0bda52ada9c7baf07f7a46f16fd61e8a927"
},
"downloads": -1,
"filename": "smartie-4.0.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "21a9cab56330c1373932ec8bea0928f0",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.8",
"size": 29316,
"upload_time": "2024-06-18T06:50:58",
"upload_time_iso_8601": "2024-06-18T06:50:58.364211Z",
"url": "https://files.pythonhosted.org/packages/8e/c9/ca9ca3753bfec2cf60a0b38c671cc49fc841f145958bc81d332aab72e23e/smartie-4.0.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2b47fb8a0da6422d9a822adfad4de98523bb377ced960afd311a0802bcf70215",
"md5": "2d56557d76530467a7615904ef8f89b1",
"sha256": "c73688c9edf6a6d9cc348ecd9297895949b1035ca06500f881ee42517ffc899d"
},
"downloads": -1,
"filename": "smartie-4.0.3.tar.gz",
"has_sig": false,
"md5_digest": "2d56557d76530467a7615904ef8f89b1",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.8",
"size": 24452,
"upload_time": "2024-06-18T06:50:59",
"upload_time_iso_8601": "2024-06-18T06:50:59.597767Z",
"url": "https://files.pythonhosted.org/packages/2b/47/fb8a0da6422d9a822adfad4de98523bb377ced960afd311a0802bcf70215/smartie-4.0.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-06-18 06:50:59",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "TkTech",
"github_project": "smartie",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "smartie"
}