Metadata-Version: 2.3
Name: chancy
Version: 0.12.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>
License-File: LICENSE.md
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: 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/:user/:repo)
![Supported Version](https://img.shields.io/pypi/pyversions/:packageName)


## 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, threading, and
  process-based job executors
- 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)