All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- GitHub actions updated to the latest version in worflow file, a new token is created for codecov.
- Issue #6 : exception raised if partition information is missing for an USB HDD
- A new encoding parameter has been added to Disk.init() and file utility methods to let user specify the proper encoding for file and string operations.
- Encoding and parsing issues in partition data have been fixed (reported in issue #5):
- Partition mounting point containing space character was displayed improperly in the demo
- Partition label containing non-ascii character was displayed improperly in the demo
- The demo won't stop if a disk does not have temperature (e.g. USB pendrive)
- pySMART library used in the refactored
Disk.get_temperature()
andDisk.get_smart_data()
methods - New attributed added for
NvmeAttributes()
class - New attributed added for
DiskSmartData()
class
- support of Python 3.7 removed
- LOOP disks handled without problems
Disk.get_smart_data()
can be executed on a wider range of hard disks and SSDs without problems
- New chapter for explaining the use of
create_python_env.sh
create_python_env.sh
: better error handling for non-exiting Python version
- Copyright updated.
- New version number is required for new PyPI release (release 2.1.0 was deleted on PyPI)
- Support for Python 3.11 and 3.12
- A new bash script added to create a virtual Python environment and install all dependencies.
- Documentation is updated
- Dependency management: requirement files for
pip
are using maximal version numbers - Flake8 removed
- In case of loop disks,
Disk.get_temperature()
method did not work and the demo stopped. Better error handling added while loop devices will be fully supported.
- New
Partition
class added to hold partition data get_partition_list()
method ofDisk
class returns the list of partitions- New utility functions are available,
size_in_hrf()
andtime_in_hrf()
, to display size and time in human-readable form - Demo has been extended with two additional screens (disk attributes, partition data)
- Documentation has been improved and updated for the new functionality
- Unit tests has been extended to cover the new functionality
- Demo cannot be executed without
rich
Python library
pytest
coverage measurement and upload to codecov fixed
- Documentation extended with examples for all functions.
pyproject.toml
configuration file used for all tools
- A new method, called
get_smart_data()
, has been implemented inDisk
class. It returns the SMART data of the disk (feature request in issue #3 implemented). Additional classes have been defined for SMART data:DiskSmartData()
,SmartAttribute()
,NvmeAttributes()
. - Documentation, unit tests have been updated
- Python 3.6 has been removed from list of the supported Python versions because the package building and isnallation is not working here.
- A new method, called
get_temperature()
, has been implemented inDisk
class. It returns the temperature of the disk (feature request in issue #2 implemented). - Documentation, unit tests have been updated
- PyPI package version number fixed
First official release
- Planned functionality implemented
- Unit tests are implemented, coverage is 100%, connected to codecov.io
- The code is linted with
flake8
andpylint
- API documentation is created and published on readthedocs.io
- Python distribution package is published on PyPI
- Github workflows are implemented to automate testing and package publishing