Skip to main content

Durable queues, streams, pub/sub, and cron scheduler on SQLite. One file, zero servers.

Project description

honker (Python)

Python binding for Honker: durable queues, streams, pub/sub, and time-trigger scheduling on SQLite.

Full docs live in the main repo and docs site:

Install

pip install honker

The Python wheel includes Honker's SQLite loadable extension when the package is built through the release/proof workflow. To load Honker into your own sqlite3 or ORM connection:

import honker
import sqlite3

conn = sqlite3.connect("app.db")
honker.load_extension(conn)
conn.execute("SELECT honker_bootstrap()")

If a client needs the raw pieces instead, use extension_info():

path, entrypoint = honker.extension_info()

For local source builds, build and copy the extension before building the wheel:

git clone https://github.com/russellromney/honker
cd honker
cargo build --release -p honker-extension
scripts/copy-python-extension.sh

Quick start

import honker

db = honker.open("app.db")
q = db.queue("emails")

q.enqueue({"to": "alice@example.com"})

async for job in q.claim("worker-1"):
    send_email(job.payload)
    job.ack()

Delayed jobs use run_at:

import time

q.enqueue({"to": "later@example.com"}, run_at=int(time.time()) + 10)

Recurring schedules use schedule expressions:

sched = db.scheduler()
sched.add("fast", queue="emails", schedule="@every 1s", payload={"kind": "tick"})

Supported schedule forms:

  • 5-field cron: 0 3 * * *
  • 6-field cron: */2 * * * * *
  • interval: @every 1s

Notes

  • claim() wakes on database updates and on due deadlines like run_at.
  • schedule is the canonical recurring-schedule name.
  • cron still works as a compatibility alias in older call sites.

For streams, notify/listen, tasks, SQL extension usage, and full scheduler docs, see the main repo and docs site.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

honker-0.2.6-cp311-abi3-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.11+Windows x86-64

honker-0.2.6-cp311-abi3-manylinux_2_38_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.38+ x86-64

honker-0.2.6-cp311-abi3-manylinux_2_38_aarch64.whl (1.8 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.38+ ARM64

honker-0.2.6-cp311-abi3-macosx_11_0_arm64.whl (915.7 kB view details)

Uploaded CPython 3.11+macOS 11.0+ ARM64

honker-0.2.6-cp311-abi3-macosx_10_12_x86_64.whl (935.5 kB view details)

Uploaded CPython 3.11+macOS 10.12+ x86-64

File details

Details for the file honker-0.2.6-cp311-abi3-win_amd64.whl.

File metadata

  • Download URL: honker-0.2.6-cp311-abi3-win_amd64.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: CPython 3.11+, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.5

File hashes

Hashes for honker-0.2.6-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 49d05bb7ea270ac3a6377269863c5d825f25118b909b65cb1b542d2445290ea6
MD5 f813558331d37aa4f2cf5cb9e7f1b675
BLAKE2b-256 9ca5c06a39fd3ea545da254278982be3d529d505688a2bd1fe1a40df1b548a70

See more details on using hashes here.

File details

Details for the file honker-0.2.6-cp311-abi3-manylinux_2_38_x86_64.whl.

File metadata

File hashes

Hashes for honker-0.2.6-cp311-abi3-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 bc632296b727e591d9dc10087b5bb13e35d1307bb55737107d18de32791ac6c6
MD5 247e507e69a5e5adae8ee0593f8cb68d
BLAKE2b-256 5d2c5c8849695811f737242c79840d655914638afe522255a91627c6755e41c7

See more details on using hashes here.

File details

Details for the file honker-0.2.6-cp311-abi3-manylinux_2_38_aarch64.whl.

File metadata

File hashes

Hashes for honker-0.2.6-cp311-abi3-manylinux_2_38_aarch64.whl
Algorithm Hash digest
SHA256 e2ba9d2c32590e08db47d1e3209d96ebaa0b6372dd500b0510d10c1d81e7a3d6
MD5 5cdffdfa4c776d8d91729b140eec5434
BLAKE2b-256 960822d47229061803120601ad8e64c47ebef52b1cdd282453a323b3a8ffd051

See more details on using hashes here.

File details

Details for the file honker-0.2.6-cp311-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for honker-0.2.6-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d601701862d245eb33a7036a0357e20d2b63fecc379278d280c7eb152572fc67
MD5 b10c35e1ea6129fe12aa72e60634f76c
BLAKE2b-256 84ef34ba2389d68e03e21c5c1bf12f7ae6ac0e686c0615b2a593d5388a4c5559

See more details on using hashes here.

File details

Details for the file honker-0.2.6-cp311-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for honker-0.2.6-cp311-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 feca2473e2bab1c86d512f4ad0ae48490000842412bf15e6df115220fad12dc6
MD5 7fa5fe3d5fe009dab54b075c79c9cf7d
BLAKE2b-256 44a2ce5fce973ca620d78cb7595a07b64d0a5498b240b14d6bb6a011ff501f26

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page