Comprehensive bindings and command line utility for the Pushover notification service
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 .
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)
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.
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.
You can access the full API documentation here.
- Add support for expire and retry parameters to the command line for priority=2 messages
- Add support for attachments
- 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
- 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