Skip to main content
Omni Ingest

Multimodal ingestion that does not dictate your stack

License Python Version Coverage CI

OmniIngest is a multimodal ingestion framework for building reusable knowledge pipelines. It turns documents, web pages, images, and audio into validated knowledge items without the faff of stitching together one-off preprocessing scripts.

Documentation: omniingest.onrender.com

Why use OmniIngest

  • Multimodal processing. PDF, DOCX, HTML, images, audio, and plain text use one pipeline model.
  • Multiple model providers. Every model-backed step can select its own Pydantic AI model. Chat and embedding models are configured independently.
  • Storage-independent pipelines. YAML describes transformation. CLI or Python caller chooses JSON, vector store, graph store, or another output.
  • Structured when needed. JSON Schema output, jq transforms, and step validation turn model results into predictable data.
  • Built for sizeable jobs. fsspec resources, concurrent stages, progress events, and stage checkpoints keep long ingestion runs manageable.

Quick start

Install command-line tool with uv:

uv tool install omni-ingest

Create a pipeline which extracts text and makes sentence-aware chunks:

pipeline_id: school_notes
domain_profile: education

steps:
  - agent: text
  - agent: chunking
    config:
      chunk_size: 900
      overlap: 120

Run it against a PDF:

omni-ingest school_notes.yaml \
  --input lessons/soil-erosion.pdf \
  --output build/soil-erosion.json

YAML stops at transformation. Pick storage at run time:

omni-ingest school_notes.yaml --input lessons/soil-erosion.pdf --output - | jq '.items | length'
omni-ingest retrieval.yaml --input handbooks/*.pdf --output vector:default

Learn more

Development

git clone https://github.com/A4i-tech/OmniIngest.git
cd OmniIngest
uv sync --dev
uv run pytest tests/unit

Download files

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

Source Distribution

omni_ingest-0.1.0.tar.gz (45.4 kB view details)

Uploaded Source

Built Distribution

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

omni_ingest-0.1.0-py3-none-any.whl (58.9 kB view details)

Uploaded Python 3

File details

Details for the file omni_ingest-0.1.0.tar.gz.

File metadata

  • Download URL: omni_ingest-0.1.0.tar.gz
  • Upload date:
  • Size: 45.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.32 {"installer":{"name":"uv","version":"0.11.32","subcommand":["publish"]},"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 omni_ingest-0.1.0.tar.gz
Algorithm Hash digest
SHA256 4b1b91fc8323a4d70255a2d7d3dd7c4d765440050203ce35dff5cf43e03c5bcb
MD5 1e4ccb7f229ebe519dbe7af609a3c7db
BLAKE2b-256 ce59b1a626cc28d9c1b7e39467bcc5e6b58903861e601c0dcbb659b0eba4512f

See more details on using hashes here.

File details

Details for the file omni_ingest-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: omni_ingest-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 58.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.32 {"installer":{"name":"uv","version":"0.11.32","subcommand":["publish"]},"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 omni_ingest-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 131e9285fc9b10b8bb42055a421236d65b1029340bf05b9a3a52e50b03cccb38
MD5 a27dbdf5c35aa2659ad5d8abbda4ec69
BLAKE2b-256 f97be80f0e72f86f461557fa418d573a749fcf9e624e1455c1333222d25d8d2e

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 Sentry Error logging StatusPage Status page