pullover
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
Metadata
Release files for pullover 1.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| pullover-1.1.1.tar.gz | 14.6 kB | Without provenance | Details for pullover-1.1.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| pullover-1.1.1-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details for pullover-1.1.1-py2.py3-none-any.whl |
Total release size: 35.2 kB
Release files / pullover-1.1.1.tar.gz
| Download URL | pullover-1.1.1.tar.gz |
|---|---|
| Size | 14.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ded4b33d8f7383996ed40dba063b79b6a4662ee0512ed11c2bc4dd1273669fb9
|
|
BLAKE2b-256 checksum How to use checksums |
f12a6b3623e39a68f0c57638a7742795b895ae72375b79c5cebb3312120127aa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Release files / pullover-1.1.1-py2.py3-none-any.whl
| Download URL | pullover-1.1.1-py2.py3-none-any.whl |
|---|---|
| Size | 20.6 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
3a3c09d84a4e0572fa2a0611de312a36e4759ed28e3c60e40142a0cedd2f877a
|
|
BLAKE2b-256 checksum How to use checksums |
d6027d0925fac6dc75578d2633645c8cadb7f17f51da032c44e8fc6b940963e3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Security for pullover 1.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.