GNTP Basics

Python bindings for the Growl Notification Transport Protocol

Bugs can be reported at the GitHub issue tracker

Sending a message

The gntp.notifier module is provided as a simple way to send notifications using GNTP

Note

This class is intended to mostly mirror the older Python bindings such that you should be able to replace instances of the old bindings with this class. Original Python bindings

gntp.notifier.mini(description, applicationName='PythonMini', noteType='Message', title='Mini Message', applicationIcon=None, hostname='localhost', password=None, port=23053, sticky=False, priority=None)

Single notification function

Simple notification function in one line. Has only one required parameter and attempts to use reasonable defaults for everything else :param string description: Notification message

class gntp.notifier.GrowlNotifier(applicationName='Python GNTP', notifications=[], defaultNotifications=None, applicationIcon=None, hostname='localhost', password=None, port=23053)

Helper class to simplfy sending Growl messages

Parameters:
  • applicationName (string) – Sending application name
  • notification (list) – List of valid notifications
  • defaultNotifications (list) – List of notifications that should be enabled by default
  • applicationIcon (string) – Icon URL
  • hostname (string) – Remote host
  • port (integer) – Remote port
add_origin_info(packet)

Add optional Origin headers to message

notify(noteType, title, description, icon=None, sticky=False, priority=None)

Send a GNTP notifications

Warning

Must have registered with growl beforehand or messages will be ignored

Parameters:
  • noteType (string) – One of the notification names registered earlier
  • title (string) – Notification title (usually displayed on the notification)
  • description (string) – The main content of the notification
  • icon (string) – Icon URL path
  • sticky (boolean) – Sticky notification
  • priority (integer) – Message priority level from -2 to 2
register()

Send GNTP Registration

Warning

Before sending notifications to Growl, you need to have sent a registration message at least once

subscribe(id, name, port)

Send a Subscribe request to a remote machine

Example Usage

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

Useful Links

Table Of Contents

Next topic

Core GNTP Classes

This Page