Python background queues with an async twist
Use async functions to manage complex background task workflows, and keep using synchronous functions for everything else.
Getting Started
Install queueio:
pip install queueio
Create your routines:
# basic.py
from time import sleep
from queueio import gather
from queueio import pause
from queueio import routine
@routine(name="blocking", queue="basic")
def blocking():
sleep(0.1) # Regular blocking call
@routine(name="yielding", queue="basic")
async def yielding(iterations: int):
# Do them two at a time
for _ in range(iterations // 2):
await gather(blocking(), blocking())
await pause(0.2) # Release processing capacity
if iterations % 2 == 1:
await blocking()
Add the configuration to your pyproject.toml:
[tool.queueio]
# Configure the broker (currently supports amqp:// URIs)
broker = "amqp://guest:guest@localhost:5672/"
# Register the modules that the worker should load to find your routines
register = ["basic"]
The broker configuration can be overridden with an environment variable to allow a project to be deployed in multiple environments.
QUEUEIO_BROKER='amqp://guest:guest@localhost:5672/'
QueueIO requires RabbitMQ's global QoS for shared concurrency limits and
suspending tasks. On RabbitMQ 4.3, enable it in rabbitmq.conf and restart
the broker:
deprecated_features.permit.global_qos = true
Sync the queues to the broker:
queueio sync
Submit the routine to run on a worker:
from queueio import activate
from basic import yielding
with activate():
yielding(7).submit()
Then run the worker to process submitted routines:
queueio run basic=4
Monitor the status of active routine invocations:
queueio monitor
Stability
The design of the public API is under active development and is likely to change with any release. Release notes will provide upgrade instructions, but backward compatibility and deprecation warnings will not generally be implemented.
Metadata
Release files for queueio 0.8.0
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 | Actions |
|---|---|---|---|---|
| queueio-0.8.0.tar.gz | 52.4 kB | With provenance | Details for queueio-0.8.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| queueio-0.8.0-py3-none-any.whl | Python 3 | none | any | Details for queueio-0.8.0-py3-none-any.whl |
Total release size: 121.8 kB
Release files / queueio-0.8.0.tar.gz
| Download URL | queueio-0.8.0.tar.gz |
|---|---|
| Size | 52.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
91f39c274dc29bd7598f617fe83155b6a62df9b889a736e290880d49d23daae0
|
|
BLAKE2b-256 checksum How to use checksums |
d6fdb7cc38529657f1dd956f854d07fc7b05329d815c3eaeda15831208b8bc2b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 4, 2026.
Transparency logRelease files / queueio-0.8.0-py3-none-any.whl
| Download URL | queueio-0.8.0-py3-none-any.whl |
|---|---|
| Size | 69.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1c2843b462f551bcb0ff1d4927f4132261b30ce0b0f25b3ae77545bcbd7057d5
|
|
BLAKE2b-256 checksum How to use checksums |
9a5475b922e6af673f3ba1077d096938c94b598e607c3b56399911d886642087
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 4, 2026.
Transparency logSecurity for queueio 0.8.0
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.
Full provenance
Both files in this release have been uploaded with provenance metadata.
Attestation for queueio-0.8.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 4, 2026.
Transparency logA 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.
To learn more about protecting yourself from malicious actors, visit our package security documentation.