Metadata-Version: 2.4
Name: wick-deep-agent
Version: 0.1.0
Summary: Python client and server manager for the wick_go agent server.
Author-email: Deepankar <deepankar@users.noreply.github.com>
License-Expression: Apache-2.0
Project-URL: Repository, https://github.com/deepankar/wick_agent
Keywords: agent,llm,wick
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Typing :: Typed
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: requests>=2.28
Provides-Extra: dev
Requires-Dist: pytest>=7.0; extra == "dev"
Requires-Dist: mypy>=1.0; extra == "dev"
Requires-Dist: ruff>=0.4; extra == "dev"
Dynamic: license-file

# wick-deep-agent

Python client and server manager for the wick_go agent server.

Provides a typed HTTP client (`WickClient`), a server lifecycle manager (`WickServer`),
and a `wick-agent` CLI for building, starting, stopping, and inspecting the Go server.

## Installation

```bash
pip install -e .
```

With development tools:

```bash
pip install -e ".[dev]"
```

## Quick Start

### Python

```python
from wick_deep_agent import WickClient, WickServer
from wick_deep_agent.messages import HumanMessage, SystemMessage, Messages

# Build the server binary
WickServer.build()

# Start with inline agent config — no YAML file needed
server = WickServer(
    port=8000,
    agents={
        "default": {
            "name": "My Agent",
            "model": "ollama:llama3.1:8b",
            "system_prompt": "You are a helpful assistant.",
        },
    },
)
server.start()
server.wait_ready()

# Talk to the agent
client = WickClient("http://localhost:8000")
result = client.invoke(HumanMessage("Hello!"), agent_id="default")
print(result)

# Clean up
server.stop()
```

### CLI

```bash
wick-agent build
wick-agent start --port 8000
wick-agent status
wick-agent logs -n 100
wick-agent stop
wick-agent systemd --binary ./server/wick_go
```

## Import Structure

```python
# Core API
from wick_deep_agent import WickClient, WickServer

# Message types
from wick_deep_agent.messages import (
    HumanMessage,
    SystemMessage,
    AIMessage,
    ToolMessage,
    Messages,
)
```

## Project Layout

```
wick_deep_agent/
├── wick_deep_agent/     # Python package
│   ├── __init__.py      # WickClient, WickServer
│   ├── client.py        # WickClient — typed HTTP client
│   ├── launcher.py      # WickServer — server lifecycle manager
│   ├── cli.py           # wick-agent CLI entry point
│   └── messages.py      # HumanMessage, SystemMessage, Messages, ...
├── server/              # Go server source (wick_go)
├── pyproject.toml
├── LICENSE
└── README.md
```

## License

Apache License 2.0 — see [LICENSE](LICENSE).
