Skip to content

btwld/docling-sdk

Repository files navigation

Docling SDK

TypeScript SDK for Docling -- bridge between the Python Docling ecosystem and JavaScript/TypeScript.

npm version GitHub release npm downloads License Ask DeepWiki

What is Docling SDK?

Docling SDK provides document conversion, OCR, and chunking capabilities in TypeScript. It supports three client modes: an API client for Docling Serve, a CLI client wrapping the Python Docling tool, and a Web OCR client running entirely in the browser via WebGPU/WASM. The SDK works across Node.js, Bun, Deno, browsers, and Cloudflare Workers.

Installation

npm install docling-sdk

Also available via GitHub Package Registry: npm install @btwld/docling-sdk

For Web OCR, install peer dependencies: npm install @huggingface/transformers onnxruntime-web

See the Getting Started guide for prerequisites and setup.

Quick Start

API Client

import { readFile } from "node:fs/promises";
import { Docling } from "docling-sdk";

const client = new Docling({ api: { baseUrl: "http://localhost:5001" } });
const buffer = await readFile("./document.pdf");

const result = await client.convert(buffer, "document.pdf", { to_formats: ["md"] });
console.log(result.document.md_content);

Full API Client guide

CLI Client

import { Docling } from "docling-sdk";

const client = new Docling({ cli: { outputDir: "./output" } });
const result = await client.convert("./document.pdf", "document.pdf", { to_formats: ["md"] });
console.log(result.document.md_content);

Full CLI Client guide

Web OCR

import { createWebClient } from "docling-sdk/web";

const client = createWebClient({ device: "webgpu" });
await client.initialize();

const result = await client.processImage(imageFile);
console.log(result.markdown);
client.destroy();

Full Web Client guide

Feature Matrix

Feature API CLI Web
Document conversion (PDF, DOCX, PPTX, HTML, images, ...) Yes Yes Yes
Output formats (Markdown, JSON, HTML, text, DocTags) Yes Yes Yes
Streaming (content, ZIP, input) Yes -- --
Async tasks with progress Yes -- --
Document chunking (RAG) Yes -- --
S3 integration Yes -- --
VLM pipeline Yes Yes --
ASR pipeline -- Yes --
Batch processing -- Yes --
Directory watching -- Yes --
Browser-based OCR (no server) -- -- Yes
WebSocket progress tracking Yes -- --

Documentation

Guides

  • Getting Started -- installation, prerequisites, first conversion
  • Configuration -- all config options for API, CLI, and Web clients
  • Error Handling -- error hierarchy, retry logic, Result pattern
  • TypeScript -- type guards, Result types, OpenAPI types, Zod validation

Client Guides

Feature Guides

Reference

Requirements

Requirement Version
Node.js >= 18.0.0
TypeScript (optional) >= 4.9.0
Docling Serve (API mode) Latest
Python Docling (CLI mode) Latest
WebGPU/WASM (Web mode) Chrome 113+ or WASM fallback

Contributing

Contributions are welcome. Please read the Contributing Guide for details.

License

BSD 3-Clause License -- see LICENSE for details.

Related Projects

About

A TypeScript SDK for Docling - Bridge between the Python Docling ecosystem and JavaScript/TypeScript.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors