Skip to main content

A client-server notification system for HTML emails, sms and more.

Project description

https://gitlab.com/tattler/tattler-community/badges/main/pipeline.svg https://gitlab.com/tattler/tattler-community/badges/main/coverage.svg https://gitlab.com/tattler/tattler-community/-/raw/main/docs/source/tattler-logo-large-colorneutral.png

Table of contents

  1. What is tattler?

  2. Examples

  3. Quick start

  4. License

  5. Enterprise users

  6. Links

What is tattler?

Are you building an online service and need to send beautiful, branded notifications via email or SMS to your users?

Tattler makes that easy for you. Your application makes a simple HTTP call to tattler:

curl -X POST 'http://127.0.0.1:11503/notification/mywebapp/password_changed/?user=123'

and tattler does this for you:

  1. Load your templates for event password_changed, and see where it should be notified. (Email? SMS? More?)

  2. Load the email address and mobile number for user 123 as required – with trivial-to-write plug-ins.

  3. Load any variable that your templates require – with trivial-to-write plug-ins. (What plan is the user on? How much of the plan is used up?)

  4. Expand the template and encode the content into an actual notification – e.g. a multi-part MIME email with HTML and plain text fallback.

  5. Deliver the final content through SMTP and an SMS delivery network.

Tattler is designed with simplicity in mind. It strives to be easy to adopt and useful among common needs – so you can focus on your communication, brand and customer journey.

If your system sends notifications from multiple different softwares – say a web application, a billing daemon, and a cron job which monitors inventory – then your simplification gains with tattlers get multipled 🚀

https://gitlab.com/tattler/tattler-community/-/raw/main/demos/tattler-benefit.png

Examples

Here’s an example notification with HTML email, and its corresponding plain text version:

https://gitlab.com/tattler/tattler-community/-/raw/main/demos/tattler-notification-example-email-html.png

Fig 1. Example notification as HTML email.

https://gitlab.com/tattler/tattler-community/-/raw/main/demos/tattler-notification-example-email-plaintext.png

Fig 2. Its corresponding plain text version.

And here’s an example SMS notification:

https://gitlab.com/tattler/tattler-community/-/raw/main/demos/tattler-notification-example-sms.png

Quick start

Install tattler:

# create and load a virtualenv to install into
mkdir ~/tattler_quickstart
python3 -m venv ~/tattler_quickstart/venv
. ~/tattler_quickstart/venv/bin/activate

# install tattler into it
pip install tattler

Run tattler server:

export TATTLER_MASTER_MODE=production

# if you need to customize your SMTP settings
export TATTLER_SMTP_ADDRESS="127.0.0.1:25"
export TATTLER_SMTP_AUTH="username:password" # you will learn secure configuration later
export TATTLER_SMTP_TLS=yes

# run tattler server on default 127.0.0.1:11503
tattler_server

Trigger a demo notification via HTTP:

# in a new terminal:

# replace ``your@email.com`` with your actual email address
curl -X POST 'http://127.0.0.1:11503/notification/demoscope/demoevent/?mode=production&user=your@email.com'

… or via command-line utility:

# load the same virtual environment where you installed tattler server
. ~/tattler_quickstart/venv/bin/activate

# replace ``your@email.com`` with your actual email address
tattler_notify -s '127.0.0.1:11503' -m production your@email.com demoscope demoevent

… or via tattler’s python SDK:

from tattler.client.tattler_py import send_notification

# replace ``your@email.com`` with your actual email address
send_notification('demoscope', 'demoevent', 'your@email.com', mode='production', srv_addr='127.0.0.1', srv_port=11503)

Done!

Want more? Proceed to the complete quickstart in tattler’s documentation for plug-ins, deployment and more.

Help us be better

Here’s how you can help:

  • ⭐️ star our repository if you like tattler. That’s our go-to place whenever we feel sad! 😁

  • Let us know that you are using tattler. How long? For what organization? What is your feedback?

  • Let your friends know about tattler. If you found it useful, chances are they will too.

  • Report any issue in our code or docs. We take those seriously.

  • See ways to contribute in our contributing guidelines.

License

Tattler is open-source software (BSD 3-clause license), and includes the features listed above.

Enterprise users

Tattler is enterprise-friendly. Enterprise users avail of a subscription which provides a bugfixing warranty, extra features, and patronage for the continuity of the project.

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

tattler-1.4.0.tar.gz (66.9 kB view details)

Uploaded Source

Built Distribution

tattler-1.4.0-py3-none-any.whl (86.7 kB view details)

Uploaded Python 3

File details

Details for the file tattler-1.4.0.tar.gz.

File metadata

  • Download URL: tattler-1.4.0.tar.gz
  • Upload date:
  • Size: 66.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.6

File hashes

Hashes for tattler-1.4.0.tar.gz
Algorithm Hash digest
SHA256 ef83792853e907f7a86629a4ea00606aadc80cc6f8d86b823ac60b469fe18b69
MD5 0d2fdd0043206f073cc0ef09ea21ba4e
BLAKE2b-256 4fc05c46c15873d02774daa4e618ef84ce4752e776e4d8c0ce8e56a1209c4e7c

See more details on using hashes here.

File details

Details for the file tattler-1.4.0-py3-none-any.whl.

File metadata

  • Download URL: tattler-1.4.0-py3-none-any.whl
  • Upload date:
  • Size: 86.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.6

File hashes

Hashes for tattler-1.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c4c86db489de3dae898e9819873c3c0579a86c8cc53aad256e485de9b65d13f5
MD5 b759306493bb87530ccf403858a391c6
BLAKE2b-256 89a8cf37a159f25d89b412589378ea44710d628a09cf322c9ecbfd3de4157277

See more details on using hashes here.

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