Skip to main content

PyUdisk

PyUdisk is a python module to generate S.M.A.R.T metrics for all drives/partitions on a host machine.

Python

Platform

pypi

Pypi Pypi-format Pypi-status

Installation

Recommendations

  • Install python [3.10] or [3.11]
  • Use a dedicated [virtual environment]

For monitoring and reporting, use

pip install PyUdisk[standard]

For basic functionality, use

pip install PyUdisk

Usage

IDE

import pyudisk

if __name__ == '__main__':
    for metric in pyudisk.smart_metrics():
        print(metric)

CLI

pyudisk start

Use pyudisk --help for usage instructions.

Environment Variables

Sourcing environment variables from an env file

By default, PyUdisk will look for a .env file in the current working directory.

  • SMART_LIB: Path to the S.M.A.R.T CLI library. Uses udisksctl for Linux and smartctl for macOS/Windows.
  • DISK_LIB: Path to disk util library. Uses lsblk for Linux, diskutil for macOS, and pwsh for Windows.
  • METRICS: List of metrics to monitor. Default: []
  • GMAIL_USER: Gmail username to authenticate SMTP library.
  • GMAIL_PASS: Gmail password to authenticate SMTP library.
  • RECIPIENT: Email recipient for email notifications.
  • PHONE: Phone number for SMS notifications.
  • NTFY_URL: URL for Ntfy notifications.
  • NTFY_TOPIC: Topic for Ntfy notifications.
  • NTFY_USERNAME: Username for Ntfy notifications.
  • NTFY_PASSWORD: Password for Ntfy notifications.
  • TELEGRAM_BOT_TOKEN: Telegram bot token for Telegram notifications.
  • TELEGRAM_CHAT_ID: Telegram chat ID for Telegram notifications.
  • TELEGRAM_THREAD_ID: Telegram thread ID for Telegram notifications.
  • DISK_REPORT: Boolean flag to send disk report via email.
  • REPORT_DIR: Directory to save disk reports. Default: report
  • REPORT_FILE: Filename for disk reports. Default format: disk_report_%m-%d-%Y_%I:%M_%p.html

Release Notes

Requirement

python -m pip install gitverse

Usage

gitverse-release reverse -f release_notes.rst -t 'Release Notes'

Linting

pre-commit will ensure linting

Requirement

python -m pip install pre-commit

Usage

pre-commit run --all-files

Pypi Package

pypi-module

https://pypi.org/project/PyUdisk/

© Vignesh Rao

Licensed under the MIT License

Metadata

Release files for PyUdisk 2.0.21

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

Built distribution (wheel)

Table of built distributions (wheels) for PyUdisk 2.0.21
File Interpreter ABI Platform
pyudisk-2.0.21-py3-none-any.whl Python 3 none any Details

Release files / pyudisk-2.0.21-py3-none-any.whl

Download URL pyudisk-2.0.21-py3-none-any.whl
Size 25.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0154c086f427eaa1ae961d0bc852ab2f7ab168ca16694eded790e5f5931f21c8
BLAKE2b-256 checksum
How to use checksums
7bebb4994328763caef4f2f29cc66afd16a152eaf58b1cc6aab2d8c2773d6208
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.0rc1

Release history Release notifications | RSS feed

This release

2.0.21 This release

1 release file

2.0.2

1 release file

2.0.1

1 release file

2.0.0

1 release file

1.1.0

1 release file

0.3.1

1 release file

0.3.0

1 release file

0.2.2

1 release file

0.2.1

1 release file

0.2.0

1 release file

0.1.1

1 release file

0.1.0

1 release file

0.0.3

1 release file

0.0.2

1 release file

0.0.1

1 release file

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