Skip to main content

ChunkSmith CLI — multi-indexing (JSON/TOON) and PageIndexer pipelines.

Project description

chunksmith-cli (Python)

PyPI package chunksmith-cli v0.5.0 — Rich terminal for ChunkSmith indexing with Gemini-style arrow-key menus and loosely coupled storage.

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

What's new in 0.5.0

  • Unified LiteLLM gatewayCHUNKSMITH_LLM_MODEL + API_KEY / API_BASE / API_VERSION (Azure, OpenAI, Anthropic, Gemini, …)
  • Dynamic storageCHUNKSMITH_STORAGE_MODE=auto (default) detects Mongo+S3 env; falls back to ~/.chunksmith/data
  • Loose coupling — core/multimodal/pageindex work local-only; optional chunksmith-adapters[mvl] for online DB
  • Arrow-key menus, stepped configure wizard, chunksmith doctor, pipeline spinners
  • Optional extras: chunksmith-cli[online], [agent], [all]

Package layout (loose coupling)

Package Role Required by CLI
chunksmith-core Ports, preferences, shared LLM config yes
chunksmith-multimodal Multi-indexing pipeline yes
chunksmith-pageindex PageIndexer pipeline yes
chunksmith-adapters Mongo + S3 + Postgres (MVL) optional [online]
chunksmith-agent Document Q&A optional [agent]

Libraries never import chunksmith-adapters. The CLI wires online storage when env + adapters are present.

Environment variables

LLM (LiteLLM gateway)

Variable Purpose
CHUNKSMITH_LLM_MODEL e.g. azure/gpt-4o, openai/gpt-4o, anthropic/claude-3-5-sonnet
API_KEY Provider API key
API_BASE Custom endpoint (Azure / proxy); empty for direct OpenAI
API_VERSION Azure API version

Storage

Variable Purpose
CHUNKSMITH_STORAGE_MODE auto (default), local, or online
CHUNKSMITH_LOCAL_DATA_DIR Override local data root
CHUNKSMITH_USER_ID / CHUNKSMITH_PROJECT_ID Online scope (defaults: cli / default)

Auto-detect online when MONGODB_URI + S3_* are set and chunksmith-adapters is installed.

Online stack (from MVL .env): DATABASE_URL, S3_LAYOUT, S3_ACCESS_KEY_ID, S3_SECRET_ACCESS_KEY, S3_PUBLIC_BASE_URL, S3_ENDPOINT_URL, S3_PREFIX_*, MONGODB_URI, MONGODB_DB_NAME, UNSTRUCTURED_API_KEY, …

Development

cd ChunkSmith
uv sync
chunksmith

Tests

cd ChunkSmith
uv run pytest packages/chunksmith-core/tests packages/chunksmith-cli/tests packages/chunksmith-agent/tests -q

PyPI install

# Minimal — local disk only
pipx install "chunksmith-cli==0.5.0"

# Online storage + agent Q&A
pipx install "chunksmith-cli[all]==0.5.0"

# uv (toon pre-release pin)
uv tool install "chunksmith-cli[all]==0.5.0" --prerelease=allow
chunksmith configure   # stepped wizard → ~/.chunksmith/.env
chunksmith doctor      # LLM + storage + adapters check
chunksmith --no-ui     # CI / non-interactive

Publish to PyPI (maintainers)

From ChunkSmith repo root, in dependency order:

$env:UV_PUBLISH_TOKEN = "pypi-...."   # or: uv auth login

$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
  Pop-Location
}

Verify before publish:

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

chunksmith_cli-0.5.0.tar.gz (200.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

chunksmith_cli-0.5.0-py3-none-any.whl (217.8 kB view details)

Uploaded Python 3

File details

Details for the file chunksmith_cli-0.5.0.tar.gz.

File metadata

  • Download URL: chunksmith_cli-0.5.0.tar.gz
  • Upload date:
  • Size: 200.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.13 {"installer":{"name":"uv","version":"0.9.13"},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for chunksmith_cli-0.5.0.tar.gz
Algorithm Hash digest
SHA256 8c4033e93e7ba9355de3d0de6165ac9e4a2bc600af8ea11c7b8d9a005c4db819
MD5 a93bfaf653f931ce164da29db7a64baa
BLAKE2b-256 6c151dc17c48ac4063ebfa1065c244f28a85eeaac790af6e73f8e0ced9152bd1

See more details on using hashes here.

File details

Details for the file chunksmith_cli-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: chunksmith_cli-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 217.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.13 {"installer":{"name":"uv","version":"0.9.13"},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for chunksmith_cli-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b1312718e70884136dba3adfd827b9e46c61590defa98526d68dfee15847d929
MD5 a66afdb14c7fc4e74e56e243be2ad2ac
BLAKE2b-256 2063e4c472d2b239a2a0ab94a97ede76b1d8385cc732769513e41df3149ec14f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page