Comprehensive bindings and command line utility for the Pushover notification service
Project description
python-pushover aims at providing comprehensive Python bindings for the API of the Pushover Notification Service as documented here.
Installation
You can install python-pushover from Pypi with:
$ pip install python-pushover
Or you can install it directly from GitHub:
git clone https://github.com/Thibauth/python-pushover.git
cd python-pushover
pip install .
Overview
After being imported, the module must be initialized by calling the init function with a valid application token. Thus, a typical use of the pushover module looks like this:
from pushover import init, Client
init("<token>")
Client("<user-key>").send_message("Hello!", title="Hello")
You can also pass the api_token optional argument to Client to initialize the module at the same time:
from pushover import Client
client = Client("<user-key>", api_token="<api-token>")
client.send_message("Hello!", title="Hello")
Attachments can be sent with the attachment parameter which takes as argument as file object:
with open('/path/to/my/image.png', 'rb') as image:
client.send_message('Message with image', attachment=image)
Command line
python-pushover also comes with a command line utility pushover that you can use as follows:
pushover --api-token <api-token> --user-key <user-key> "Hello!"
Use pushover --help to see the list of available options.
Configuration
Both the pushover module and the pushover command line utility support reading arguments from a configuration file.
The most basic configuration file looks like this:
[Default]
api_token=aaaaaa
user_key=xxxxxx
You can have additional sections and specify a device as well:
[Sam-iPhone]
api_token=bbbbbb
user_key=yyyyyy
device=iPhone
python-pushover will attempt to read the configuration from ~/.pushoverrc by default. The section to read can be specified by using the profile argument. With the configuration file above, you can send a message by simply doing:
from pushover import Client
Client().send_message("Hello!", title="Hello")
or pushover --title "Hello" "Hello!" from the command line.
API
You can access the full API documentation here.
Contributors
Sam Birch <sam.m.birch@gmail.com>
Crupuk
chevell
drachenminister
Thibaut Horel <thibaut.horel@gmail.com>
Filip Lundborg <filip@filipl.se>
Philip Lundrigan <philipbl@cs.utah.edu>
Steve Miller <copart@gmail.com>
Changes
0.4 (2018-05-13)
Add support for expire and retry parameters to the command line for priority=2 messages
Add support for attachments
0.3 (2016-12-29)
Add support for the Glances API
Add a cancel function to MessageRequest objects to cancel high priority messages
Add support for html message styling
Fix bug in MessageRequest.poll for priority=2 requests
0.2 (2014-08-16)
Fix bug when using current timestamp
Add a pushover command line utility
Add Python 3 support
Add configuration file feature
Easier and more compact Client class creation
Switch to setuptools for easier installation and dependencies handling
0.1 (2013-04-16)
Initial Release