GNTP Python Library - #growl #gntp
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
docs Fix references to moved classes in docs Mar 11, 2013
gntp Release 1.0.3 Mar 6, 2016
scripts Better support for installing without setuptools Mar 11, 2013
test Cleanup file modes Mar 11, 2013
.gitignore ignore *.pyc Oct 5, 2013
LICENSE Add license header to python files Jun 21, 2013 Include README in the manifest file Mar 17, 2012
Makefile Initial setup for Sphinx documentation Aug 31, 2011
README.rst Switch to using nose tests and coverage for testing Feb 24, 2012
pylintrc Ignore some whitespace errors Mar 4, 2016 Cleanup file modes Mar 11, 2013
tox.ini Use python 3.5 for testing Mar 4, 2016



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

Simple Usage

# GNTP uses the standard Python logging
import logging

import gntp.notifier

# Simple "fire and forget" notification"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 = "", # Defaults to localhost
    # password = "abc123" # Defaults to a blank password

# Send one message
    noteType = "New Messages",
    title = "You have a new message",
    description = "A longer message description",
    icon = "",
    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
    noteType = "New Updates",
    title = "There is a new update to download",
    description = "A longer message description",
    icon = "",
    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()
    noteType = "New Messages",
    title = "You have a new message",
    description = "This time we embed the image",
    icon = image,


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).


GitHub issue tracker


  • Allow file:// scheme to be used for icons
  • Fix bug with incoming password hash
  • Added info about license in each source file
  • Fix bug with binary data (images) being encoded incorrectly
  • Python 3.3 Support
  • 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
  • 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
  • Support for images
  • Better test coverage support
  • ConfigParser aware GrowlNotifier that reads settings from ~/.gntp