# honker v0.1.4 - Table of Contents > Durable queues, streams, pub/sub, and scheduler on SQLite. Thin wrapper around the Honker loadable extension. ## Modules - [Honker](Honker.md): Elixir binding for [Honker](https://honker.dev) — a SQLite-native task runtime. - [Honker.Database](Honker.Database.md): A Honker database handle. Wraps the Exqlite reference + a registry of per-queue options (visibility timeout, max attempts). - [Honker.Job](Honker.Job.md): A claimed unit of work. Use the lifecycle helpers (`ack/2`, `retry/4`, `fail/3`, `heartbeat/3`) to close it out. - [Honker.Lock](Honker.Lock.md): Advisory locks on top of `honker_lock_*` SQL functions. Elixir has no RAII, so the caller manages the lock lifetime explicitly - [Honker.Outbox](Honker.Outbox.md): Transactional side-effect delivery built on a reserved Honker queue. - [Honker.Queue](Honker.Queue.md): Named queue operations. All methods take a `Honker.Database` and the queue name as the first two args. - [Honker.Scheduler](Honker.Scheduler.md): Time-trigger task registry. Thin wrapper over `honker_scheduler_*` SQL functions, plus a blocking `run/3` loop with leader election via the `honker-scheduler` advisory lock. - [Honker.Stream](Honker.Stream.md): Append-only topic log with named-consumer offsets. Thin wrapper over `honker_stream_*` SQL functions. - [Honker.StreamEvent](Honker.StreamEvent.md): An event read from a Honker stream. `payload` is decoded from JSON; `key` is `nil` when the event was published without a partition key. - [Honker.Transaction](Honker.Transaction.md): A SQLite transaction handle. Wraps the underlying Exqlite connection while a transaction is open so `*_tx` helpers (e.g. `Honker.Queue.enqueue_tx/5`, `Honker.Stream.publish_tx/4`) can take it as an explicit parameter.