skillfed

nv-ingest-client

Python client for the nv-ingest service

nv-ingest-client v26.3.0 85.0K downloads/30d#13,960 on PyPI2,965
Permissive license Apache-2.0 Active released

What it is and what it does

NV-Ingest-Client is a Python library that acts as a client interface to NVIDIA's nv-ingest microservice, enabling programmatic submission and management of document processing jobs. It abstracts the complexity of communicating with the microservice by providing a high-level API for defining jobs, configuring extraction and splitting tasks, and submitting them for processing. The library includes task factories for common operations like text extraction from PDFs and document splitting by word, sentence, or passage boundaries, along with a command-line interface for direct terminal use.

The package is designed for workflows that require batch processing of large document collections—extracting text and images from PDFs, splitting documents into chunks for embedding or retrieval systems, and preparing data for downstream AI/ML pipelines. It depends on standard HTTP and data-handling libraries (httpx, requests, pydantic) to communicate with the microservice and manage job specifications, making it suitable for integration into data preparation and retrieval-augmented generation (RAG) systems.

Use it for:

  • Extract text and images from PDF documents in bulk and submit them to a processing pipeline via the nv-ingest service.
  • Split large documents into smaller chunks with configurable overlap for use in vector databases or semantic search systems.
  • Automate document ingestion workflows by defining job specifications with multiple extraction and splitting tasks.
  • Build data preparation pipelines that transform raw documents into structured, embeddings-ready text chunks.
  • Monitor and manage the status of long-running document processing jobs submitted to a remote nv-ingest microservice.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Python client library for submitting and managing document ingestion and processing jobs to the NVIDIA nv-ingest microservice, with support for extraction, splitting, and other data preparation tasks.

Yes, if you are building a document ingestion or data preparation pipeline that integrates with NVIDIA's nv-ingest microservice. The package has low install friction, active maintenance, permissive licensing, and no known vulnerabilities. Install only if you have a running nv-ingest microservice instance available and need Python-level control over job submission and task configuration; it is not a standalone tool.

Install

nv-ingest-client on PyPI

pip

pip install nv-ingest-client

uv

uv add nv-ingest-client

poetry

poetry add nv-ingest-client

Installing nv-ingest-client

Before you install

Low install friction with a pure Python wheel distribution. Active maintenance with recent releases; last commit 2026-08-14. Requires Python 3.11 or later. Depends on 12 runtime packages including pydantic, httpx, and lancedb, all widely available.

License in practice

Licensed under Apache-2.0 (permissive), allowing commercial use, modification, and distribution with minimal restrictions beyond attribution and license inclusion.

Quickstart

pip install nv-ingest-client

from nv_ingest_client.client.client import NvIngestClient
from nv_ingest_client.primitives.jobs import JobSpec
from nv_ingest_client.primitives.tasks import ExtractTask

client = NvIngestClient(message_client_hostname="localhost", message_client_port=7670)
extract_task = ExtractTask(document_type="pdf", extract_text=True)
job_spec = JobSpec(payload={"data": "example"}, tasks=[extract_task])
response = client.submit_job(job_spec)

Requires a running nv-ingest microservice instance accessible at the specified hostname and port (defaults to localhost:7670); Python 3.11 or later required.

Verify before relying

  • Whether the package works with Python versions newer than 3.11 (classifier only lists 3.11 explicitly)
  • Performance characteristics and throughput limits for large-scale document ingestion
  • Retry and error-handling behavior when the microservice is unavailable or slow to respond

Package facts

License Apache-2.0 (permissive)
Python support supports the current Python release (>=3.11)
Install friction low — pure-Python wheel
Runtime dependencies 12 — build, charset-normalizer, click, fsspec, httpx, pydantic, pydantic-settings, requests, urllib3, setuptools, tqdm, lancedb
Maintenance actively maintained — 151 days since the last release
Last repo commit
First released
Downloads 85,003/month — #13,960 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: nv_ingest_client-26.3.0-py3-none-any.whl

Operating System :: OS IndependentProgramming Language :: Python :: 3.11

Tags

document ingestion clientnvidia nv-ingest pythonbatch document processingpdf extraction and splittingdata preparation pipelinemicroservice job submissiontext extraction client
document-processingnvidia-ecosystemdata-preparation

More Text Processing packages