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://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.

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.0.0rc3.tar.gz (13.6 kB view details)

Uploaded Source

Built Distribution

pullover-1.0.0rc3-py2.py3-none-any.whl (19.3 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file pullover-1.0.0rc3.tar.gz.

File metadata

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

File hashes

Hashes for pullover-1.0.0rc3.tar.gz
Algorithm Hash digest
SHA256 ed0055b3b2ef3eaeb9eb4d54e0c62fcd6699b6f91240c725a14f49fa2d34f84e
MD5 fed6c28de0673261045bed15b7bae484
BLAKE2b-256 8fca6a97bc051046adfadf2175026dc7a8960ecb48d45338f37831d0d236f2f5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pullover-1.0.0rc3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 859b5c3388d43ff87131d16392a619f03271362f7efe26fa17c120d6b9199a63
MD5 8de564954b308909adecb5ce015fe060
BLAKE2b-256 6d38bf484cfb9bd6e3d34e22036e980a0016c3fb407496ef2485766c6cd3584f

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