Skip to main content

omniload

Copy data between any source and any destination.

License Downloads / month Python versions

About

omniload is a polyglot data loader framework based on dlt, the open-source Python library for building data pipelines. dlt does the heavy lifting (schema inference, normalization, and incremental load state); omniload wraps it behind a single CLI and a URI scheme, so you can copy data between any source and any destination without writing pipeline code, either from your shell or the Python API.

omniload provides the same efficient incremental data loading modes inherited by dlt: append, merge, and delete+insert.

Install

Container

For running omniload in a container environment, use the provided OCI images.

docker run --rm ghcr.io/panodata/omniload:latest version

Package

For running or installing the omniload Python package, we are recommending to use uv. 12

uvx omniload

Alternatively, if you like to install it account-wide on your system:

uv tool install omniload

Synopsis

CLI

Instruct omniload to read from the PostgreSQL table public.some_data, and write to the BigQuery warehouse table omniload.some_data.

omniload ingest \
    --source-uri 'postgresql://admin:admin@localhost:8837/web?sslmode=disable' \
    --source-table 'public.some_data' \
    --dest-uri 'bigquery://<your-project-name>?credentials_path=/path/to/service/account.json' \
    --dest-table 'omniload.some_data'

Python API

Using omniload.run_ingest, you can run the same ingestion from your own application. The keyword arguments map one-to-one to the CLI options, and it returns the dlt LoadInfo for the run (or None for a dry run).

from omniload import run_ingest

info = run_ingest(
    source_uri="sqlite:///./source.db",
    dest_uri="duckdb:///./warehouse.duckdb",
    source_table="main.some_table",
    dest_table="public.some_table",
)
print(info)

See the Python API documentation for dry runs, error handling, and passing enum options as strings.

Handbook

Please visit the quickstart documentation, or inspect the list of supported sources and destinations.

Project

Contribute

Contributions are very much welcome. Please visit the sandbox documentation to learn how to spin up a development environment on your workstation and submit patches, or create a ticket to report a bug or propose a feature.

Status

Breaking changes should be expected until a 1.0 release, so version pinning is strongly recommended, especially when using this software as a library. For example:

pip install 'omniload[full]==0.0.42'

License

The project is licensed under the MIT License, see the LICENSE file for details. Some components are licensed under the Apache 2.0 license, see the NOTICE file for details.

Acknowledgements

This project would not have been possible without the amazing work by the authors and contributors to SQLAlchemy, dlt, and ingestr, turtles all the way down. Kudos.

  1. You can install uv using pip install uv, or another method that matches your operating system. ↩

  2. While installing omniload with vanilla pip is possible, it is an order of magnitude slower. ↩

Metadata

Release files for omniload 0.17.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for omniload 0.17.0
File Size Uploaded
omniload-0.17.0.tar.gz 477.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for omniload 0.17.0
File Interpreter ABI Platform
omniload-0.17.0-py3-none-any.whl Python 3 none any Details

Total release size: 1.1 MB

Release files / omniload-0.17.0.tar.gz

Download URL omniload-0.17.0.tar.gz
Size 477.5 kB
Tags Source
SHA-256 checksum
How to use checksums
58c536ae8e446c9b4ddb2dd6cd6c361b75e52ad4ced9f0b8131834e214004d6b
BLAKE2b-256 checksum
How to use checksums
a15a8ce27c174715e47655d7b9cc230f670a0f74234b6aed3f2e45cbb9a19b23
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 17, 2026.

Transparency log

Release files / omniload-0.17.0-py3-none-any.whl

Download URL omniload-0.17.0-py3-none-any.whl
Size 628.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8168b4729869b9f9c83f60628250c6a3a553289d12a07621862595e491a79f37
BLAKE2b-256 checksum
How to use checksums
33438fffc4be7da62f4a25e49fa2605e6557f715645fcdfee485b4c06c15502f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 17, 2026.

Transparency log

Release history Release notifications | RSS feed

0.19.0

2 release files

0.18.0

2 release files

This release

0.17.0 This release

2 release files

0.16.0

2 release files

0.13.0

2 release files

0.12.0

2 release files

0.11.0

2 release files

0.10.1

2 release files

0.10.0

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

0.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page