Jiti is an interface-first Python tool that lets you declare typed function or method stubs, and then generates real implementations the first time they are called. It validates generated code against ruff, type checking, and your tests, caches the results for later calls, and can “merge” the generated code back into your source to remove the jiti dependency.
Project status
- Actively maintained, with recent GitHub pushes on 2026-06-10 to 2026-06-12 and multiple version updates (v1.2.0 through v1.5.1) clustered within the same week.
- Apparent update cadence is fast for a library release cycle right now, roughly several updates across days (for example, v1.5.0 on 2026-06-10, v1.5.1 on 2026-06-12).
AI summary generated
Recent updates
v1.5.1
v1.5.1 focuses on two operational correctness issues: it adds strict argument validation before any LLM-driven generation runs, and it serializes concurrent writes to the `.jiti/` companion mirror to prevent dropped sections. It also ships a new MkDocs Material documentation site with generated API internals pages and a GitHub Pages deployment workflow.
v1.5.0
v1.5.0 adds a new composition contract mechanism via `@jiti(uses=[...])`, allowing stubs to declare external symbols that the generated implementation must reference. The change threads this contract through declaration/prompt generation and enforces it during validation with a static AST reference check.
Featuresv1.4.1
v1.4.1 primarily improves resilience to transient LLM provider failures by enabling Litellm retries. The change is implemented by wiring a new retries setting from Engine into the underlying LiteLLMClient, which then forwards it to litellm_completion. Release notes also include a minor ruff formatting cleanup.
v1.4.0
v1.4.0 introduces a new “frozen mode” intended for production deployments, where any cache miss that would normally trigger LLM generation is blocked. The runtime behavior is enforced via a new FrozenError and is also wired into the default engine through an environment variable.
Featuresv1.3.4
v1.3.4 focuses on fixing concurrency problems during JIT generation and initialization. It makes the shared default Engine singleton thread-safe and serializes the first-time generation for each @jiti-decorated stub so concurrent callers do not race to create multiple implementations.
v1.3.3
v1.3.3 primarily changes how jiti bounds in-process execution of agent code (tests, gates, and tool experiments) by switching from a wall-clock concept to an LLM-idle concept. The code also adds new internal tracking around LLM call time and updates the “committed” log output to include a breakdown of time spent inside LLM calls.
v1.3.2
v1.3.2 is described only as a minor robustness batch. The code diff shows several robustness and behavior changes around tool-call JSON parsing, tool dispatch error surfacing, gate registration deduping, and import-path handling for __init__.py modules.
v1.3.1
v1.3.1 is a targeted bug fix release. It addresses an issue where the refactor-nudge guidance could corrupt or invalidate the provider wire-format around tool-result messages.
v1.3.0
v1.3.0 switches the agentic generation loop to route LLM calls through LiteLLM instead of the Anthropic SDK. The release also updates usage and cost handling to support provider-specific response formats and introduces supporting code changes plus dependency updates.
Featuresv1.2.0
v1.2.0 restructures jiti into new internal packages (agent and core), adds per-generation JSONL transcript recording, and expands tooling with ast-grep (sg) plus stricter CLI requirements. It also introduces a richer call model (Model enum and call-style metadata), improves merge behavior around stacked decorators, and adds runtime type validation with pydantic on every call.
Featuresv1.1.0
v1.1.0 introduces a new Jiti CLI (status, merge, test prune/keep, and clear) and adds a full code folding pipeline via `jiti merge` that replaces `@jiti` stubs with generated implementations and merges test artifacts. It also improves discovery and store mechanics to support mirror inspection, targeted section resolution, and better performance for status/prune operations.
Featuresv1.0.0
This is the initial release of the project (v1.0.0). The release notes contain no additional details beyond the MIT licensing statement, so there are no documented feature additions, fixes, or compatibility changes to evaluate.