Jibu
A thin client for the Anthropic API, built on Req.
Jibu sends request bodies unchanged. It has no model list and no parameter schema. New API fields therefore work without a new release.
Features
ask/3andextract/4for text and structured output, with client defaults- Full Messages requests with effort and prompt caching
- Token counting and the Models API
- Image and document content, and the Files API
- Message Batches
- A tool-use loop with local tool functions
- Typed errors, retries with
retry-after, and telemetry - Tests through
Req.Test, without the network
Jibu is not affiliated with or endorsed by Anthropic.
Usage
client = Jibu.new(model: "claude-opus-5-5", max_tokens: 1024)
{:ok, text} = Jibu.ask(client, "Name three rivers in Germany.", effort: :low)
{:ok, booking} = Jibu.extract(client, "Workshop with MRV, 9 to 11:30.", schema)
Jibu.messages/2 takes a full request body and sends it unchanged.
In tests, pass plug: {Req.Test, MyStub} to Jibu.new/1.
Installation
Add Jibu to the dependencies in mix.exs:
{:jibu, "~> 0.1"}
Documentation
- Getting started
- Structured output
- Prompt caching
- Images, documents and files
- Batches
- Tools
- Errors, retries and telemetry
- Contributing: development setup, mise commands and checks.
- Changelog