Metadata-Version: 2.4
Name: chunksmith-cli
Version: 0.6.60
Summary: ChunkSmith CLI — modular indexing, storage, and document Q&A.
License: MIT
Project-URL: Homepage, https://github.com/AnshulParate2004/ChunkSmith
Project-URL: Repository, https://github.com/AnshulParate2004/ChunkSmith
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE.vectify
Requires-Dist: python-dotenv>=1.0.0
Requires-Dist: rich>=13.0.0
Requires-Dist: questionary>=2.0.0
Requires-Dist: httpx>=0.27.0
Requires-Dist: chunksmith-core<0.7,>=0.6.2
Provides-Extra: unstructured
Requires-Dist: chunksmith-multimodal[llm,pdf,toon]<0.7,>=0.6.2; extra == "unstructured"
Provides-Extra: pageindex
Requires-Dist: chunksmith-pageindex[llm,pdf]<0.7,>=0.6.2; extra == "pageindex"
Provides-Extra: online
Requires-Dist: chunksmith-adapters[online]<0.7,>=0.6.11; extra == "online"
Provides-Extra: agent
Requires-Dist: chunksmith-agent[langchain]<0.7,>=0.6.20; extra == "agent"
Provides-Extra: indexing
Requires-Dist: chunksmith-multimodal[llm,pdf,toon]<0.7,>=0.6.2; extra == "indexing"
Requires-Dist: chunksmith-pageindex[llm,pdf]<0.7,>=0.6.2; extra == "indexing"
Provides-Extra: all
Requires-Dist: chunksmith-multimodal[llm,pdf,toon]<0.7,>=0.6.2; extra == "all"
Requires-Dist: chunksmith-pageindex[llm,pdf]<0.7,>=0.6.2; extra == "all"
Requires-Dist: chunksmith-adapters[online]<0.7,>=0.6.11; extra == "all"
Requires-Dist: chunksmith-agent[langchain]<0.7,>=0.6.20; extra == "all"
Dynamic: license-file

# chunksmith-cli (Python)



PyPI package **`chunksmith-cli`** v0.6.0 — modular Rich terminal for ChunkSmith indexing, storage, and document Q&A.



Part of the **ChunkSmith** monorepo (`packages/chunksmith-cli`).



## What's new in 0.6.0



- **Minimal core install** — `pip install chunksmith-cli` installs only the CLI shell + `chunksmith-core`

- **Modular extras** — pick pipelines and features at install time

- **`chunksmith install`** — interactive extra picker (runs pip/uv for you)

- **Dynamic menus** — only shows modes for installed packages

- **Slash commands** — `/exit`, `/back`, `/revert` at any prompt (also without `/`)

- **Stepped wizards** — `/revert` rewinds to the previous configure/indexing step



## Install profiles



| Command | What you get |

|---------|----------------|

| `pip install chunksmith-cli` | Core CLI: `configure`, `doctor`, `install`, **View** saved JSON |

| `pip install "chunksmith-cli[unstructured]" --pre` | + Unstructured pipeline |

| `pip install "chunksmith-cli[pageindex]"` | + PageIndexer |

| `pip install "chunksmith-cli[online]"` | + Mongo/S3 adapters |

| `pip install "chunksmith-cli[agent]"` | + Document Q&A |

| `pip install "chunksmith-cli[indexing]" --pre` | Both indexing pipelines |

| `pip install "chunksmith-cli[all]==0.6.0" --pre` | Full product |



After a minimal install:



```bash

chunksmith install    # pick extras interactively

chunksmith configure  # LLM + storage wizard

chunksmith doctor     # verify env + installed packages

chunksmith            # main menu (modes depend on installed extras)

```



## Migration from 0.5.x



```bash

pip install --upgrade "chunksmith-cli[all]==0.6.0" --pre

# or

uv tool install "chunksmith-cli[all]==0.6.0" --prerelease=allow --force

```



## Package layout (loose coupling)



| Package | Extra | Enables |

|---------|-------|---------|

| `chunksmith-core` | (base) | configure, doctor, view |

| `chunksmith-multimodal` | `[unstructured]` | Unstructured pipeline |

| `chunksmith-pageindex` | `[pageindex]` | PageIndexer |

| `chunksmith-adapters` | `[online]` | Mongo + S3 storage |

| `chunksmith-agent` | `[agent]` | Document Q&A |



## Navigation commands



At any text prompt or yes/no menu:



| Command | Action |

|---------|--------|

| `/exit` or `exit` | Quit CLI immediately |

| `/back` or `back` | Return to main menu |

| `/revert` or `revert` | Re-edit previous wizard step |



## Environment variables



### LLM (LiteLLM gateway)



| Variable | Purpose |

|----------|---------|

| `CHUNKSMITH_LLM_MODEL` | e.g. `azure/gpt-4o`, `openai/gpt-4o` |

| `API_KEY` | Provider API key |

| `API_BASE` | Custom endpoint (Azure / proxy) |

| `API_VERSION` | Azure API version |



### Storage



| Variable | Purpose |

|----------|---------|

| `CHUNKSMITH_STORAGE_MODE` | `auto` (default), `local`, or `online` |

| `CHUNKSMITH_LOCAL_DATA_DIR` | Override local data root |



## Development



```bash

cd ChunkSmith

uv sync

uv run chunksmith

```



## Tests



```bash

cd ChunkSmith

uv run pytest packages/chunksmith-cli/tests -q

```



## Publish to PyPI (maintainers)



From `ChunkSmith` repo root, in dependency order:



```powershell

$pkgs = @(

  "packages\chunksmith-core",

  "packages\chunksmith-multimodal",

  "packages\chunksmith-pageindex",

  "packages\chunksmith-adapters",

  "packages\chunksmith-agent",

  "packages\chunksmith-cli"

)

foreach ($p in $pkgs) { Push-Location $p; uv build; uv publish .\dist\*0.6.0*; Pop-Location }

```

