Metadata-Version: 2.4
Name: redis-iris
Version: 0.1.0a1
Summary: Command-line interface for Redis Iris services
Project-URL: Repository, https://github.com/redis/redis-iris
Author: Redis
License-Expression: MIT
License-File: LICENSE
Keywords: cli,iris,redis
Classifier: Development Status :: 3 - Alpha
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.11
Requires-Dist: click<9,>=8.1.8
Requires-Dist: platformdirs<5,>=4.3.6
Requires-Dist: pyyaml<7,>=6.0.2
Requires-Dist: redis-agent-memory==0.4.1
Requires-Dist: redis-agent-playbook==0.1.0a2
Provides-Extra: langgraph
Requires-Dist: langchain-core<2,>=1.0; extra == 'langgraph'
Requires-Dist: langgraph<2,>=1.0; extra == 'langgraph'
Description-Content-Type: text/markdown

<div align="center">

# Redis Iris

**One package for every Iris product: an opinionated Python API per product, and the `iris` CLI to set them all up.**

[![CI](https://github.com/redis/redis-iris/actions/workflows/ci.yml/badge.svg)](https://github.com/redis/redis-iris/actions/workflows/ci.yml)
[![Python 3.11+](https://img.shields.io/badge/python-3.11%2B-blue)](https://www.python.org/downloads/)
[![Status: Alpha](https://img.shields.io/badge/status-alpha-orange)](https://github.com/redis/redis-iris/releases)
[![License: MIT](https://img.shields.io/badge/license-MIT-green)](LICENSE)

[Install](#install) · [Documentation](https://redis.github.io/redis-iris/) · [Releases](https://github.com/redis/redis-iris/releases) · [Contributing](CONTRIBUTING.md)

</div>

## Install

Requires **Python 3.11+**. [uv](https://docs.astral.sh/uv/getting-started/installation/) is the
recommended installer.

```bash
uv add redis-iris            # library, in your project
uv tool install redis-iris   # iris CLI, isolated
iris --help
```

<details>
<summary>pipx or pip</summary>

```bash
pipx install redis-iris
python -m pip install redis-iris   # inside an active virtual environment
```

</details>

From a source checkout, `uv tool install --force .` installs or replaces the `iris` tool, and
`python -m redis_iris` runs the CLI wherever the package is installed.

Alpha releases may change commands and output contracts. Pin a version in automation and check the
[release notes](https://github.com/redis/redis-iris/releases) before upgrading.

## The stack

Iris is a suite of products. Use one, or all of them.

| Product | What your agent gets | Instead of |
|---|---|---|
| **[Agent Memory](https://redis.github.io/redis-iris/core/agent-memory/)** | Ordered session history, summarized automatically. Durable memories extracted in the background, typed to your domain and steered away from sensitive data. Recall across sessions, scoped to one customer plus shared team knowledge. Erase a customer in one call. | an in-process store, a hand-built extraction chain, regex scrubbing |
| **[Playbook](https://redis.github.io/redis-iris/core/playbook/)** | Answers only from published, versioned FAQs and Skills, scored. Rollback and withdrawal. Proposes an FAQ for human review when nothing covers the question. | a vector store of unreviewed policy docs |
| **Context Retriever** (coming soon) | Typed MCP tools generated from your data model: get, filter, search, per entity. Read-only agent keys scoped to one surface. Your Redis data stays where it is. | hand-written `@tool` functions over your database |
| **Lens** (coming soon) | One trace per turn: which memories and documents entered the prompt, tokens, cost. | guessing why the agent said that |
| **LangCache** (coming soon) | Exact and semantic cache for repeated questions, scoped by attributes, conversation-aware. | paying for the same answer twice |

## User guides

| Your agent... | Guide | Product |
|---|---|---|
| forgets customers between sessions | [Remember customers](https://redis.github.io/redis-iris/user_guides/remember-customers/) | Agent Memory |
| quotes policy nobody approved | [Answer from approved policy](https://redis.github.io/redis-iris/user_guides/answer-from-approved-policy/) | Playbook |
| needs live account data, not documents | [Live account data](https://redis.github.io/redis-iris/user_guides/live-account-data/) | Context Retriever |
| needs all three in one message | [One support turn](https://redis.github.io/redis-iris/user_guides/one-support-turn/) | `Iris` |
| needs to be configured | [Configuration](https://redis.github.io/redis-iris/user_guides/configuration/) | all |
| needs an Agent Memory service created | [Set up Agent Memory](https://redis.github.io/redis-iris/user_guides/set-up-agent-memory/) | Agent Memory |
| needs a Playbook and an agent key created | [Set up Playbook](https://redis.github.io/redis-iris/user_guides/set-up-playbook/) | Playbook |
| has policy content to author and publish | [Playbook CLI](https://redis.github.io/redis-iris/user_guides/playbook-cli/) | Playbook |

## Integrate with an existing agent

Built your stack with a popular orchestration tool? A skill lets your coding agent do the wiring.

| I want my agent to... | Skill |
|---|---|
| figure out what it needs | [add-redis-iris](https://redis.github.io/redis-iris/skills/#add-redis-iris) |
| remember customers | [add-agent-memory](https://redis.github.io/redis-iris/skills/#add-agent-memory) |
| quote approved policy only | [add-playbook](https://redis.github.io/redis-iris/skills/#add-playbook) |
| use live account data | [add-context-retriever](https://redis.github.io/redis-iris/skills/#add-context-retriever) |

## The CLI

`iris <product> <command>` creates services, mints keys, and manages content. Shared options go
before the product name.

```bash
iris agent-memory service create --from service.yaml --write-env .env
iris playbook faqs validate ./faqs            # offline
iris playbook faqs sync ./faqs --publish changed
iris --json --no-input playbook faqs plan ./faqs   # unattended, one JSON value on stdout
iris --profile production playbook health
```

Settings resolve from command options, environment variables, the selected TOML profile, shared
TOML settings, then defaults. API keys belong in environment variables. Exit codes are `0` for
success, `1` for operational failures, and `2` for invalid input or configuration. Help, version,
completion, and local validation work without credentials or a network connection.

Guides: [Set up Agent Memory](https://redis.github.io/redis-iris/user_guides/set-up-agent-memory/),
[Set up Playbook](https://redis.github.io/redis-iris/user_guides/set-up-playbook/),
[Playbook CLI](https://redis.github.io/redis-iris/user_guides/playbook-cli/),
[Configuration](https://redis.github.io/redis-iris/user_guides/configuration/),
[example TOML](config.example.toml).

## Documentation

| Resource | Start here to... |
|---|---|
| [Core reference](https://redis.github.io/redis-iris/core/) | Every `redis_iris` class and setting |
| [User guides](https://redis.github.io/redis-iris/user_guides/) | One problem, one fix, per product |
| [Skills](https://redis.github.io/redis-iris/skills/) | Wire a product into an existing agent with a coding agent |
| [llms.txt](https://redis.github.io/redis-iris/llms.txt) | Hand the whole docs site to a coding agent in one fetch |
| [Design](examples/spec.md) | What the package is, and why it is shaped this way |
| [Release notes](https://github.com/redis/redis-iris/releases) | Check changes before upgrading |

## Contributing

Bug reports, documentation improvements, and new integrations are welcome.
[Open an issue](https://github.com/redis/redis-iris/issues) or read the
[contributor guide](CONTRIBUTING.md).

```bash
task install
task check   # formatting, lint, types, offline tests, package build
```

Maintainers publish with the [release runbook](RELEASE_PIPELINE_PLAN.md).

## License

[MIT](LICENSE).
