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.5-cp311-abi3-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.11+Windows x86-64

honker-0.2.5-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.5-cp311-abi3-manylinux_2_38_aarch64.whl (1.8 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.38+ ARM64

honker-0.2.5-cp311-abi3-macosx_11_0_arm64.whl (928.6 kB view details)

Uploaded CPython 3.11+macOS 11.0+ ARM64

honker-0.2.5-cp311-abi3-macosx_10_12_x86_64.whl (948.3 kB view details)

Uploaded CPython 3.11+macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: honker-0.2.5-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.4

File hashes

Hashes for honker-0.2.5-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 500867cc4d49f9e53f9974e655ba72018d9072703113a2c12d3cad8fc476932c
MD5 6bb25ce736aa937eb77ec907dac89a42
BLAKE2b-256 53a36b99f0d2371ec17c832113c27e11bf3734b5ee8eeb3cf9376d1bd9b66ef2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for honker-0.2.5-cp311-abi3-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 b43c89c9341abadbeee2deb5930b710540e8b68af68b8535b515473b7d7a1ac6
MD5 8f0134e0c350a68248e61d3bb2dd88f3
BLAKE2b-256 ce8ac0c6b7d9a4a1339e4a603afa929875287042f4a06fb085469798aca320dc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for honker-0.2.5-cp311-abi3-manylinux_2_38_aarch64.whl
Algorithm Hash digest
SHA256 97de16383c1469d750995704cc04f8fd5f999f48de95a8c2ec1581e3f4b14e0e
MD5 94b840de59fd91eb1f31276464ec6e46
BLAKE2b-256 30287031ddf5c258975ec0af5497e568f8dab237bcfea61a05842e83efe641dc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for honker-0.2.5-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d04f4a95e69b2cd0f1e0c43be82d821ce2af6cdf0a3f3722eb35185a7738cf09
MD5 84df1d2c7c933c585e70c9462d3c887c
BLAKE2b-256 6a05161db6211f07a829c248b7f1039c08d21d4014a07f7efd6d03c510694e06

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for honker-0.2.5-cp311-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 179f0f4a0c0edbad8fe4ffee5468ffc8569a10f9275e754793200273ef8b5e4f
MD5 4cd13932aa9d282f1ff0e57ac01c452e
BLAKE2b-256 9e15f71d684919eb80c9d774d3dd2cfed23fb76c3d56d13c5476e268b86f5e4c

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