dramatiq_sqs
A Dramatiq broker that can be used with Amazon SQS.
This backend has a number of limitations compared to the built-in Redis and RMQ backends:
- the max amount of time messages can be delayed by is 15 minutes,
- messages can be at most 1MiB large by default (configurable via
max_message_size) and - messages must be processed within 12 hours of being pulled, otherwise they will be redelivered.
The backend uses boto3 under the hood. For details on how authorization works, check out its docs.
Installation
pip install dramatiq_sqs
Usage
import dramatiq
from dramatiq.middleware import AgeLimit, TimeLimit, Callbacks, Pipelines, Prometheus, Retries
from dramatiq_sqs import SQSBroker
broker = SQSBroker(
namespace="dramatiq_sqs_tests",
middleware=[
Prometheus(),
AgeLimit(),
TimeLimit(),
Callbacks(),
Pipelines(),
Retries(min_backoff=1000, max_backoff=900000, max_retries=96),
],
)
dramatiq.set_broker(broker)
Usage with ElasticMQ
broker = SQSBroker(
# ...
endpoint_url="http://127.0.0.1:9324",
)
Example IAM Policy
Here are the IAM permissions needed by Dramatiq:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"sqs:CreateQueue",
"sqs:ReceiveMessage",
"sqs:DeleteMessage",
"sqs:DeleteMessageBatch",
"sqs:SendMessage",
"sqs:SendMessageBatch"
],
"Resource": ["*"]
}
]
}
License
dramatiq_sqs is licensed under Apache 2.0.
Metadata
Release files for dramatiq-sqs 0.4.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| dramatiq_sqs-0.4.4.tar.gz | 6.0 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| dramatiq_sqs-0.4.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.4 kB
Release files / dramatiq_sqs-0.4.4.tar.gz
| Download URL | dramatiq_sqs-0.4.4.tar.gz |
|---|---|
| Size | 6.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
518f3abb8a081b610d96c76eb1c571d9dca4724a776114e2bb11b5f0e89795af
|
|
BLAKE2b-256 checksum How to use checksums |
b23a7f7b0fa92c23c3e7a0928a9b74d853143fd2fd9d5357cb66528eeb8ecb91
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / dramatiq_sqs-0.4.4-py3-none-any.whl
| Download URL | dramatiq_sqs-0.4.4-py3-none-any.whl |
|---|---|
| Size | 7.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0c9b9f03e0850bc1702f349c8ba68477087e024a167231f1ae148dac7ce1ed3b
|
|
BLAKE2b-256 checksum How to use checksums |
ea787733536d98e6ed1b6b0c0b6debd3cc6fdb91ea813dad101d097713a236ad
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Security for dramatiq-sqs 0.4.4
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.