# russellromney/honker

SQLite extension + bindings for Postgres NOTIFY/LISTEN semantics with durable queues, streams, pub/sub, and scheduler

Repository: https://github.com/russellromney/honker
Canonical: https://ross.abutalabs.com/products/honker
Homepage: https://honker.dev
Language: Python
License: NOASSERTION
License Family: other
Last push: 2026-08-26T22:16:21+00:00

## Health v2 (maintenance only)
Score: 81/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 99, release rhythm 99, longevity 9
- inputs: {"age_days": 137, "days_push": 7, "days_rel": 7, "gap_med": 1, "n_releases_24m": 4}
- flags: young, no_license
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 3015, forks 75 (observed 2026-08-28T04:07:37.935249+00:00)

## What it is
A SQLite loadable extension plus multi-language bindings that add Postgres-style NOTIFY/LISTEN semantics, durable task queues, event streams, pub/sub, and cron scheduling directly inside a SQLite database file. It enables transactional outbox patterns where business writes and job enqueues commit atomically, without needing Redis, Celery, or any external broker.

## Use cases
- add a durable background job queue to a SQLite-backed app without running Redis or Celery
- implement the transactional outbox pattern so business inserts and enqueued jobs commit or roll back together
- send cross-process notifications between workers sharing one SQLite file
- build durable event streams with per-consumer offsets that resume after crashes
- schedule recurring tasks with cron or @every expressions from a SQLite database
- enqueue work in one language and consume it in another via shared on-disk format
- replace polling-based queue tables with push-like low-latency wakeups

## When to choose
- SQLite is your primary datastore and you need queues, pub/sub, or scheduling without adding a second datastore or broker
- you want atomic enqueue with business writes in the same transaction
- you need cross-language workers sharing the same queue file
- you want single-digit-millisecond cross-process wake latency with zero infrastructure

## When to avoid
- you need workflow DAGs, task chains, groups, or chords (explicitly out of scope)
- you need multi-writer replication or distributed locking across machines
- your workload requires a networked message broker or multi-node fan-out
- you need beta-quality or stable software (it is alpha)

## Facets
- artifact type: library
- maturity: experimental
- function: message-queue, database, scheduling, caching, concurrency
- domain: databases, backend, developer-tools
- platform: python, rust, go, ruby, jvm, dotnet, cpp, elixir, cross-platform, cli
- tags: sqlite-extension, notify-listen, task-queue, pubsub, event-streams, transactional-outbox, cron-scheduler, dead-letter, bindings, no-broker, messaging, automation, nodejs

## Member repositories
- russellromney/honker (main) score 81

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:07:37.935249+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T07:30:09.924029+00:00, confidence not recorded.
  - readme: https://github.com/russellromney/honker (fetched 2026-08-28T04:07:37.935249+00:00, sha 82e8f040516f)
  - homepage: https://honker.dev (fetched 2026-08-29T09:45:26.920634+00:00, sha e9cdf5c52eee)
  - site_page: https://honker.dev/docs (fetched 2026-08-29T09:45:26.929849+00:00, sha 8f41c5188976)
  - registry_pypi: https://pypi.org/pypi/honker/json (fetched 2026-08-29T09:45:26.931657+00:00, sha d0c480604182)
- Data as of 2026-08-30T08:39:29.467469+00:00.
