arq

Fast job queuing and RPC in Python built on asyncio and Redis

Library
PyPI
v0.28.0
2,999stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum.How we score it →
56/100Fair
Development Activity12
Maintenance44
Community68
Maturity60
Momentum40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation.How we score it →
73/100Good
Architecture75
Code Quality74
Innovation60
Learning Curve82

arq is an async job queue for Python, built on asyncio and Redis, that lets you enqueue functions to run in a separate worker process (or many, for high throughput) rather than blocking the calling process. It supports cron-like scheduled jobs, job retries, timeouts, and result storage, all using Redis as the sole broker without needing a separate message broker like RabbitMQ.

Inspired by (and API-compatible in spirit with) Celery but designed specifically for asyncio, arq is lightweight and easy to deploy for teams already running Redis, offering a simple decorator-based API for defining and enqueuing background tasks.

What You Get

  • An asyncio-native worker (arq.worker.Worker) that pulls and executes jobs from Redis
  • A simple async def function + decorator pattern for defining background tasks
  • Cron-style scheduled job support via arq.cron
  • Automatic job retries, timeouts, and result storage in Redis
  • A CLI (arq) for running worker processes against a settings module

Common Use Cases

  • Offloading slow operations (emails, image processing, webhooks) from a web request to a background worker
  • Running scheduled/cron-style jobs (nightly reports, periodic cleanup) from Python asyncio apps
  • Adding a lightweight task queue to a FastAPI or other asyncio-based service without introducing RabbitMQ
  • Fan-out job processing across multiple worker processes reading from the same Redis queue
  • Building simple RPC-style call patterns where a function call is dispatched to and executed by a separate process

Under The Hood

Architecture - arq’s core is compact: connections.py manages the Redis connection pool, worker.py implements the polling/dispatch loop that pulls jobs and executes registered async functions, jobs.py models job state/results, and cron.py layers scheduled-job support on top of the same worker loop, with cli.py providing the arq command to launch a worker against a settings module. Tech Stack - Built directly on redis-py’s asyncio client with no additional broker dependency, targeting Python 3.9+ and using hatchling as its build backend. Code Quality - The tests/ directory (8 files) covers worker execution, cron scheduling, connection handling, and CLI behavior with CI-enforced coverage tracked via Codecov, though the project is explicitly marked ‘in maintenance only mode’ by its maintainers, meaning new feature work has slowed. API Design - Defining a job is a plain async def function registered in a functions list, and enqueuing is a single await pool.enqueue_job(...) call, which keeps the API surface small and easy to pick up for anyone already comfortable with asyncio, at the cost of fewer built-in features (routing, chaining, flower-style monitoring) than heavier frameworks like Celery.

Used by 5 apps in this directory

Python
44%
MIT

/dev/push

Developer Tools · Devops

4,742

Self-hosted, open-source Vercel alternative that deploys Python, Node.js, PHP, and any Docker-compatible app from a Git push, with zero-downtime rollouts and real-time logs.

View details
44
Repo Health
68
Technical
73
Dependency
Built with
Python44%
HTML31%
CSS17%
Updated 5 months ago
TypeScript
51%
AGPL 3.0

Glean

Knowledge Management · Bookmarks Archiving

853

Self-hosted RSS reader and personal knowledge management tool with MCP server integration for AI assistant connectivity.

View details
78
Repo Health
75
Technical
69
Dependency
Built with
TypeScript51%
Python45%
Updated 2 days ago
Python
63%
Other

Keep

Devops · Automation · Monitoring

12,224

The open-source AIOps and alert management platform that unifies 130+ monitoring tools into a single pane of glass with AI-powered correlation, deduplication, and workflow automation.

View details
91
Repo Health
79
Technical
67
Dependency
Built with
Python63%
TypeScript36%
Updated today
Python
67%
Other

Morphik

AI Development · Search · Databases

3,707

Morphik is an AI-native ingestion and retrieval engine that lets developers store, search, and reason over visually rich documents — scanned PDFs, manuals, slides, and video — without duct-taping together OCR, an embedding model, and a vector database.

View details
57
Repo Health
71
Technical
68
Dependency
Built with
Python67%
TypeScript25%
Updated 3 weeks ago
Python
85%
Apache 2.0

PrivateGPT

AI Development

57,445

The open-source API layer that turns local LLMs into production private AI applications with full Claude API compatibility

View details
88
Repo Health
83
Technical
71
Dependency
Built with
Python85%
HTML11%
Updated today

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers

Search