Dramatiq: simple task processing

Release v0.20.0. (Installation, Changelog)

https://img.shields.io/badge/license-AGPL-blue.svg https://travis-ci.org/Bogdanp/dramatiq.svg?branch=master https://api.codeclimate.com/v1/badges/2e03a54d3d3ee0bb93c4/test_coverage https://api.codeclimate.com/v1/badges/2e03a54d3d3ee0bb93c4/maintainability https://badge.fury.io/py/dramatiq.svg

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

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

# or send the actor a message so that it may perform the count
# later, in a separate process.

Dramatiq is licensed under the AGPL and it officially supports Python 3.5 and later. Commercial Licensing is also available. Commercial licenses are free for one year for startups.

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.

API Reference

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


Subscribe to our occasional newsletter to receive up-to-date info on Dramatiq features and changes.