Skip to main content

dragiter – Deterministic RAG Iterator. A modular CLI for structured, reproducible LLM workflows.

Project description

License: AGPL v3 PyPI Python

dragiter – Deterministic RAG Iterator. A modular CLI for structured, reproducible LLM workflows.

Status: Beta

dragiter has now moved beyond the Alpha stage and is in Beta. The core functionality is largely stable and is already being used in smaller production setups. However, breaking changes may still occur. We currently advise against using dragiter in critical production environments, automated CI/CD pipelines, or with untrusted or sensitive data without thorough testing.

dragiter is a modular command-line interface (CLI) designed to integrate Large Language Models (LLMs) directly into your automated terminal workflows. It acts as a bridge between your local file system and AI APIs, eliminating "copy-paste fatigue" by allowing you to chain AI agents exactly like standard Unix pipes.

Why dragiter?

If you want an AI to review an entire project, manually gathering files, stripping out noise, and pasting them into a web chat is tedious. dragiter solves this through "Prompt as Code."

  • Automated Context Assembly: Use wildcards (like src/**/*.py) and regex patterns to surgically extract exactly what the AI needs to see.
  • Version-Controllable Prompts: Define your AI instructions and data context in standard .toml files so your workflows are repeatable and shareable.
  • Advanced Batch Processing: Feed dragiter a .jsonl loop file to automatically iterate through translation tasks, report summaries, or data extraction without writing custom Python scripts.
  • Vendor Independence: Switch from cloud providers like OpenAI, Grok, or Google to a completely local, private model like Ollama just by changing a single CLI flag.

Installation

You can install dragiter easily via pip:

pip install dragiter

The project logo is available in assets/logo/dragiter-logo.png.

Quick Start

The core philosophy of dragiter is to keep your resources (material, context) and your prompts (instructions) separate.

The easiest way to explore dragiter is by using the included examples

1. Extract the Examples

First, extract them into your current directory by running:

dragiter-gen-examples .

You will find the examples in the examples/ subdirectory. To follow along with the first example, navigate into it:

cd examples/01_md_sample

2. Test Safely with Simulation Mode

It is highly recommended to always run a simulation first. This allows you to safely verify your workflow and file routing without making actual API calls or spending your API credits. You can do this by adding the -s flag to your command.

Run the simulation by typing:

dragiter -s -p 01_prompt_md.toml -r 01_resource_md.toml -l 01_loop_md.txt

3. Run with Ollama

The file config-ollama.toml is ready to use out of the box, provided that Ollama is installed and running locally with its default settings. When using Ollama it is recommended to run the command with the -v (verbose) flag:

dragiter -v -c config-ollama.toml -p 01_prompt_md.toml -r 01_resource_md.toml -l 01_loop_md.txt

Documentation

dragiter comes with a very detailed and well-written manual. It is strongly recommended to read it:

# Extract the full documentation
dragiter-gen-docs .

# Then read the manual
less docs/manual.md
# or open it in your editor / browser

The manual contains many practical examples (code review, batch report analysis, marketing copy generation, tool chaining, etc.) and explains advanced features such as context window management and JSONL processing in depth.

E2E Tests

dragiter includes a set of end-to-end tests to verify core CLI behaviour. You can extract them into your current directory by running:

dragiter-gen-tests .

The tests will be created in the tests/ subdirectory.
You can then execute them with:

cd tests
pytest -q

These tests run safely in simulation mode (-s) and serve as a minimal template for writing your own workflow validations.

Tool Chaining (The Unix Way)

dragiter is built to play nicely with other CLI tools. You can fetch live data and pipe it straight to your AI workflow:

Acknowledgements

The development of dragiter has been a journey of continuous learning. Bringing this project to life would not have been possible without the support of some extraordinary tools and communities.

A massive thank you to the AI models Grok and Gemini. As tireless pair-programming partners, your guidance, code reviews, and structural suggestions were invaluable in adapting the Python code for this project.

Equally important is the global Python community. The rich ecosystem, extensive documentation, and open-source spirit provide the foundation for tools like dragiter. Thank you to all the developers who make Python such a powerful language to work with.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dragiter-2026.7.20rc2.tar.gz (75.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dragiter-2026.7.20rc2-py3-none-any.whl (182.1 kB view details)

Uploaded Python 3

File details

Details for the file dragiter-2026.7.20rc2.tar.gz.

File metadata

  • Download URL: dragiter-2026.7.20rc2.tar.gz
  • Upload date:
  • Size: 75.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Hatch/1.16.5 cpython/3.13.5 HTTPX/0.28.1

File hashes

Hashes for dragiter-2026.7.20rc2.tar.gz
Algorithm Hash digest
SHA256 16fc040e87d508997db48a6d9afafcfa2ec72ca473a96633dd098b1c43bc5f22
MD5 9ce68f0a7c6920542a94b85a39dc15ab
BLAKE2b-256 bc6e6064010130c946bc4011070d59c13f587ff8af3a9e620514717f5216a14d

See more details on using hashes here.

File details

Details for the file dragiter-2026.7.20rc2-py3-none-any.whl.

File metadata

  • Download URL: dragiter-2026.7.20rc2-py3-none-any.whl
  • Upload date:
  • Size: 182.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Hatch/1.16.5 cpython/3.13.5 HTTPX/0.28.1

File hashes

Hashes for dragiter-2026.7.20rc2-py3-none-any.whl
Algorithm Hash digest
SHA256 669c8e50ae8882fe4df31ad26df262ea2d5205068789eab852b2262b4d3a76fc
MD5 4c50dd371870f0ec432b201122bb4e28
BLAKE2b-256 4754c71da88653916ceafe2d8960b96d17f8670ed401c65b25daf5bc15018add

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page