Skip to main content

Data transfer utilities between files and databases

Project description

Easy Data Loader 🚀

Easy Data Loader is a flexible, modular Python library designed to streamline ETL (Extract, Transform, Load) processes between various data sources (CSV, Excel, Parquet) and SQL databases (MSSQL, PostgreSQL, and others).

✨ Key Features

  • Declarative Configuration: Manage connections and pipelines through simple python files and .env resources.
  • Integrated CLI: Initialize a standardized project structure with a single command.
  • Custom Transformation Hooks: Inject your own Pandas transformation logic directly into the pipeline execution.
  • Performance Optimized: Built-in support for chunked loading and writing to handle large datasets efficiently.
  • Extensible Architecture: Uses a Factory Pattern for database connectors, making it easy to support new drivers.

📦 Installation

Install directly via pip or uv:

pip install easy_data_loader

🚀 Getting Started

  1. Initialize a new project structure to generate template configurations:
    easy-loader init
    
  2. Review the generated config/ folders for sample resources and pipelines.
  3. Run all discovered pipelines across the active configurations:
    easy-loader run_all
    

🏗️ Architecture & Process Flow

The system is designed with modularity in mind. Object dependencies and their standard instantiation lifecycle are executed through the Configuration singleton and the CONNECTOR_FACTORY.

graph TD
    %% Main Execution Flow
    CLI[CLI Application] -->|Instantiates| Pipeline[Pipeline: Load, Procedure, Orchestrator]
    
    %% Configuration and Definitions
    Pipeline -->|Requests Definition & Resources| Config[Configuration Singleton]
    Config -->|Reads| PipelineDef[Pipeline Definitions .py]
    Config -->|Reads| ResourcesEnv[Resource Configs .env]
    
    %% Instantiation of Operations
    Pipeline -->|Uses ResourceConfig| Factory[CONNECTOR_FACTORY]
    Factory -->|Creates| DBConn[DatabaseConnector: SqlServer, SQLite]
    DBConn -->|Provides Engine to| DBOps[DatabaseOperations]
    
    Pipeline -->|Uses FileSettings| FileOps[FileOperations]
    
    %% Pipeline dependencies
    Pipeline -->|Contains| DBOps
    Pipeline -->|Contains| FileOps
    
    %% Audit
    Pipeline -->|Uses| AuditOps[Audit DatabaseOperations]

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

easy_data_loader-0.1.1.tar.gz (33.4 kB view details)

Uploaded Source

Built Distribution

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

easy_data_loader-0.1.1-py3-none-any.whl (32.4 kB view details)

Uploaded Python 3

File details

Details for the file easy_data_loader-0.1.1.tar.gz.

File metadata

  • Download URL: easy_data_loader-0.1.1.tar.gz
  • Upload date:
  • Size: 33.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for easy_data_loader-0.1.1.tar.gz
Algorithm Hash digest
SHA256 060bcea5eec34c424da9fa033b43420736d0fa84932c56c755d932f9a3581b85
MD5 19b471fb71c03a73ff9a472e0f5c4425
BLAKE2b-256 1ff54e8aad4e5479637cac840e02ab520b72b2001beb5d39bea037a8e98688e0

See more details on using hashes here.

Provenance

The following attestation bundles were made for easy_data_loader-0.1.1.tar.gz:

Publisher: publish.yml on whatever82/easy_data_loader

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

File details

Details for the file easy_data_loader-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for easy_data_loader-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d3801504376691eff36f6464e82335f6a400695923d0f4b2668b0d532c590679
MD5 a6480c143fd3492c2ec531ca59d91b10
BLAKE2b-256 1a407ebf2a88da65dde4c6f160f76cb2bccbe556f2fb575f1731b893de16b23a

See more details on using hashes here.

Provenance

The following attestation bundles were made for easy_data_loader-0.1.1-py3-none-any.whl:

Publisher: publish.yml on whatever82/easy_data_loader

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