Bogdanp/dramatiq

A fast and reliable background task processing library for Python 3.

Python

5,330

1,374 commits

updated Oct 11, 2026

See the code

README

dramatiq

Build Status PyPI version Documentation Discuss

A fast and reliable distributed task processing library for Python 3.


Changelog: https://dramatiq.io/changelog.html
Community: https://groups.io/g/dramatiq-users
Documentation: https://dramatiq.io


Sponsors

Installation

If you want to use it with RabbitMQ

pip install 'dramatiq[rabbitmq, watch]'

or if you want to use it with Redis

pip install 'dramatiq[redis, watch]'

Quickstart

Make sure you've got RabbitMQ running, then create a new file called example.py:

import dramatiq
import requests
import sys


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


if __name__ == "__main__":
    count_words.send(sys.argv[1])

In one terminal, run your workers:

dramatiq example

In another, start enqueueing messages:

python example.py http://example.com
python example.py https://github.com
python example.py https://news.ycombinator.com

Check out the user guide to learn more!

License

dramatiq is licensed under the LGPL. Please see COPYING and COPYING.LESSER for licensing details.

distributed-lock
python
rabbit
redis
task
task-manager
task-runner
task-scheduler

Project health

Overall

4.7/10

Maintained

10/10

Code review

3/10
OpenSSF Scorecard

Latest release

2.2.1 · Sep 2, 2026

Releases this year

5

Significant stargazers

(top 24 of 36)

Kenneth Reitz

30,138 followers · starred Mar 2023

Joshua Carp

326 followers · starred Apr 2019

Thomas J. Fan

686 followers · starred Jan 2018

Zanie Blue

1,112 followers · starred Oct 2020

Bogdanp/dramatiq

A fast and reliable background task processing library for Python 3.

Python

5,330

1,374 commits

updated Oct 11, 2026

See the code

README

dramatiq

Build Status PyPI version Documentation Discuss

A fast and reliable distributed task processing library for Python 3.


Changelog: https://dramatiq.io/changelog.html
Community: https://groups.io/g/dramatiq-users
Documentation: https://dramatiq.io


Sponsors

Installation

If you want to use it with RabbitMQ

pip install 'dramatiq[rabbitmq, watch]'

or if you want to use it with Redis

pip install 'dramatiq[redis, watch]'

Quickstart

Make sure you've got RabbitMQ running, then create a new file called example.py:

import dramatiq
import requests
import sys


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


if __name__ == "__main__":
    count_words.send(sys.argv[1])

In one terminal, run your workers:

dramatiq example

In another, start enqueueing messages:

python example.py http://example.com
python example.py https://github.com
python example.py https://news.ycombinator.com

Check out the user guide to learn more!

License

dramatiq is licensed under the LGPL. Please see COPYING and COPYING.LESSER for licensing details.

distributed-lock
python
rabbit
redis
task
task-manager
task-runner
task-scheduler

Project health

Overall

4.7/10

Maintained

10/10

Code review

3/10
OpenSSF Scorecard

Latest release

2.2.1 · Sep 2, 2026

Releases this year

5

Significant stargazers

(top 24 of 36)

Kenneth Reitz

30,138 followers · starred Mar 2023

Joshua Carp

326 followers · starred Apr 2019

Thomas J. Fan

686 followers · starred Jan 2018

Zanie Blue

1,112 followers · starred Oct 2020