Skip to main content

Extensive disk monitor for Linux OS

Project description

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/

License & copyright

© Vignesh Rao

Licensed under the MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

PyUdisk-2.0.1-py3-none-any.whl (25.0 kB view details)

Uploaded Python 3

File details

Details for the file PyUdisk-2.0.1-py3-none-any.whl.

File metadata

  • Download URL: PyUdisk-2.0.1-py3-none-any.whl
  • Upload date:
  • Size: 25.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.14

File hashes

Hashes for PyUdisk-2.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e10354cd79a09730e243a1c6957486702d71a627138ca8e2e84fe159101d0562
MD5 635e48a2948d40f0784c37ec61133745
BLAKE2b-256 89632d8bb8f0d347f80b02fe295e090c8c6f7541f566a90ef0d635e3167cde3a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page