<?xml version="1.0" encoding="UTF-8" ?> <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/"> <channel> <title>Shekel</title><description>Shekel: LLM budget control and AI agent cost governance for Python. Hard spend caps, loop detection, velocity limits, and distributed enforcement for OpenAI, Anthropic, LangGraph, CrewAI, and LiteLLM. One line, zero config.</description><link>https://arieradle.github.io/shekel/1.1.0/</link><atom:link href="https://arieradle.github.io/shekel/1.1.0/feed_rss_created.xml" rel="self" type="application/rss+xml" /> <managingEditor>Arie Radle</managingEditor><docs>https://github.com/arieradle/shekel</docs><language>en</language> <pubDate>Mon, 23 Mar 2026 18:53:43 -0000</pubDate> <lastBuildDate>Mon, 23 Mar 2026 18:53:43 -0000</lastBuildDate> <ttl>1440</ttl> <generator>MkDocs RSS plugin - v1.17.9</generator> <image> <url>None</url> <title>Shekel</title> <link>https://arieradle.github.io/shekel/1.1.0/</link> </image> <item> <title>Tags</title> <description>Browse Shekel documentation by topic.</description> <link>https://arieradle.github.io/shekel/1.1.0/tags/</link> <pubDate>Fri, 20 Mar 2026 09:35:47 +0000</pubDate> <source url="https://arieradle.github.io/shekel/1.1.0/feed_rss_created.xml">Shekel</source><guid isPermaLink="true">https://arieradle.github.io/shekel/1.1.0/tags/</guid> <enclosure url="https://arieradle.github.io/shekel/1.1.0assets/images/social/tags.png" type="image/png" length="34911" /> </item> <item> <title>Distributed Budgets</title> <category>budget-enforcement</category> <category>distributed</category> <category>rate-limiting</category> <category>redis</category> <description>Enforce shared LLM API spend limits atomically across multiple processes, workers, or Kubernetes pods. Atomic Lua-script enforcement, circuit breaker, fail-closed by default.</description> <link>https://arieradle.github.io/shekel/1.1.0/usage/distributed-budgets/</link> <pubDate>Thu, 19 Mar 2026 21:45:39 +0000</pubDate> <source url="https://arieradle.github.io/shekel/1.1.0/feed_rss_created.xml">Shekel</source><guid isPermaLink="true">https://arieradle.github.io/shekel/1.1.0/usage/distributed-budgets/</guid> <enclosure url="https://arieradle.github.io/shekel/1.1.0assets/images/social/usage/distributed-budgets.png" type="image/png" length="51631" /> </item> <item> <title>OpenAI Agents SDK</title> <category>agent-frameworks</category> <category>budget-enforcement</category> <category>circuit-breaker</category> <category>openai</category> <category>openai-agents</category> <description>Enforce hard USD caps on OpenAI Agents SDK runners. Per-agent circuit breaking with b.agent(). AgentBudgetExceededError raised before the agent executes. Zero config.</description> <link>https://arieradle.github.io/shekel/1.1.0/integrations/openai-agents/</link> <pubDate>Thu, 19 Mar 2026 19:24:00 +0000</pubDate> <source url="https://arieradle.github.io/shekel/1.1.0/feed_rss_created.xml">Shekel</source><guid isPermaLink="true">https://arieradle.github.io/shekel/1.1.0/integrations/openai-agents/</guid> <enclosure url="https://arieradle.github.io/shekel/1.1.0assets/images/social/integrations/openai-agents.png" type="image/png" length="62010" /> </item> <item> <title>Loop Guard</title> <category>agent-safety</category> <category>budget-enforcement</category> <category>circuit-breaker</category> <category>loop-detection</category> <category>runaway-agent</category> <category>tool-budgets</category> <description>Automatically detect and stop infinite tool-call loops before they drain your LLM budget. Per-tool rolling-window counter raises AgentLoopError before the tool executes.</description> <link>https://arieradle.github.io/shekel/1.1.0/usage/loop-guard/</link> <pubDate>Thu, 19 Mar 2026 19:24:00 +0000</pubDate> <source url="https://arieradle.github.io/shekel/1.1.0/feed_rss_created.xml">Shekel</source><guid isPermaLink="true">https://arieradle.github.io/shekel/1.1.0/usage/loop-guard/</guid> <enclosure url="https://arieradle.github.io/shekel/1.1.0assets/images/social/usage/loop-guard.png" type="image/png" length="57632" /> </item> <item> <title>Spend Velocity</title> <category>agent-safety</category> <category>budget-enforcement</category> <category>circuit-breaker</category> <description>Cap how fast your AI agent spends money, not just how much. Stop a bursty agent that burns $40 in two minutes before your total USD cap fires. SpendVelocityExceededError.</description> <link>https://arieradle.github.io/shekel/1.1.0/usage/spend-velocity/</link> <pubDate>Thu, 19 Mar 2026 19:24:00 +0000</pubDate> <source url="https://arieradle.github.io/shekel/1.1.0/feed_rss_created.xml">Shekel</source><guid isPermaLink="true">https://arieradle.github.io/shekel/1.1.0/usage/spend-velocity/</guid> <enclosure url="https://arieradle.github.io/shekel/1.1.0assets/images/social/usage/spend-velocity.png" type="image/png" length="57192" /> </item> <item> <title>Introduction</title> <category>architecture</category> <category>internals</category> <category>llm-guardrails</category> <category>production-ai</category> <description>Overview of shekel&#39;s internal architecture: budget enforcement lifecycle, provider adapter pattern, observability integrations, and CLI execution model.</description> <link>https://arieradle.github.io/shekel/1.1.0/architecture/</link> <pubDate>Mon, 16 Mar 2026 11:53:55 +0000</pubDate> <source url="https://arieradle.github.io/shekel/1.1.0/feed_rss_created.xml">Shekel</source><guid isPermaLink="true">https://arieradle.github.io/shekel/1.1.0/architecture/</guid> <enclosure url="https://arieradle.github.io/shekel/1.1.0assets/images/social/architecture/index.png" type="image/png" length="54865" /> </item> <item> <title>Core Components</title> <category>architecture</category> <category>internals</category> <category>llm-guardrails</category> <description>Reference for shekel&#39;s core components: Budget, TemporalBudget, ContextVar, patching layer, pricing engine, tool tracker, CLI runner, and Redis backend.</description> <link>https://arieradle.github.io/shekel/1.1.0/architecture/components/</link> <pubDate>Mon, 16 Mar 2026 11:53:55 +0000</pubDate> <source url="https://arieradle.github.io/shekel/1.1.0/feed_rss_created.xml">Shekel</source><guid isPermaLink="true">https://arieradle.github.io/shekel/1.1.0/architecture/components/</guid> <enclosure url="https://arieradle.github.io/shekel/1.1.0assets/images/social/architecture/components.png" type="image/png" length="54394" /> </item> <item> <title>Concurrency &amp; Safety</title> <category>architecture</category> <category>internals</category> <category>production-ai</category> <description>How shekel achieves thread safety and async safety: ContextVar isolation per thread and asyncio task, ref-counted patching with locks, and persistent budget caveats.</description> <link>https://arieradle.github.io/shekel/1.1.0/architecture/concurrency/</link> <pubDate>Mon, 16 Mar 2026 11:53:55 +0000</pubDate> <source url="https://arieradle.github.io/shekel/1.1.0/feed_rss_created.xml">Shekel</source><guid isPermaLink="true">https://arieradle.github.io/shekel/1.1.0/architecture/concurrency/</guid> <enclosure url="https://arieradle.github.io/shekel/1.1.0assets/images/social/architecture/concurrency.png" type="image/png" length="51375" /> </item> <item> <title>Data Flow</title> <category>architecture</category> <category>cost-tracking</category> <category>internals</category> <category>llm-guardrails</category> <description>Step-by-step data flow through shekel: from LLM API call interception through token extraction, cost calculation, budget check, and spend recording.</description> <link>https://arieradle.github.io/shekel/1.1.0/architecture/data-flow/</link> <pubDate>Mon, 16 Mar 2026 11:53:55 +0000</pubDate> <source url="https://arieradle.github.io/shekel/1.1.0/feed_rss_created.xml">Shekel</source><guid isPermaLink="true">https://arieradle.github.io/shekel/1.1.0/architecture/data-flow/</guid> <enclosure url="https://arieradle.github.io/shekel/1.1.0assets/images/social/architecture/data-flow.png" type="image/png" length="49747" /> </item> <item> <title>Extensibility</title> <category>architecture</category> <category>internals</category> <category>llm-guardrails</category> <category>production-ai</category> <description>How to extend shekel with new LLM provider adapters, custom observability backends, and additional pricing. Implement ProviderAdapter or ObservabilityAdapter.</description> <link>https://arieradle.github.io/shekel/1.1.0/architecture/extensibility/</link> <pubDate>Mon, 16 Mar 2026 11:53:55 +0000</pubDate> <source url="https://arieradle.github.io/shekel/1.1.0/feed_rss_created.xml">Shekel</source><guid isPermaLink="true">https://arieradle.github.io/shekel/1.1.0/architecture/extensibility/</guid> <enclosure url="https://arieradle.github.io/shekel/1.1.0assets/images/social/architecture/extensibility.png" type="image/png" length="53733" /> </item> <item> <title>Module Map</title> <category>architecture</category> <category>internals</category> <description>Complete map of the shekel Python package: every module, its purpose, and how the components connect. Reference for contributors and adapter authors.</description> <link>https://arieradle.github.io/shekel/1.1.0/architecture/module-map/</link> <pubDate>Mon, 16 Mar 2026 11:53:55 +0000</pubDate> <source url="https://arieradle.github.io/shekel/1.1.0/feed_rss_created.xml">Shekel</source><guid isPermaLink="true">https://arieradle.github.io/shekel/1.1.0/architecture/module-map/</guid> <enclosure url="https://arieradle.github.io/shekel/1.1.0assets/images/social/architecture/module-map.png" type="image/png" length="52725" /> </item> <item> <title>Overview</title> <category>architecture</category> <category>internals</category> <category>llm-guardrails</category> <description>High-level design of shekel: in-process monkey-patching, ContextVar isolation, ref-counted patching, provider adapter registry, and zero-config operation.</description> <link>https://arieradle.github.io/shekel/1.1.0/architecture/overview/</link> <pubDate>Mon, 16 Mar 2026 11:53:55 +0000</pubDate> <source url="https://arieradle.github.io/shekel/1.1.0/feed_rss_created.xml">Shekel</source><guid isPermaLink="true">https://arieradle.github.io/shekel/1.1.0/architecture/overview/</guid> <enclosure url="https://arieradle.github.io/shekel/1.1.0assets/images/social/architecture/overview.png" type="image/png" length="49402" /> </item> <item> <title>Docker &amp; Containers</title> <category>agent-safety</category> <category>budget-enforcement</category> <category>cli</category> <category>docker</category> <category>production-ai</category> <description>Enforce LLM spend limits on AI agents running in Docker containers. Use shekel run as an entrypoint wrapper. Set AGENT_BUDGET_USD at runtime — no rebuild required.</description> <link>https://arieradle.github.io/shekel/1.1.0/docker/</link> <pubDate>Sun, 15 Mar 2026 14:29:53 +0000</pubDate> <source url="https://arieradle.github.io/shekel/1.1.0/feed_rss_created.xml">Shekel</source><guid isPermaLink="true">https://arieradle.github.io/shekel/1.1.0/docker/</guid> <enclosure url="https://arieradle.github.io/shekel/1.1.0assets/images/social/docker.png" type="image/png" length="56575" /> </item> <item> <title>Tool Budgets</title> <category>agent-safety</category> <category>budget-enforcement</category> <category>crewai</category> <category>langchain</category> <category>tool-budgets</category> <description>Enforce limits on AI agent tool dispatches. Cap total calls, charge per-tool USD, and auto-intercept LangChain, MCP, CrewAI, and OpenAI Agents SDK tools with zero config.</description> <link>https://arieradle.github.io/shekel/1.1.0/usage/tool-budgets/</link> <pubDate>Sun, 15 Mar 2026 10:19:42 +0000</pubDate> <source url="https://arieradle.github.io/shekel/1.1.0/feed_rss_created.xml">Shekel</source><guid isPermaLink="true">https://arieradle.github.io/shekel/1.1.0/usage/tool-budgets/</guid> <enclosure url="https://arieradle.github.io/shekel/1.1.0assets/images/social/usage/tool-budgets.png" type="image/png" length="62394" /> </item> <item> <title>Temporal Budgets</title> <category>budget-enforcement</category> <category>distributed</category> <category>rate-limiting</category> <category>temporal-budgets</category> <description>Enforce per-hour, per-minute, or rolling-window LLM spend limits in Python. Multi-cap DSL, retry_after on exception, Redis backend for distributed rate limiting.</description> <link>https://arieradle.github.io/shekel/1.1.0/usage/temporal-budgets/</link> <pubDate>Sun, 15 Mar 2026 05:41:22 +0000</pubDate> <source url="https://arieradle.github.io/shekel/1.1.0/feed_rss_created.xml">Shekel</source><guid isPermaLink="true">https://arieradle.github.io/shekel/1.1.0/usage/temporal-budgets/</guid> <enclosure url="https://arieradle.github.io/shekel/1.1.0assets/images/social/usage/temporal-budgets.png" type="image/png" length="58676" /> </item> <item> <title>OpenTelemetry</title> <category>budget-enforcement</category> <category>cost-tracking</category> <category>llm-observability</category> <category>production-ai</category> <description>Export LLM cost, budget utilization, spend rate, fallback activations, and loop events via OpenTelemetry. Compatible with Prometheus, Grafana, Datadog, and any OTel backend.</description> <link>https://arieradle.github.io/shekel/1.1.0/integrations/otel/</link> <pubDate>Sat, 14 Mar 2026 21:49:09 +0000</pubDate> <source url="https://arieradle.github.io/shekel/1.1.0/feed_rss_created.xml">Shekel</source><guid isPermaLink="true">https://arieradle.github.io/shekel/1.1.0/integrations/otel/</guid> <enclosure url="https://arieradle.github.io/shekel/1.1.0assets/images/social/integrations/otel.png" type="image/png" length="53043" /> </item> <item> <title>Google Gemini</title> <category>budget-enforcement</category> <category>cost-tracking</category> <category>gemini</category> <category>llm-guardrails</category> <description>Enforce hard USD spend limits on Google Gemini API calls (Gemini 2.0 Flash, 2.5 Flash, 2.5 Pro). Hard caps, fallback models, nested budgets — zero SDK changes.</description> <link>https://arieradle.github.io/shekel/1.1.0/integrations/gemini/</link> <pubDate>Thu, 12 Mar 2026 16:17:48 +0000</pubDate> <source url="https://arieradle.github.io/shekel/1.1.0/feed_rss_created.xml">Shekel</source><guid isPermaLink="true">https://arieradle.github.io/shekel/1.1.0/integrations/gemini/</guid> <enclosure url="https://arieradle.github.io/shekel/1.1.0assets/images/social/integrations/gemini.png" type="image/png" length="57221" /> </item> <item> <title>HuggingFace</title> <category>budget-enforcement</category> <category>cost-tracking</category> <category>llm-guardrails</category> <description>Enforce hard USD spend limits on HuggingFace Inference API calls. Hard caps, fallback models, and nested budgets for any model on the HuggingFace hub.</description> <link>https://arieradle.github.io/shekel/1.1.0/integrations/huggingface/</link> <pubDate>Thu, 12 Mar 2026 16:17:48 +0000</pubDate> <source url="https://arieradle.github.io/shekel/1.1.0/feed_rss_created.xml">Shekel</source><guid isPermaLink="true">https://arieradle.github.io/shekel/1.1.0/integrations/huggingface/</guid> <enclosure url="https://arieradle.github.io/shekel/1.1.0assets/images/social/integrations/huggingface.png" type="image/png" length="53875" /> </item> <item> <title>LiteLLM</title> <category>agent-frameworks</category> <category>budget-enforcement</category> <category>cost-tracking</category> <category>litellm</category> <description>Enforce hard spend limits across 100+ LLM providers through LiteLLM. Hard caps, fallback models, loop detection, and velocity limits — all via LiteLLMs unified interface.</description> <link>https://arieradle.github.io/shekel/1.1.0/integrations/litellm/</link> <pubDate>Thu, 12 Mar 2026 11:15:19 +0000</pubDate> <source url="https://arieradle.github.io/shekel/1.1.0/feed_rss_created.xml">Shekel</source><guid isPermaLink="true">https://arieradle.github.io/shekel/1.1.0/integrations/litellm/</guid> <enclosure url="https://arieradle.github.io/shekel/1.1.0assets/images/social/integrations/litellm.png" type="image/png" length="51395" /> </item> <item> <title>CI/CD and Branch Protection</title> <description>&lt;h1&gt;CI/CD and Branch Protection&lt;/h1&gt; &lt;p&gt;This document describes the CI/CD pipeline and branch protection settings for shekel.&lt;/p&gt; &lt;h2&gt;CI Pipeline Overview&lt;/h2&gt; &lt;p&gt;The CI pipelin...&lt;/p&gt;</description> <link>https://arieradle.github.io/shekel/1.1.0/ci-and-branch-protection/</link> <pubDate>Wed, 11 Mar 2026 18:20:10 +0000</pubDate> <source url="https://arieradle.github.io/shekel/1.1.0/feed_rss_created.xml">Shekel</source><guid isPermaLink="true">https://arieradle.github.io/shekel/1.1.0/ci-and-branch-protection/</guid> <enclosure url="https://arieradle.github.io/shekel/1.1.0assets/images/social/ci-and-branch-protection.png" type="image/png" length="40376" /> </item> </channel> </rss>