Metadata-Version: 2.4
Name: clovis
Version: 0.2.0
Summary: cloooooo — personal LLM client, prompt/context/thinking interface over local Ollama
Author: Clovis Sfeir
License: MIT
Keywords: ai,llm,local-ai,ollama,openai
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.10
Requires-Dist: fastapi>=0.111
Requires-Dist: httpx>=0.27
Requires-Dist: pydantic>=2.0
Requires-Dist: rich>=13.0
Requires-Dist: typer>=0.12
Requires-Dist: uvicorn[standard]>=0.30
Description-Content-Type: text/markdown

# clovis

OpenAI-compatible Python client over a local [Ollama](https://ollama.com) instance.

## Install

```bash
pip install clovis
```

## Usage

```python
from clovis import cloooooo

client = cloooooo()  # connects to localhost:11434 by default

# Chat
resp = client.chat.completions.create(
    model="qwen3-72b",
    messages=[{"role": "user", "content": "Bonjour !"}]
)
print(resp.choices[0].message.content)

# Streaming
for chunk in client.chat.completions.create(
    messages=[{"role": "user", "content": "Écris un poème"}],
    stream=True,
):
    print(chunk.choices[0].delta.get("content", ""), end="", flush=True)

# Conversation with auto history
with client.conversation(system="Tu es un expert en finance.") as conv:
    print(conv.chat("Explique le CAPM"))
    print(conv.chat("Et ses limites ?"))  # remembers context

# Start API server
cloooooo.serve(port=8000, api_key="sk-...")
```

## CLI

```bash
clovis "Explique les trous noirs"   # direct question
clovis repl                          # interactive conversation
clovis serve --port 8000             # start API server
```

## Config

```bash
export CLOVIS_MODEL="qwen3-72b"
export CLOVIS_OLLAMA_URL="http://localhost:11434"
export CLOVIS_API_KEY="sk-..."
```
