Skip to main content

A utility for sending push notifications

Project description

Version Downloads Docs Build Coverage

ntfy is a command line utility (and to a degree, python library) for sending push notifications. It also can send a notification when a program finishes.

Unlike many existing utilities for Pushover or Pushbullet, it supports multiple backends.

Demo

https://raw.githubusercontent.com/dschep/ntfy/master/docs/demo.gif

Install

sudo pip install ntfy

Note: It is suggested to globally (as indicated above, without a virtualenv) install ntfy. It can be installed in a virtualenv, with caveats. Linux notifications requires --system-site-packages to be used and OS X notifications don’t work at all.

Emoji Support :tada:

ntfy features emoji support, it is installable as an extra, just install like this:

sudo pip install ntfy[emoji]

XMPP Support

The xmpp module requires sleekxmpp. To install this extra install ntfy like this:

sudo pip install ntfy[xmpp]

Usage

# send a notification
ntfy send "Here's a notification!"

# send a notification with custom title (default is $USER@$HOST:$PWD)
ntfy -t 'ntfy' send "Here's a notification with a custom title!"

# send a notification when the command `sleep 10` finishes
# this send the message '"sleep 10" succeeded in 0:10 minutes'
ntfy done sleep 10

Shell integration

ntfy has support for automatically sending notifications when long running commands finish in bash and zsh. In bash it emulates zsh’s preexec and precmd functionality with rcaloras/bash-preexec. To enable it add the following to your .bashrc or .zshrc:

eval "$(ntfy shell-integration)"

By default it will only send notifications for commands lasting longer than 10 seconds. This can be configured with the AUTO_NTFY_DONE_TIMEOUT environment variable.

To avoid unnecessary notifications when running interactive programs programs listed in AUTO_NTFY_DONE_IGNORE don’t generate notifications. for example:

export AUTO_NTFY_DONE_IGNORE="vim screen meld"

Backends

Supported

  • Pushover

  • Pushbullet

  • XMPP

  • Linux Desktop Notifications

  • Windows Desktop Notifications

  • Mac OS X Notification Center

ToDo

Configuring ntfy

ntfy is configured with a YAML file stored at ~/.ntfy.yml

Backends

The backends key specifies what backends to use by default. Each backend has it’s own configuration, stored in a key of it’s own name. For example:

---
backends:
    - pushover
    - linux
pushover:
    user_key: hunter2
pushbullet:
    access_token: hunter2

Note: versions prior to v1.0.0 used JSON instead of YAML.

The available backends are in ntfy.backends, include only the module name in your config (eg: pushbullet not ntfy.backends.pushbullet).

Testing

python setup.py test

Contributors

  • dschep - Maintainer & Lead Developer

  • danryder - XMPP Backend & emoji support

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

ntfy-1.2.0.tar.gz (41.5 kB view details)

Uploaded Source

Built Distribution

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

ntfy-1.2.0-py2.py3-none-any.whl (30.2 kB view details)

Uploaded Python 2Python 3

File details

Details for the file ntfy-1.2.0.tar.gz.

File metadata

  • Download URL: ntfy-1.2.0.tar.gz
  • Upload date:
  • Size: 41.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for ntfy-1.2.0.tar.gz
Algorithm Hash digest
SHA256 f28eca666ee18fd53752deed4490c5bea1b3cb4ce3f0f46e334f750c4cff99d1
MD5 26b1745c4bd4e64c77647220fefc3b2c
BLAKE2b-256 d2c2d7d98f23f2ddbcb72177dee1878a34380b8ab082ceaecd43f274ddd662db

See more details on using hashes here.

File details

Details for the file ntfy-1.2.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for ntfy-1.2.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 3c5fd3de6680d56e5189e191a09e0fde6c3d409dc9c0da84b628b6856f54f456
MD5 7abf6b3041e9d7e77abea34cfba113e0
BLAKE2b-256 039004136664598f3ef122015e2329753c2c31bc5bb92867a649edd21e044fc2

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