Dramatiq: simple task processing

Release v1.5.0. (Installation, Changelog, Discuss, Source Code, Support Dramatiq via Patreon, Support Dramatiq via Tidelift)

https://img.shields.io/badge/license-LGPL-blue.svg https://img.shields.io/badge/build-passing-brightgreen.svg https://badge.fury.io/py/dramatiq.svg https://tidelift.com/badges/github/Bogdanp/dramatiq

Dramatiq is a distributed task processing library for Python with a focus on simplicity, reliability and performance.

Here’s what it looks like:

import dramatiq
import requests


@dramatiq.actor
def count_words(url):
     response = requests.get(url)
     count = len(response.text.split(" "))
     print(f"There are {count} words at {url!r}.")


# Synchronously count the words on example.com in the current process
count_words("http://example.com")

# or send the actor a message so that it may perform the count
# later, in a separate process.
count_words.send("http://example.com")

Dramatiq is licensed under the LGPL and it officially supports Python 3.5 and later.

Get It Now

If you want to use it with RabbitMQ:

$ pip install -U 'dramatiq[rabbitmq, watch]'

Or if you want to use it with Redis:

$ pip install -U 'dramatiq[redis, watch]'

Read the Motivation behind it or the User Guide if you’re ready to get started.

Support the Project

If you use and love Dramatiq and want to make sure it gets the love and attention it deserves then you should consider supporting the project. There are three ways in which you can do this right now:

  1. If you’re a company that uses Dramatiq in production then you can get a Tidelift subscription. Doing so will give you an easy route to supporting both Dramatiq and other open source projects that you depend on.
  2. If you’re an individual or a company that doesn’t want to go through Tidelift then you can support the project via Patreon.
  3. If you’re a company and neither option works for you and you would like to receive an invoice from me directly then email me at bogdan@defn.io and let’s talk.

API Reference

This part of the documentation is focused on detailing the various bits and pieces of the Dramatiq developer interface.