Skip to main content

A package to play an alarm after an interval

Project description

PyBites Alarm

Play a music file or voice message after an interval of N minutes or seconds.

Install the tool

$ pip install pybites-alarm
$ alarm
usage: alarm [-h] (-s SECONDS | -m MINUTES) [-b | -d] [-l SONG_LIBRARY | -f FILE | -M MESSAGE] [-v] [-t TIMEOUT]
alarm: error: one of the arguments -s/--seconds -m/--minutes is required

Note that you'll need ffmpeg to play an alarm sound file. You'll also need libasound2-dev on Linux. On Windows you will additionally need Visual Studio tools. Currently it does not work great yet on WSL.

Usage

You can specify an interval time using seconds (-s) or minutes (-m).

By default it runs in the foreground, but on Mac/Linux (not Windows) you can run it in the background using -b.

To display the seconds countdown use -d.

There are three ways to play an alarm file:

  1. Specify one with -f.

  2. Pick a random file from your music library directory. For that use -l.

  3. Use a default file by setting ALARM_MUSIC_FILE in .env, for example:

    $ cat .env
    ALARM_MUSIC_FILE=/Users/bbelderbos/Music/alarm.mp4
    

It can be confusing when a music file plays so since 0.0.4 you can play a voice message instead using -M (--message).

For example:

alarm -M "stand up for a walk" -m 20 -b

A voice repeats "stand up for a walk" three times after 20 minutes. Pretty useful for programmers :)

Note that we have a PR open with apg to hide the tqdm progress bar that shows with the -M option.

For long alarm files you can set a timeout to stop the alarm after N seconds using the t (--timeout) switch.


Here are all the supported options again:

$ alarm -h
usage: alarm [-h] (-s SECONDS | -m MINUTES) [-b | -d] [-l SONG_LIBRARY | -f FILE | -M MESSAGE] [-v] [-t TIMEOUT]

Play an alarm after N minutes

optional arguments:
  -h, --help            show this help message and exit
  -s SECONDS, --seconds SECONDS
                        Number of seconds before playing alarm (default: None)
  -m MINUTES, --minutes MINUTES
                        Number of minutes before playing alarm (default: None)
  -b, --background      Run timer in the background (default: False)
  -d, --display_timer   Show timer in console (default: False)
  -l SONG_LIBRARY, --song_library SONG_LIBRARY
                        Take a random song from a song library directory, supported formats: .mp3, .mp4, .wav (default: None)
  -f FILE, --file FILE  File path to song to play as alarm (default: None)
  -M MESSAGE, --message MESSAGE
                        Set an audio message to play for alarm (default: None)
  -v, --version         show program's version number and exit
  -t TIMEOUT, --timeout TIMEOUT

Again the -b option is not available on Windows, although it seems you can get that working with:

start /b alarm -s 3 -f test.mp3

This backgrounds a process on windows and CTRL + BREAK/SCRLLCK kills it. Or use the -t option, e.g. start /b alarm -s 3 -f test.mp3 -t 20 (thanks Lee!)

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

pybites-alarm-0.0.5.1.tar.gz (4.9 kB view details)

Uploaded Source

Built Distribution

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

pybites_alarm-0.0.5.1-py3-none-any.whl (7.7 kB view details)

Uploaded Python 3

File details

Details for the file pybites-alarm-0.0.5.1.tar.gz.

File metadata

  • Download URL: pybites-alarm-0.0.5.1.tar.gz
  • Upload date:
  • Size: 4.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for pybites-alarm-0.0.5.1.tar.gz
Algorithm Hash digest
SHA256 99911c0ca0e0ead2477c771be99b065db320b567091d84cefc81a47525c2398f
MD5 0dccaaa835fc896396e472113c977ade
BLAKE2b-256 1da92388ed54847d823b1a11fcfb50178df779ff3007137d924ae5e621e6ca6c

See more details on using hashes here.

File details

Details for the file pybites_alarm-0.0.5.1-py3-none-any.whl.

File metadata

  • Download URL: pybites_alarm-0.0.5.1-py3-none-any.whl
  • Upload date:
  • Size: 7.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for pybites_alarm-0.0.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d537ddc078162723295137c2267198956fba8af45050526b5aabcdef79138798
MD5 d385337dc9fc228f7b5ae72e17ad17e3
BLAKE2b-256 0a54b4c98ad2ba20db3974918da6c89a0232c28c8f6897d48a07c9f2c7a32e67

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