Metadata-Version: 2.4
Name: soothe-nano
Version: 0.9.2
Summary: Soothe Nano — batteries-included Coding CoreAgent on deepagents
Project-URL: Homepage, https://github.com/mirasoth/soothe-nano
Project-URL: Documentation, https://soothe.readthedocs.io
Project-URL: Repository, https://github.com/mirasoth/soothe-nano
License: MIT
Keywords: agents,ai,coreagent,deepagents,langgraph,llm,nano,soothe
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.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: <3.15,>=3.11
Requires-Dist: aiofiles>=24.1.0
Requires-Dist: aiohttp<4.0.0,>=3.9.0
Requires-Dist: aiosqlite<1.0.0,>=0.22.1
Requires-Dist: anthropic<1.0.0,>=0.96.0
Requires-Dist: anyio<5.0.0,>=3.0.0
Requires-Dist: arxiv>=2.1.0
Requires-Dist: browser-use<0.13.0,>=0.11.0
Requires-Dist: bubus>=1.5.6
Requires-Dist: chardet<6
Requires-Dist: dashscope>=1.20.0
Requires-Dist: deepxiv-sdk>=0.2.5
Requires-Dist: docx2txt>=0.8.0
Requires-Dist: jinja2>=3.1.0
Requires-Dist: jsonschema<5.0.0,>=4.0.0
Requires-Dist: langchain-community<1.0.0,>=0.3.0
Requires-Dist: langchain-core<2.0.0,>=1.2.18
Requires-Dist: langchain-experimental<1.0.0,>=0.0.50
Requires-Dist: langchain-mcp-adapters<1.0.0,>=0.2.0
Requires-Dist: langchain-openai<1.0.0,>=0.3.0
Requires-Dist: langchain-quickjs>=0.1.0
Requires-Dist: langchain-tavily>=0.2.17
Requires-Dist: langchain<2.0.0,>=1.2.11
Requires-Dist: langgraph-checkpoint-postgres<4.0.0,>=3.1.0
Requires-Dist: langgraph-checkpoint-sqlite<4.0.0,>=3.0.0
Requires-Dist: langgraph-checkpoint<5.0.0,>=4.0.0
Requires-Dist: langgraph<2.0.0,>=1.1.1
Requires-Dist: openai<3.0.0,>=1.104.2
Requires-Dist: openpyxl>=3.1.0
Requires-Dist: pandas>=2.0.0
Requires-Dist: pathspec<2.0.0,>=0.12.0
Requires-Dist: pexpect<5.0.0,>=4.9.0
Requires-Dist: psycopg[binary,pool]<4.0.0,>=3.2.0
Requires-Dist: pydantic-settings<3.0.0,>=2.0.0
Requires-Dist: pydantic<3.0.0,>=2.0.0
Requires-Dist: pyjwt<3.0.0,>=2.8.0
Requires-Dist: pymupdf>=1.24.0
Requires-Dist: python-dotenv<2.0.0,>=1.0.0
Requires-Dist: pyyaml<7.0.0,>=6.0.0
Requires-Dist: requests<3.0.0,>=2.32.3
Requires-Dist: soothe-deepagents<1.0.0,>=0.7.24
Requires-Dist: soothe-sdk<2.0.0,>=1.0.2
Requires-Dist: sqlite-vec>=0.1.0
Requires-Dist: tavily-python>=0.5.0
Requires-Dist: watchdog<5.0.0,>=3.0.0
Requires-Dist: wizsearch<2.0.0,>=1.1.8
Provides-Extra: dev
Requires-Dist: mypy>=1.0.0; extra == 'dev'
Requires-Dist: pytest-asyncio>=1.3.0; extra == 'dev'
Requires-Dist: pytest-cov; extra == 'dev'
Requires-Dist: pytest>=8.0.0; extra == 'dev'
Requires-Dist: ruff>=0.12.0; extra == 'dev'
Requires-Dist: twine>=5.0.0; extra == 'dev'
Description-Content-Type: text/markdown

# soothe-nano

A **ready-to-run coding agent** you can drop into a script or app.

Built on [soothe-deepagents](https://github.com/mirasoth/soothe-deepagents) (filesystem, shell, subagents, skills, MCP). Nano adds the pieces you usually wire yourself: workspace safety, progressive tools/skills, research & explore subagents, and a config-driven factory.

## Vision

Give builders a production-shaped coding CoreAgent in a few lines of Python.

- **Start small** — chat, tools, or full composition
- **Stay portable** — embed in notebooks, CLIs, or your own service
- **Compose what you need** — tools, memory, subagents, skills, and MCP via config

## Architecture

```
soothe-deepagents   agent harness (FS, shell, memory, skills base)
        ↓
soothe-sdk          shared contracts (protocols, events)
        ↓
soothe-nano         coding CoreAgent + toolkits + subagents + MCP
```

```text
create_nano_agent(config)
        │
        ├─ model + middleware stack
        ├─ tools (builtin groups + yours)
        ├─ subagents (explorer, planner, research, browser, …)
        ├─ skills (progressive discovery)
        └─ MCP (on-demand activation)
```

## Features

| Area | What nano provides |
|---|---|
| Tools | Builtin groups: shell, file ops, HTTP, search, data, … |
| Subagents | Ready: explore, plan, deep/academic research, browser |
| Skills / tools in context | Progressive loading — activate what the turn needs |
| Workspace | Scoped workspace + security defaults |
| Config | YAML / `SootheConfig` factory |
| Memory | Optional long-term memory via protocols |
| MCP | Registry and on-demand adapters |

## vs deepagents

| | deepagents | soothe-nano |
|---|---|---|
| What you get | Opinionated harness | Harness **plus** coding product defaults |
| Tools | Bring your own | Builtin groups out of the box |
| Subagents | You define them | Ready explore / plan / research / browser |
| Skills / tools in context | Base support | Progressive loading |
| Workspace | Pluggable backends | Scoped workspace + security defaults |
| Config | Code-first | YAML / `SootheConfig` factory |

Use **deepagents** when you want a minimal harness and full control.  
Use **nano** when you want a coding agent that already knows how to work in a repo.

## When to use nano

| Scenario | Fit |
|---|---|
| Coding assistant in a repo | ✅ Files, shell, explore/plan out of the box |
| Research / browsing agent | ✅ Deep research, academic, browser subagents |
| Embed in your product | ✅ Library API, no daemon required |
| Plugin / toolkit author | ✅ Depends on nano only |
| Simple Q&A chat | ✅ Strip tools/subagents as needed |

## Install

```bash
uv add soothe-nano
```

## Quick start

```python
from soothe_nano import create_nano_agent
from soothe_nano.config import SootheConfig

agent = create_nano_agent(SootheConfig())
# agent.ainvoke / streaming — see examples/
```

Examples live in `examples/`:

1. Pure model (no tools)
2. With tools
3. With memory
4. With subagents
5. Full composition

```bash
python packages/soothe-nano/examples/01_pure_nano_example.py
```

## Package layout

```
soothe_nano/
  agent/       CodingCoreAgent, create_nano_agent
  config/      SootheConfig
  toolkits/    Builtin tool groups
  subagents/   explore, plan, research, browser, …
  middleware/  Progressive tools/skills, workspace, policy
  skills/      Catalog + progressive search
  mcp/         MCP registry / adapters
  backends/    Persistence helpers
```

## Development

From `packages/soothe-nano/`:

```bash
make help              # list targets
make sync-dev          # sync deps
make format lint       # format + lint
make test-unit         # unit tests
make test-integration  # integration tests (--run-integration)
make examples          # run examples
make build             # build dist/
```
