Vibeleaderboard
Index / tool
Visit datalab.to
Category
AI Tools
Rank
No. 1146Tools index
Pricing
Open Source
Type
TOOL
Builder
datalab-to
GitHub
11 stars
Latest release
v0.5.0
Date

About

Official Python SDK for Datalab, an OCR-free document extraction and markdown conversion API.

What it does

Datalab SDK uploads documents to a hosted service, waits for processing, and returns structured result objects. It supports synchronous and asynchronous Python clients plus a command-line interface. Beyond conversion, its models cover OCR, schema-based extraction, segmentation, form filling, custom processors, tracked changes, and dependent workflow steps.

Why it's ranked here

This is a practical client for teams already committed to Datalab’s service. It handles job submission, status polling, transient retry behavior, batch concurrency, output persistence, and multiple response formats. The broad operation set and live integration tests inspire confidence, though authentication and hosted processing make it unsuitable as a standalone document engine.

What's good

The client offers both synchronous and asynchronous access without splitting the feature model. Rate limits, request timeouts, server failures, and polling are handled with scoped retries. Large JSON responses can stream to disk while key status fields are parsed incrementally. The command-line interface can recursively process directories with bounded concurrency and progress reporting.

Tradeoffs

Every client operation requires an API key and network access to the hosted service. Processing is job-oriented, so callers may wait through repeated polling and must choose timeout limits. The dependency set is substantial for a thin client. Packaging metadata and the runtime user-agent setting also report different versions, which can complicate diagnostics.

How to use it well

Use it in Python ingestion pipelines that turn mixed office files, PDFs, images, spreadsheets, presentations, HTML, or EPUB into downstream content and structured data. Prefer the asynchronous client or directory command for batches, and stream large responses to disk. It does not replace local document processing, offline OCR, storage orchestration, or a general workflow scheduler.

Technical notes+

pyproject.toml packages datalab_sdk with Hatchling, requires Python 3.10 or newer, and exposes datalab = "datalab_sdk.cli:cli"; its project version is 0.5.0, while datalab_sdk/settings.py sets VERSION to 0.4.0. datalab_sdk/client.py implements an aiohttp async core, a synchronous wrapper, Tenacity retries, polling, and incremental ijson parsing while streaming responses through temporary files. datalab_sdk/models.py uses dataclasses for request options, workflow entities, and conversion results with file-saving behavior. datalab_sdk/cli.py adds recursive discovery, bounded asynchronous concurrency, progress reporting, and output directories. integration/test_live_api.py and integration/test_readme_examples.py exercise real authenticated API calls rather than isolated unit behavior.

Observed

License
MIT
Primary language
Python
Python support
Python 3.10 or newer
Installation
Published package installed with pip as datalab-python-sdk
Interfaces
Synchronous Python library, asynchronous Python library, CLI, and hosted API client
Document extensions
PDF, common image and office formats, spreadsheets, presentations, HTML, and EPUB
Test structure
Repository includes authenticated live integration tests and tests for documented examples

Read from README.md, pyproject.toml, datalab_sdk/cli.py, datalab_sdk/client.py, datalab_sdk/models.py, datalab_sdk/__init__.py, integration/__init__.py, datalab_sdk/settings.py, datalab_sdk/mimetypes.py, datalab_sdk/exceptions.py, integration/test_live_api.py, integration/test_readme_examples.py, recipes/workflows/end_to_end_workflow.py, recipes/workflows/workflow_api_tutorial/2_get_workflows.py, recipes/workflows/workflow_api_tutorial/5_poll_workflow.py.

What it can do

  • Extract text from documents without OCR

    Document fileExtracted text data

  • Convert documents to markdown format

    Document fileMarkdown formatted text

  • Process documents through Python SDK

    Document file and Python codeStructured document data

  • Connect to Datalab API services

    API credentials and documentAPI response with processed document

  • Extract structured data from documents

    Unstructured documentStructured data format

Tags

ocrdocumentsdkpythondatalab

Tech Stack

Python

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.