Skip to main content

Zero-Code automatic notifications for long-running Python scripts.

Project description

pynotify-auto

PyPI version Build Status License: MIT Python Versions

Zero-Code automatic notifications for any long-running Python script.

Stop babysitting your terminal. Whether you're training models, processing datasets, or running complex simulations, pynotify-auto pings you the moment your task is done—so you can focus on what matters.

Why use this?

Traditional notification libraries require you to manually add decorators or extra lines of code to every script. pynotify-auto is different: it works automatically for every script in your environment.

  • No Code Changes: Install once, and it works for all your scripts.
  • Smart Filtering: It stays quiet for quick tasks and only alerts you for the ones that actually take time.
  • Immediate Feedback: Know exactly when your process finishes or fails, even if you're in another room.

Features

  • Zero-Code Integration: Works automatically across your entire system/environment.
  • Smart Thresholding: Only pings if the script ran for a meaningful amount of time (default > 5s).
  • Cross-Platform: Works on Windows, macOS, and Linux.
  • Configurable: Change the threshold or disable it via environment variables.

Installation

Via Pip

pip install pynotify-auto

[!TIP] Conda & Virtual Environments: Always install this library while your environment is active. If you find that notifications aren't working, run: pip install pynotify-auto --no-user --force-reinstall This ensures the hook is installed inside your isolated environment.

Examples

Using Environment Variables

You can customize the behavior on the fly without changing any code:

# Only get a sound notification (no popup)
export PYNOTIFY_MODE=sound
python training.py

# Only notify if script takes longer than 10 minutes
export PYNOTIFY_THRESHOLD=600
python long_process.py

# Temporarily disable notifications for a specific run
PYNOTIFY_DISABLE=1 python quick_test.py

Using the Command Line (CLI)

Test your settings or check your configuration directly from the terminal:

# Trigger a test notification to see it in action
pynotify-auto --test

# Show your current settings (Mode, Threshold, Status)
pynotify-auto --info

License

MIT

Contributing

I'm open to contributions! Feel free to fork the repo and open a PR if you have bug fixes or new notification backends (Slack, Discord, etc.) you'd like to add.

Check the comprehensive test suite for examples on how to run tests locally.

Project details


Download files

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

Source Distribution

pynotify_auto-0.3.0.tar.gz (9.7 kB view details)

Uploaded Source

Built Distribution

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

pynotify_auto-0.3.0-py3-none-any.whl (7.6 kB view details)

Uploaded Python 3

File details

Details for the file pynotify_auto-0.3.0.tar.gz.

File metadata

  • Download URL: pynotify_auto-0.3.0.tar.gz
  • Upload date:
  • Size: 9.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pynotify_auto-0.3.0.tar.gz
Algorithm Hash digest
SHA256 529182d3444ce9d07e1b91ffb394961bc4bda4b8901c7f18da7903c184c82550
MD5 67104b3f5f026c63878c31a9255f2256
BLAKE2b-256 4faef41847509dc0cd005c4bbad5507699e347900d9c59f78230ff596d9d6132

See more details on using hashes here.

File details

Details for the file pynotify_auto-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: pynotify_auto-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 7.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pynotify_auto-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ee38e4b9921c7d1b453b107ece8981d61145ee7675724a8b21250ef4b9ef7522
MD5 c2a33fbace292a585c21349087eaf544
BLAKE2b-256 06a64f065408e4582fb55cf85c458367e090bed542f8d358c87ba4347eba25eb

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