Skip to main content

🚀 OpenAutoLoader

PyPI version License: MIT Python 3.12+ Powered by Polars

OpenAutoLoader is a high-performance, incremental data ingestion engine. It bridges the gap between raw cloud storage and production-ready Delta Lakes using the lightning-fast Polars Rust engine.

Stop writing complex Spark jobs for simple file ingestion. OpenAutoLoader provides a "Databricks-style" Auto Loader experience in a lightweight Python package.


💡 Why OpenAutoLoader?

Traditional ingestion often requires heavy JVM clusters (Spark) or manual file tracking. OpenAutoLoader changes that:

  • Zero-Spark Overhead: Runs on standard Python environments with Rust-level performance.
  • Exactly-Once Processing: Integrated SQLite checkpointing ensures no duplicate data, even if a job restarts.
  • Schema First: Automatically infers, saves, and enforces JSON schema contracts to prevent data corruption.
  • Cloud Native: A single API for Local, S3, Azure Blob (ABFSS), and GCS.

🛠️ Installation

# Core (Local files only)
pip install open-auto-loader

# Full Cloud Support (Recommended)
pip install "open-auto-loader[all]"

🚀 Quick Start: S3 to Delta Lake

from open_auto_loader import OpenAutoLoader

# Define your cloud credentials
storage_options = {
    "aws_access_key_id": "YOUR_ACCESS_KEY",
    "aws_secret_access_key": "YOUR_SECRET_KEY",
    "region": "ap-south-1"
}

# Initialize the loader
loader = OpenAutoLoader(
    source="s3://my-raw-bucket/incoming_logs/",
    target="s3://my-silver-bucket/tables/user_logs",
    check_point="./metadata/checkpoints.db",
    schema_path="./metadata/schemas/",
    storage_options=storage_options
)

# Run the ingestion batch
loader.run(batch_id="daily_run_2026_03_18")

🏗️ Architecture: How it Works

  1. Scanner: Uses fsspec to identify new files since the last successful batch_id.
  2. Schema Guard: Checks the file header against the stored JSON contract in schema_path.
  3. Polars Engine: Streams the data using sink_delta(), minimizing memory footprint.
  4. Metadata Injection: Automatically adds _batch_id, _processed_at, and _source_file to every row for full auditability.
  5. Committer: Updates the SQLite checkpoint only after a successful Delta write.

📋 Compatibility Matrix

Feature Local AWS S3 Azure Blob Google GCS
Incremental Loading ✅ ✅ ✅ ✅
Schema Enforcement ✅ ✅ ✅ ✅
Service Principal Auth N/A ✅ ✅ ✅
Streaming Sink ✅ ✅ ✅ ✅

🤝 Contributing

Contributions are welcome! Whether it's a bug fix, a new cloud provider, or performance tuning, feel free to open a PR.

Created with ❤️ by Nitish Katkade

Metadata

Release files for open-auto-loader 0.2.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 open-auto-loader 0.2.0
File Size Uploaded
open_auto_loader-0.2.0.tar.gz 13.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for open-auto-loader 0.2.0
File Interpreter ABI Platform
open_auto_loader-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 30.8 kB

Release files / open_auto_loader-0.2.0.tar.gz

Download URL open_auto_loader-0.2.0.tar.gz
Size 13.3 kB
Tags Source
SHA-256 checksum
How to use checksums
0ad091a7e074c97dcb5f5d9f5c6efdc201d9723b7faa187ece41ed709acd23fc
BLAKE2b-256 checksum
How to use checksums
670dd918a12de8fde0d628881d137add91dc73ef4da9b05c50b50a401defcd97
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.8

Release files / open_auto_loader-0.2.0-py3-none-any.whl

Download URL open_auto_loader-0.2.0-py3-none-any.whl
Size 17.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c1e64412ce78a24f9e8a42884d71bca5c534abe9786541da427af86d9c585ee0
BLAKE2b-256 checksum
How to use checksums
995f64d2b38f4fbfa99508a35cbef4599cfa48d87fb43515d216a4b287e7b3a5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.8

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.1

2 release files

0.1.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