Metadata-Version: 2.4
Name: py-universal-loader
Version: 0.2.0
Summary: A unified, high-performance Python package for bulk-loading pandas DataFrames into diverse SQL databases and data warehouses.It provides a single, configuration-driven API that abstracts the most efficient native bulk-loading methods (e.g., `COPY`, `BULK INSERT`) for each backend.
License: Prosperity-3.0
License-File: LICENSE
License-File: NOTICE
Author: Gowtham A Rao
Author-email: gowtham.rao@coreason.ai
Requires-Python: >=3.12
Classifier: License :: Other/Proprietary License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Dist: boto3 (>=1.40.60,<2.0.0)
Requires-Dist: duckdb (>=1.4.1,<2.0.0)
Requires-Dist: google-cloud-bigquery (>=3.38.0,<4.0.0)
Requires-Dist: loguru (>=0.7.2,<0.8.0)
Requires-Dist: mysql-connector-python (>=9.5.0,<10.0.0)
Requires-Dist: pandas (>=2.3.3,<3.0.0)
Requires-Dist: psycopg2-binary (>=2.9.11,<3.0.0)
Requires-Dist: pyarrow (>=22.0.0,<23.0.0)
Requires-Dist: pyodbc (>=5.3.0,<6.0.0)
Requires-Dist: snowflake-connector-python[pandas] (>=4.0.0,<5.0.0)
Project-URL: Documentation, https://github.com/CoReason-AI/py_universal_loader
Project-URL: Homepage, https://github.com/CoReason-AI/py_universal_loader
Project-URL: Repository, https://github.com/CoReason-AI/py_universal_loader
Description-Content-Type: text/markdown

# py-universal-loader

A unified, high-performance Python package for bulk-loading pandas DataFrames into diverse SQL databases and data warehouses.It provides a single, configuration-driven API that abstracts the most efficient native bulk-loading methods (e.g., `COPY`, `BULK INSERT`) for each backend.

[![CI](https://github.com/CoReason-AI/py_universal_loader/actions/workflows/ci-cd.yml/badge.svg)](https://github.com/CoReason-AI/py_universal_loader/actions/workflows/ci-cd.yml)
[![PyPI version](https://badge.fury.io/py/py-universal-loader.svg)](https://badge.fury.io/py/py-universal-loader)

## Installation

You can install `py-universal-loader` from PyPI:

```sh
pip install py-universal-loader
```

## Usage

Here's a simple example of how to use `py-universal-loader` to load a pandas DataFrame into a SQLite database:

```python
import pandas as pd
from py_universal_loader import get_loader

# Sample DataFrame
data = {'col1': [1, 2], 'col2': [3, 4]}
df = pd.DataFrame(data)

# Configuration for SQLite
config = {
    "db_type": "sqlite",
    "db_path": ":memory:",
}

# Get the loader and load the data
loader = get_loader(config)
loader.connect()
loader.load_dataframe(df, "my_table")
loader.close()
```

