chunk-engine
Framework Integration

Framework Integration

Drop chunk-engine into any web handler — the same three-step recipe across Python, JavaScript, and Rust frameworks.

View raw

chunk-engine is a plain library call with no services, no global state, and no warm-up. That makes web integration the same everywhere, in every language:

  1. Read the uploaded bytes from the request.
  2. Pass them with a filename so the engine can route by extension (a named Blob/File supplies its own name).
  3. Return the chunks — or stream them as they're produced.

Pick a mode per use case

Handlers below use the default mode for brevity. In practice pass mode="semantic" for LLM/RAG ingestion or mode="section" for search indexing — see Chunking Modes.

By language

Streaming responses

All three language pages now carry an NDJSON streaming handler:

“Streaming” doesn't mean bounded memory

Forwarding chunks as NDJSON always makes the response incrementally consumable, but only three formats (PDF, spreadsheets, CSV) parse incrementally, and only in native Rust and Python. JavaScript's streamChunks computes the whole array before it yields the first item. Read Streaming before you rely on a handler to survive a file that getChunks could not.

Errors

Each page's handlers assume the happy path; map failures onto status codes explicitly. The Rust page has a complete ChunkError → IntoResponse mapping (415 / 400 / 422 / 500) and the JavaScript page has the same table for ChunkError.kind. The full contract is in Error Handling.

On this page