Decodes the info encoded in HDD model names.
  • Python 99.3%
  • Shell 0.7%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2023-10-11 03:49:34 +03:00
.ci Initial commit 2023-10-11 03:49:34 +03:00
.github Initial commit 2023-10-11 03:49:34 +03:00
dataset Initial commit 2023-10-11 03:49:34 +03:00
HDDModelDecoder Initial commit 2023-10-11 03:49:34 +03:00
learn Initial commit 2023-10-11 03:49:34 +03:00
tests Initial commit 2023-10-11 03:49:34 +03:00
.editorconfig Initial commit 2023-10-11 03:49:34 +03:00
.gitattributes Initial commit 2023-10-11 03:49:34 +03:00
.gitignore Initial commit 2023-10-11 03:49:34 +03:00
.gitlab-ci.yml Initial commit 2023-10-11 03:49:34 +03:00
Code_Of_Conduct.md Initial commit 2023-10-11 03:49:34 +03:00
HDDModelDecoder_Logo.svg Initial commit 2023-10-11 03:49:34 +03:00
MANIFEST.in Initial commit 2023-10-11 03:49:34 +03:00
pyproject.toml Initial commit 2023-10-11 03:49:34 +03:00
ReadMe.md Initial commit 2023-10-11 03:49:34 +03:00
UNLICENSE Initial commit 2023-10-11 03:49:34 +03:00

HDDModelDecoder.py Unlicensed work

GitLab Build Status GitLab Coverage Libraries.io Status Code style: antiflash

Logo

wheels:

Decodes info hidden in HDD model names.

print(HDDModelDecoder.decodeModel("ST4000DM004")) # {'vendor': 'Seagate', 'capacity': 4000, 'segment': 'Mainstream', 'attributes': '004'}
print(HDDModelDecoder.decodeModel("ST1000VX000")) # {'vendor': 'Seagate', 'capacity': 1000, 'segment': 'Surveillance', 'attributes': '000'}
print(HDDModelDecoder.decodeModel("ST500LM030")) # {'vendor': 'Seagate', 'capacity': 500, 'segment': 'Laptop Mainstream', 'attributes': '030'}
print(HDDModelDecoder.decodeModel("ST4000DM005")) # {'vendor': 'Seagate', 'capacity': 4000, 'segment': 'Mainstream', 'attributes': '005'}
print(HDDModelDecoder.decodeModel("ST95005620AS")) # {'vendor': 'Seagate', 'form_factor': {'form_factor': 2.5, 'height': 0.748}, 'capacity': 5005.62 (WRONG!), 'interface': 'SATA'}

print(HDDModelDecoder.decodeModel("HDN724040ALE640")) # {'vendor': 'HGST', 'family': 'Deskstar', 'series': 'NAS', 'rpm': 7200, 'top_capacity': 4000, 'capacity': 4000, 'generation_code': 'A', 'height': 1, 'interface': {'interface': 'SATA', 'speed': 6}, 'feature_code': '4', 'buffer_size': 64, 'data_security_mode': 'Instant Secure Erase'}
print(HDDModelDecoder.decodeModel("HDN724030ALE640")) # {'vendor': 'HGST', 'family': 'Deskstar', 'series': 'NAS', 'rpm': 7200, 'top_capacity': 4000, 'capacity': 3000, 'generation_code': 'A', 'height': 1, 'interface': {'interface': 'SATA', 'speed': 6}, 'feature_code': '4', 'buffer_size': 64, 'data_security_mode': 'Instant Secure Erase'}
print(HDDModelDecoder.decodeModel("HTS721010A9E630")) # {'vendor': 'HGST', 'family': 'Travelstar', 'series': 'Standard', 'rpm': 7200, 'top_capacity': 1000, 'capacity': 1000, 'generation_code': 'A', 'height': 0.374, 'interface': {'interface': 'SATA', 'speed': 6}, 'feature_code': '3', 'buffer_size': 32, 'data_security_mode': 'Instant Secure Erase'}
print(HDDModelDecoder.decodeModel("HTE721010A9E630")) # {'vendor': 'HGST', 'family': 'Travelstar', 'series': 'Enhanced Availability', 'rpm': 7200, 'top_capacity': 1000, 'capacity': 1000, 'generation_code': 'A', 'height': 0.374, 'interface': {'interface': 'SATA', 'speed': 6}, 'feature_code': '3', 'buffer_size': 32, 'data_security_mode': 'Instant Secure Erase'}
print(HDDModelDecoder.decodeModel("HUS726060ALE614")) # {'vendor': 'HGST', 'family': 'Ultrastar', 'series': 'Standard', 'rpm': 7200, 'top_capacity': 6000, 'capacity': 6000, 'generation_code': 'A', 'height': 1, 'interface': {'interface': 'SATA', 'speed': 6}, 'feature_code': '1', 'data_security_mode': 'Secure Erase (overwrite only)'}
print(HDDModelDecoder.decodeModel("HDP725025GLA380")) # {'vendor': 'HGST', 'family': 'Deskstar', 'series': 'P Series', 'rpm': 7200, 'top_capacity': 5000, 'capacity': 2500, 'generation_code': 'G', 'height': 1, 'interface': {'interface': 'SATA', 'speed': 3}, 'feature_code': '8', 'buffer_size': 8, 'data_security_mode': 'Instant Secure Erase'}

Sources of information

Dependencies

  • Optionally xgboost Licence PyPi Status TravisCI Build Status Libraries.io Status Gitter.im, if you want non-HGST WD drives series.

Building

For building with ML you will also need