Skip to main content

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

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

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

python-pushover-0.4.tar.gz (19.9 kB view hashes)

Uploaded Source

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