Skip to main content

omniload is a polyglot data loader based on dlt. Copy data between any source and any destination.

Project description

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. It allows you to load data from any source into any destination, either using a concise CLI from your shell, or the Python API from your own applications.

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

Install

We recommend using uv to install or run omniload.

pip install uv
uvx omniload

Alternatively, if you'd like to install it globally:

uv pip install --system omniload

While installation with vanilla pip is possible, it's an order of magnitude slower.

Synopsis

The next command instructs omniload to read the table public.some_data from your PostgreSQL instance, and to write the data to your BigQuery warehouse under the schema omniload and table 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'

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.

Project details


Download files

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

Source Distribution

omniload-0.2.0.tar.gz (410.6 kB view details)

Uploaded Source

Built Distribution

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

omniload-0.2.0-py3-none-any.whl (513.9 kB view details)

Uploaded Python 3

File details

Details for the file omniload-0.2.0.tar.gz.

File metadata

  • Download URL: omniload-0.2.0.tar.gz
  • Upload date:
  • Size: 410.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for omniload-0.2.0.tar.gz
Algorithm Hash digest
SHA256 4cd0c935ee5026a37341e201b6982afe232836729c7445a41e95dc4a782b14b8
MD5 1139207ae4e9034017e9cab1df9843e7
BLAKE2b-256 d0b2bba34cb24d0dd82e5eb89e05762a4ec43835f2c44109500e8b31881a75bd

See more details on using hashes here.

Provenance

The following attestation bundles were made for omniload-0.2.0.tar.gz:

Publisher: release-pypi.yml on panodata/omniload

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file omniload-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: omniload-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 513.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for omniload-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 55e1d65864f110eabd17497e08582fa051a1a2083c35362d8ebea6a4668b76ce
MD5 62ef1c7e5e2b9e7674019d0a88680f94
BLAKE2b-256 1e10488bc2eef76eb0ea0285fa6994dadda0432817330303fd00efc1f6d87ff9

See more details on using hashes here.

Provenance

The following attestation bundles were made for omniload-0.2.0-py3-none-any.whl:

Publisher: release-pypi.yml on panodata/omniload

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page