A fast and reliable distributed task processing library for Python 3.
Project description
<img src="https://dramatiq.io/_static/logo.png" align="right" width="131" />
# dramatiq
[![Build Status](https://travis-ci.org/Bogdanp/dramatiq.svg?branch=master)](https://travis-ci.org/Bogdanp/dramatiq)
[![Test Coverage](https://api.codeclimate.com/v1/badges/2e03a54d3d3ee0bb93c4/test_coverage)](https://codeclimate.com/github/Bogdanp/dramatiq/test_coverage)
[![Maintainability](https://api.codeclimate.com/v1/badges/2e03a54d3d3ee0bb93c4/maintainability)](https://codeclimate.com/github/Bogdanp/dramatiq/maintainability)
[![PyPI version](https://badge.fury.io/py/dramatiq.svg)](https://badge.fury.io/py/dramatiq)
[![Documentation](https://img.shields.io/badge/doc-latest-brightgreen.svg)](http://dramatiq.io)
[![Discourse](https://img.shields.io/badge/discuss-online-orange.svg)](https://discuss.dramatiq.io)
*A fast and reliable distributed task processing library for Python 3.*
<hr/>
**Changelog**: https://dramatiq.io/changelog.html <br/>
**Community**: https://discuss.dramatiq.io <br/>
**Documentation**: https://dramatiq.io
<hr/>
## Installation
If you want to use it with [RabbitMQ]
pipenv install 'dramatiq[rabbitmq, watch]'
or if you want to use it with [Redis]
pipenv install 'dramatiq[redis, watch]'
## Quickstart
Make sure you've got [RabbitMQ] running, then create a new file called
`example.py`:
``` python
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.
[COPYING.LESSER]: https://github.com/Bogdanp/dramatiq/blob/master/COPYING.LESSER
[COPYING]: https://github.com/Bogdanp/dramatiq/blob/master/COPYING
[RabbitMQ]: https://www.rabbitmq.com/
[Redis]: https://redis.io
[user guide]: https://dramatiq.io/guide.html
# dramatiq
[![Build Status](https://travis-ci.org/Bogdanp/dramatiq.svg?branch=master)](https://travis-ci.org/Bogdanp/dramatiq)
[![Test Coverage](https://api.codeclimate.com/v1/badges/2e03a54d3d3ee0bb93c4/test_coverage)](https://codeclimate.com/github/Bogdanp/dramatiq/test_coverage)
[![Maintainability](https://api.codeclimate.com/v1/badges/2e03a54d3d3ee0bb93c4/maintainability)](https://codeclimate.com/github/Bogdanp/dramatiq/maintainability)
[![PyPI version](https://badge.fury.io/py/dramatiq.svg)](https://badge.fury.io/py/dramatiq)
[![Documentation](https://img.shields.io/badge/doc-latest-brightgreen.svg)](http://dramatiq.io)
[![Discourse](https://img.shields.io/badge/discuss-online-orange.svg)](https://discuss.dramatiq.io)
*A fast and reliable distributed task processing library for Python 3.*
<hr/>
**Changelog**: https://dramatiq.io/changelog.html <br/>
**Community**: https://discuss.dramatiq.io <br/>
**Documentation**: https://dramatiq.io
<hr/>
## Installation
If you want to use it with [RabbitMQ]
pipenv install 'dramatiq[rabbitmq, watch]'
or if you want to use it with [Redis]
pipenv install 'dramatiq[redis, watch]'
## Quickstart
Make sure you've got [RabbitMQ] running, then create a new file called
`example.py`:
``` python
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.
[COPYING.LESSER]: https://github.com/Bogdanp/dramatiq/blob/master/COPYING.LESSER
[COPYING]: https://github.com/Bogdanp/dramatiq/blob/master/COPYING
[RabbitMQ]: https://www.rabbitmq.com/
[Redis]: https://redis.io
[user guide]: https://dramatiq.io/guide.html
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
dramatiq-1.2.0.tar.gz
(60.4 kB
view details)
Built Distribution
dramatiq-1.2.0-py3-none-any.whl
(90.0 kB
view details)
File details
Details for the file dramatiq-1.2.0.tar.gz
.
File metadata
- Download URL: dramatiq-1.2.0.tar.gz
- Upload date:
- Size: 60.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cc8920a238f5a006eba79c77ce591df1d418748bdedfce0bf4c4b42375f57e00 |
|
MD5 | 08036259262b5d895eb57a828468a617 |
|
BLAKE2b-256 | bee48a036e74577316a18236be2b1ba91c4f28808bee833bd346ccd6f46bb31f |
Provenance
File details
Details for the file dramatiq-1.2.0-py3-none-any.whl
.
File metadata
- Download URL: dramatiq-1.2.0-py3-none-any.whl
- Upload date:
- Size: 90.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a0077ffba81895c23fcaab61ad50bc75cf882a62de7d4fc5bd59d689c0b96cb1 |
|
MD5 | ae0147d1299b8ffbd3d2fa28dec835cb |
|
BLAKE2b-256 | 4eda05376cf26aaa4b30bf2b81582cd62a7f15234443b6303b384d35cfe12a33 |