This is a Python library for working with the Growl Notification Transport Protocol
It should work as a dropin replacement for the older Python bindings
You can install with pip
$ pip install gntp
then test the module
$ python -m gntp.notifier
# GNTP uses the standard Python logging
import logging
logging.basicConfig(level=logging.INFO)
import gntp.notifier
# Simple "fire and forget" notification
gntp.notifier.mini("Here's a quick message")
# More complete example
growl = gntp.notifier.GrowlNotifier(
applicationName = "My Application Name",
notifications = ["New Updates","New Messages"],
defaultNotifications = ["New Messages"],
# hostname = "computer.example.com", # Defaults to localhost
# password = "abc123" # Defaults to a blank password
)
growl.register()
# Send one message
growl.notify(
noteType = "New Messages",
title = "You have a new message",
description = "A longer message description",
icon = "http://example.com/icon.png",
sticky = False,
priority = 1,
)
# Try to send a different type of message
# This one may fail since it is not in our list
# of defaultNotifications
growl.notify(
noteType = "New Updates",
title = "There is a new update to download",
description = "A longer message description",
icon = "http://example.com/icon.png",
sticky = False,
priority = -1,
)
URL based images do not work in the OSX version of growl 1.4 You can send the image along with the notification to get around this.
image = open('/path/to/image.png', 'rb').read()
growl.notify(
noteType = "New Messages",
title = "You have a new message",
description = "This time we embed the image",
icon = image,
)
Note
With Growl 2 and above user can choose to pass notification to system wide notifications center. In this case icon
argument would be ignored by the notification center (there would always be Growl icon instead).
- v1.0.3
- Allow file:// scheme to be used for icons
- v1.0.2
- Fix bug with incoming password hash
- Added info about license in each source file
- v1.0.1
- Fix bug with binary data (images) being encoded incorrectly
- v1.0
- Python 3.3 Support
- v0.9
- Remove duplicate code from gntp.config
- Catch all errors and rethrow them as gntp.errors to make it easier for other programs to deal with errors from the gntp library.
- Ensure that we open resource files as "rb" and update the documentation
- v0.8
- Fix a bug where resource sections were missing a CRLF
- Fix a bug where the cli client was using config values over options
- Add support for coalescing
- v0.7
- Support for images
- Better test coverage support
- 0.6
- ConfigParser aware GrowlNotifier that reads settings from ~/.gntp