Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

Django library that makes triggering emails easier

Project Description

`pingpong` is a library to aimed at simplifying things thing that should be easy
in django.

## Installation ##

1. Install lib with pip:

`pip install pingpong`

**- OR -**

Put the "pingpong" directory somewhere in your python path

2. Add "pingpong" to your installed apps (in the file)

## A better way to fire off emails

from import render_to_email

def some_function():

template = "emails/"
context = { "your_mom": "Betty Crocker", "muffin_type": "blueberry" }
recipients = ['']

# send an email!
render_to_email(template, context, recipients)

And the template, `emails/` would be in your main
templates folder:

Delicious muffins thanks to {{ your_mom }}

Hi friend,

I'm writing to let you know that {{ your_mom }} made some superb
{{ muffin_type }} muffins. Please tell her thank you!

A Robot

The first non-blank line is the subject, everything following is the message.


Delicious muffins thanks to Betty Crocker


I'm writing to let you know that Betty Crocker made some superb
blueberry muffins. Please tell her thank you!

A Robot

Whitespace is stripped from the beginning and end of the message.

## Passing system events to your app

set up listeners:


from pingpong.utils import pong

def email_admins_about_daily_activity(ping_name, args, kwargs, **kw):


... your models...

import listeners

Then you trigger all functions listening to "dailycron" like so:

$ python pong dailycron

If you pass extra args to the management command they will get passed along...

$ python pong cachecleared memcache:38174

In this case we're letting the app know that memcache on port 38174 just got

from pingpong.utils import pong

def warm_up_cache(ping_name, args, kwargs, **kw):
assert ping_name == "cachecleared"
assert args[0] == "memcache:38174"

cache_type, port = args[0].split(":")

Release History

This version
History Node


Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, Size & Hash SHA256 Hash Help File Type Python Version Upload Date
(3.3 kB) Copy SHA256 Hash SHA256
Source None Jul 11, 2012

Supported By

Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Google Google Cloud Servers DreamHost DreamHost Log Hosting