Skip to main content

The simplest Pushover API wrapper for Python.

Project description

https://img.shields.io/pypi/status/pullover.svg https://img.shields.io/pypi/v/pullover.svg https://img.shields.io/pypi/pyversions/pullover.svg https://readthedocs.org/projects/pullover/badge/?version=latest https://travis-ci.org/gebn/pullover.svg?branch=master https://coveralls.io/repos/github/gebn/pullover/badge.svg?branch=master

The simplest Pushover API wrapper for Python.

Features

  • No extraneous requests - just sends non-emergency messages quickly and without fuss

  • Aims to get the basics right, and be open to extension for more advanced use cases

  • Timeouts and automatic back-off should Pushover be experiencing issues

  • Intuitive command-line interface with sane, parseable output

  • Unit and integration tested

  • Signed PyPi releases

Limitations

Pullover does not support:

  • Anything other than sending messages

  • Sending messages to a subset of a user’s devices

  • Emergency messages

  • Customising the notification sound

If you need one of these, I’d recommend using Karan Lyons’s Chump wrapper.

Installation

$ pip install pullover

Module

The following code snippets demonstrate the main features of pullover. For an exhaustive guide, see the documentation.

High-level

import pullover

response = pullover.send('message', 'user key', 'app token')
if response.ok:
    print(response.id)  # 647d2300-702c-4b38-8b2f-d56326ae460b

Low-level

from pullover import Application, User, Message, ClientSendError, \
    ServerSendError

try:
    aws = Application('app token')
    george = User('user key')
    message = Message('message', title='hello')
    response = message.send(aws, george)
    response.raise_for_status()
    print(response.id)  # 647d2300-702c-4b38-8b2f-d56326ae460b
except ClientSendError as e:
    # it was our fault
    print(e.status, e.errors)
except ServerSendError:
    # Pushover is having issues
    print(e.response.text)

CLI

The CLI supports the same functionality as the library.

$ pullover -a <app_token> -u <user_key> hello!
647d2300-702c-4b38-8b2f-d56326ae460b
$ export PUSHOVER_APP_TOKEN=token
$ export PUSHOVER_USER_KEY=key
$ pullover hello!
647d2300-702c-4b38-8b2f-d56326ae460b
$ pullover --help
usage: pullover [-h] [-V] [-v] -a APP -u USER [-p PRIORITY] [-t TITLE]
                [--timestamp TIMESTAMP] [--url URL] [--url-title URL_TITLE]
                message

The simplest Pushover API wrapper for Python.

positional arguments:
  message               the message content to send

optional arguments:
  -h, --help            show this help message and exit
  -V, --version         show program's version number and exit
  -v, --verbosity       increase output verbosity
  -a APP, --app APP     the application token to send from; defaults to
                        PUSHOVER_APP_TOKEN
  -u USER, --user USER  the user key to send to; defaults to PUSHOVER_USER_KEY
  -p PRIORITY, --priority PRIORITY
                        the priority of the message, either an integer or
                        string (e.g. '0' or 'normal')
  -t TITLE, --title TITLE
                        the title of the message; defaults to the name of the
                        sending application
  --timestamp TIMESTAMP
                        the timestamp of the message, in ISO 8601 format;
                        defaults to now
  --url URL             a url to include in footer of the message
  --url-title URL_TITLE
                        the URL title; requires --url

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

pullover-1.1.0.tar.gz (14.6 kB view details)

Uploaded Source

Built Distribution

pullover-1.1.0-py2.py3-none-any.whl (20.5 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file pullover-1.1.0.tar.gz.

File metadata

  • Download URL: pullover-1.1.0.tar.gz
  • Upload date:
  • Size: 14.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pullover-1.1.0.tar.gz
Algorithm Hash digest
SHA256 d62b10b14a7c12d6063980fa02194c7f5e9367030a5c02da34c15fe80b825710
MD5 ea581e74f3aa9257840d04bf4c6e6e8c
BLAKE2b-256 c762aa2edec9b132bd7e56d61ad393dbfaef48cd11ff7a62890873e9c88093dc

See more details on using hashes here.

File details

Details for the file pullover-1.1.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for pullover-1.1.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 b4d373bbc228c2ad5cd69ec84f1908be69b888fdf21a208ec4ab00731ec5254b
MD5 5bb6b76482267912c50cc6a0f3451918
BLAKE2b-256 8b847e98614afd4c36444c52c79227ec239f23d69090df159699932c60117f73

See more details on using hashes here.

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