Skip to main content

🔊 Play music after jobs complete

Project description

🔊 Play sounds after shell jobs complete

ding is command-line utility that will play a sound after a long job completes.

The utility will take data that is piped into its standard inputs and pipe it to standard output. That is to say that data piped into ding will be piped right back out.

$ echo "Hello!" | ding

As a result, you can build pipelines with ding.

For example, you can download an ISO with http, visualize the progress with pv, and when it's finished, play a sound with ding.

$ export URL=""
$ http "$URL" | pv | ding > /dev/null

This project uses play_sounds, a wrapper over playsound and boombox.


You can either set the $DING environment variable to the sound you'd like to play, or supply the sound with the -s flag.

# You can run ding after a command or as part of a pipeline
$ export DING="~/Music/ding.ogg"
$ sleep 5; ding
$ echo "Hello!" | ding

This allows you to set $DING in your ~/.bashrc.

You can also specify it with a flag.

$ echo "Hello!" | ding -s ding.ogg

ding comes with a default sound that will play if neither $DING or -s are set. You can use the -w flag to show warnings if $DING or -s are not set.

$ echo "Hello!" | ding



  • A Unix shell like Bash
  • Python 3.6+
  • requirements.txt


  • GStreamer

On Ubuntu, you will need to install PyGObject, gstreamer1.0-python3-plugin-loader and python3-gst-1.0.

sudo apt install python3-gi gstreamer1.0-python3-plugin-loader python3-gst-1.0


$ python3 -m pip install onhold_ding


$ python3 -m pip install -r requirements.txt
$ python3 install



$ ding --help
Usage: ding [OPTIONS]

  Play specified sound after job is complete.

  -s, --sound_path PATH  Path to sound to play.
  -i, --ignore           Suppress warnings.
  --help                 Show this message and exit.


See LICENSE. If you'd like to use this project with a different license, please get in touch.




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

onhold-ding-0.1.0.tar.gz (3.4 kB view hashes)

Uploaded source

Built Distribution

onhold_ding-0.1.0-py2.py3-none-any.whl (15.5 kB view hashes)

Uploaded py2 py3

Supported by

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