• Stars
    star
    3,640
  • Rank 11,599 (Top 0.3 %)
  • Language
    Python
  • License
    GNU Lesser Genera...
  • Created almost 7 years ago
  • Updated 10 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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

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


Franz: Desktop Client for Apache Kafka

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.

More Repositories

1

awesome-advent-of-code

A collection of awesome resources related to the yearly Advent of Code challenge.
2,798
star
2

molten

A minimal, extensible, fast and productive framework for building HTTP APIs with Python 3.6 and later.
Python
982
star
3

cursive_re

Readable regular expressions for Python 3.6 and up.
Python
353
star
4

django_dramatiq

A Django app that integrates with Dramatiq.
Python
325
star
5

elm-ast

A parser for Elm in Elm.
Elm
143
star
6

dramatiq_dashboard

A dashboard for dramatiq, specific to its Redis broker.
Python
140
star
7

web-app-from-scratch

Supporting material for my blog post series on writing a web application from scratch in Python.
Python
128
star
8

koyo

A web development toolkit for Racket.
Racket
128
star
9

racket-gui-easy

Declarative GUIs in Racket.
Racket
125
star
10

remember

Stash distractions away for later.
Swift
106
star
11

browser-connect.vim

Live browser interaction for VIM.
Vim Script
102
star
12

Franz

A desktop client for Apache Kafka.
Racket
102
star
13

marionette

A Racket library that lets you control Firefox via the Marionette Protocol.
Racket
73
star
14

deta

A database mapper for Racket.
Racket
60
star
15

threadop

Adds a threading operator to Python.
Python
55
star
16

anom-py

An ndb-like object mapper for Google Cloud Datastore.
Python
53
star
17

racket-lua

A #lang implementation of Lua 5.4 for Racket.
Racket
51
star
18

setup-racket

A GH action for installing Racket.
JavaScript
49
star
19

neko

A tiny kitten follows your mouse on macOS.
Swift
48
star
20

dramatiq_sqs

A Dramatiq broker that can be used with Amazon SQS.
Python
47
star
21

racket-http-easy

A high-level HTTP client for Racket.
Racket
43
star
22

rbrepl.vim

VIM plugin that allows you to run a Ruby REPL inside a VIM buffer.
Vim Script
41
star
23

racket-review

A linter for Racket.
Racket
41
star
24

racket-wasm

Wasm tooling in Racket.
Racket
38
star
25

nemea

Privacy focused website analytics.
Racket
35
star
26

racket-redis

Fast, idiomatic Redis bidings for Racket.
Racket
31
star
27

flask_dramatiq_example

An example app demonstrating how you can use Dramatiq with Flask.
Python
29
star
28

django_dramatiq_example

An example app demonstrating django_dramatiq.
Python
28
star
29

rackcheck

A property-based testing library for Racket.
Racket
28
star
30

racket-chief

Chief runs Procfile-based applications. Like foreman, but written in Racket.
Racket
26
star
31

taskqueues.com

A list of distributed task queueing software.
HTML
26
star
32

pyrepl.vim

VIM plugin that provides a way to run a Python REPL inside a VIM buffer.
Vim Script
25
star
33

hebi

A Snake-style game in Racket.
Racket
24
star
34

hugs

Hugs lets you map SQL expressions to Python functions.
Python
24
star
35

Noise

A Swift wrapper around Racket CS.
Racket
23
star
36

quicksilver.vim

Quicksilver is a VIM plugin whose purpose is to quicken the process of opening files from inside VIM.
Vim Script
22
star
37

racket-dbg

A server, client and UI for remotely debugging Racket applications.
Racket
19
star
38

racket-north

A database migration tool written in Racket.
Racket
18
star
39

racket-kafka

A Kafka client for Racket.
Racket
17
star
40

racket-smtp-server

An SMTP server implementation for Racket.
Racket
17
star
41

browser-connect-server

Live browser interaction for <INSERT-EDITOR-NAME-HERE>.
Scala
13
star
42

try-racket

An online playground for Racket.
Racket
13
star
43

racket-crontab

A cron-like scheduler for Racket.
Racket
12
star
44

racksnaps

Daily snapshots of the Racket Package Catalog.
Racket
12
star
45

racket-gui-extra

Platform-specific GUI controls for Racket.
Racket
11
star
46

racket-binfmt

A binary format parser generator DSL with support for limited context-sensitivity.
Racket
11
star
47

defn.io

My personal website.
Racket
10
star
48

.emacs.d

My Emacs configuration.
Emacs Lisp
10
star
49

apistar_prometheus

Prometheus metrics for API Star apps.
Python
10
star
50

racket-lz4

A pure-Racket decompressor for LZ4 data.
Racket
10
star
51

apistar_dramatiq

Dramatiq integration for API Star apps.
Python
8
star
52

elm-querystring

A library for working with query strings in Elm.
Elm
8
star
53

racket-sentry

A Sentry SDK for Racket.
Racket
8
star
54

koyo-shorty

Associated code for the "Racket Web Development with Koyo" screencast.
Racket
8
star
55

resource_pool

A generic thread-safe resource pool for Python.
Python
7
star
56

h2p

A Python package that converts web pages to PDFs.
Python
7
star
57

falcon_sugar

A little sugar for Falcon applications.
Python
7
star
58

racket-forms

Web form validation for Racket.
Racket
7
star
59

elm-generate

Lazy list manipulation for Elm.
Elm
7
star
60

racket-protocol-buffers

A Protocol Buffers implementation for Racket.
Racket
6
star
61

markii

A development-mode error handler for Python web applications.
Python
6
star
62

dotfiles

Various configuration files from my setup.
Shell
6
star
63

fargate_scraper

A CLI tool that scrapes AWS Fargate tasks to find Prometheus targets.
Python
6
star
64

molten_cookiecutter

A cookiecutter for motlen apps.
Python
6
star
65

modviz

Python module dependency visualizer.
Python
6
star
66

ido-clever-match

An alternative matcher for ido-mode.
Emacs Lisp
6
star
67

personal-website

My personal website.
Racket
5
star
68

racketcon2021-talk

Racket
5
star
69

racket-component

Application lifecycle management for Racket.
Racket
5
star
70

aoc2020

My Advent of Code 2020 solutions.
Racket
5
star
71

racket-actions-example

An example of testing Racket code using GitHub actions.
Racket
5
star
72

racketfest2023-talk

A talk I gave at RacketFest 2023.
Racket
5
star
73

apistar_sentry

A Sentry component for API Star.
Python
5
star
74

racket-import-profiler

A command line utility for profiling module dependency import times.
Racket
5
star
75

racket-net-ip

Utilities for working with IP addresses in Racket.
Racket
5
star
76

setup-racket-cache-example

An example repo that demonstrates how setup-racket packages can be cached with GHA.
4
star
77

tcopy

Tail call optimization for Python.
Python
4
star
78

aoc2021

My solutions to Advent of Code 2021.
Racket
4
star
79

racket-json-lexer

This package provides an implementation of a JSON lexer and pretty printer for Racket.
Racket
4
star
80

elm-cookiecutter

A cookiecutter template for Elm projects.
Elm
4
star
81

racket-geoip

Geolocation for Racket based on MaxMind's GeoIP databases.
Racket
4
star
82

ymage

ymage is a simple image slideshow creator written in Python
Python
4
star
83

watchdog_gevent

A gevent-based observer for watchdog.
Python
4
star
84

racket-messagepack

An implementation of the MessagePack serialization format for Racket.
Racket
4
star
85

trio-redis

A Redis client based on Trio.
Python
4
star
86

racket-net-mime-type

Utilities for working with MIME types in Racket.
Racket
4
star
87

apistar_cors

CORS support for API Star.
Python
4
star
88

racket-avro

A Racket implementation of the Apache Avro serialization format.
Racket
4
star
89

racket-bench-ws-logging

Racket
3
star
90

ruse

Scheme
3
star
91

apistar_request_id

Request id generation and propagation for API Star.
Python
3
star
92

racket-box-extra

Extra utilities for working with boxes in Racket.
Racket
3
star
93

racket-libsass

This package distributes libsass as a Racket package for Linux, MacOS and Windows.
Shell
3
star
94

pirate

A simple TPB CLI magnet link utility.
Python
3
star
95

cedar

A web service definition format and source code generator.
Python
3
star
96

racket-resource-pool

A generic blocking resource pool implementation for Racket.
Racket
3
star
97

py-test.el

A test runner for Python code.
Emacs Lisp
3
star
98

racket-libsqlite3

This package distributes libsqlite3 as a Racket package for Linux and macOS.
Shell
3
star
99

koyo-sentry

Integrates racket-sentry with koyo.
Racket
3
star
100

facebooc

A Facebook clone written in pure C.
C
2
star