Metadata-Version: 2.3
Name: chancy
Version: 0.13.2
Summary: A simple and flexible job queue for Python
Project-URL: Repository, https://github.com/tktech/chancy
Project-URL: Documentation, https://tkte.ch/chancy/
Author-email: Tyler Kennedy <tk@tkte.ch>
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.11
Requires-Dist: psycopg[pool]>=3.2.1
Provides-Extra: cli
Requires-Dist: click; extra == 'cli'
Provides-Extra: cron
Requires-Dist: croniter>=2.0.5; extra == 'cron'
Provides-Extra: sub
Requires-Dist: interpreters-pep-734>=0.4.1; (python_version >= '3.13') and extra == 'sub'
Provides-Extra: web
Requires-Dist: starlette>=0.37.2; extra == 'web'
Requires-Dist: uvicorn[standard]>=0.32.0; extra == 'web'
Description-Content-Type: text/markdown

# Chancy

![Chancy Logo](misc/logo_small.png)

A postgres-backed task queue for Python.

![MIT License](https://img.shields.io/github/license/tktech/chancy)
![Supported Version](https://img.shields.io/pypi/pyversions/chancy)


## Key Features

- Support for job priorities, retries, timeouts, scheduling,
  global rate limits, memory limits, unique jobs, and more
- asyncio-based worker with support for asyncio, threaded,
  process-based, and sub-interpreter job execution.
- Configurable job retention for easy debugging and tracking
- Minimal dependencies (only psycopg3 required)
- Plugins for a dashboard, workflows, cron jobs, and more
- Optional transactional enqueueing for atomic job creation
- asyncio & sync APIs for easy integration with existing codebases

## Documentation

Check out the getting-started guide and the API documentation at
https://tkte.ch/chancy/.

## Screenshots

Chancy comes with an optional dashboard that provides a basic
look into the status of your queues:

![Workflows](misc/ux_workflow.png)
![Queue Details](misc/ux_queue.png)
![Job](misc/ux_job_failed.png)

## Similar Work

Many similar projects exist. Some of them are:

- https://worker.graphile.org/ (Node.js)
- https://riverqueue.com/ (Go)
- https://github.com/acaloiaro/neoq (Go)
- https://github.com/contribsys/faktory (Go)
- https://github.com/sorentwo/oban (Elixir)
- https://github.com/procrastinate-org/procrastinate (Python)