Skip to main content

Chancy

Chancy Logo

Chancy is a distributed task queue and scheduler for Python built on top of Postgres.

MIT License Codecov PyPI Version Python Version OS Platforms PostgreSQL Versions

Key Features

  • Robust Jobs - support for priorities, retries, timeouts, scheduling, global rate limits, memory limits, global uniqueness, error capture, cancellation, and more
  • Minimal dependencies - Core functionality requires only psycopg3 - which can be installed side-by-side with psycopg2.
  • Minimal infrastructure - No need to run a separate service like RabbitMQ or redis. Every feature is built on top of Postgres. No need for separate monitoring services like Flower or schedulers like Celery Beat - everything is built-in to the worker.
  • Plugins - Several plugins including a dashboard, workflows, cron jobs (with timezone support), and more.
  • Flexible - A single worker can handle many queues and mix threads, processes, sub-interpreters, and asyncio jobs, allowing powerful workflows that use the optimal concurrency model for each job. Queues can be created, deleted, modified, and paused at runtime.
  • async-first - Internals designed from the ground up to be async-first, but has minimal sync APIs for easy integration with existing non-async codebases.
  • Transactional enqueueing - Atomically enqueue jobs and the data they depend on in a single transaction.
  • Performant - Used in production environments to process millions of jobs per day.
  • Portable - Supports Linux, OS X, and Windows.
  • 100% open & free - no enterprise tiers or paid features.

Documentation

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

Testing documentation examples

Install the development dependencies with uv sync --all-extras, then run:

uv run sphinx-build -W --keep-going -b doctest docs docs/_build/doctest

Use -b html to build the site with the same checks. Unresolved references produce warnings, and -W makes warnings fail the build, as they do in CI.

Mark runnable examples in RST files or docstrings with .. testcode:: or .. doctest::. Use a named group when examples share setup or variables; .. testsetup:: and .. testcleanup:: provide hidden setup and cleanup. Hidden testcode blocks can assert documented defaults and results without adding test scaffolding to the rendered page. The pruner docstring is an example.

Keep these checks deterministic and independent of a running database. Examples requiring PostgreSQL belong in integration tests. Plain code-block blocks and unmarked >>> examples remain illustrative. CI runs doctests before building the HTML documentation, and a failing example fails the docs job.

Metadata

Release files for chancy 0.26.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for chancy 0.26.0
File Size Uploaded
chancy-0.26.0.tar.gz 805.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for chancy 0.26.0
File Interpreter ABI Platform
chancy-0.26.0-py3-none-any.whl Python 3 none any Details

Total release size: 1.7 MB

Release files / chancy-0.26.0.tar.gz

Download URL chancy-0.26.0.tar.gz
Size 805.3 kB
Tags Source
SHA-256 checksum
How to use checksums
ac98b9c502d7bdb6f47d53fac1c22b4dc55e6cfcfec84b08b1a0cbaee45aef06
BLAKE2b-256 checksum
How to use checksums
d9f6419fab630b9429178b13d3538d0f67c9019c15135fd08b11da79172ec021
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","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 / chancy-0.26.0-py3-none-any.whl

Download URL chancy-0.26.0-py3-none-any.whl
Size 875.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2d9c168c740eacecf5b4828f16b1c9967cd6999652badce65a4d3613a8d7d341
BLAKE2b-256 checksum
How to use checksums
e6d0e3552adcef36cb9a956cfc91a9653ca00a763900a111557159d3d59a3059
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","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 history Release notifications | RSS feed

This release

0.26.0 This release

2 release files

0.25.1

2 release files

0.24.1

2 release files

0.24.0

2 release files

0.23.3

2 release files

0.23.1

2 release files

0.23.0

2 release files

0.22.0

2 release files

0.21.0

2 release files

0.20.1

2 release files

0.20.0

2 release files

0.19.0

2 release files

0.18.0

2 release files

0.15.0

2 release files

0.14.0

2 release files

0.13.3

2 release files

0.13.2

2 release files

0.13.1

2 release files

0.13.0

2 release files

0.11.0

2 release files

0.10.9

2 release files

0.10.8

2 release files

0.10.7

2 release files

0.9.3

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page