Skip to main content

The dbt of data ingestion - declarative, reliable, and testable data pipelines

Project description

Conduit Core

Python License Tests Coverage Code Style

Declarative data ingestion framework for Python — inspired by dbt's approach to analytics engineering.

Conduit Core is an open-source Python framework for building production-grade data pipelines. Move data between CSV, JSON, Parquet, PostgreSQL, MySQL, S3, Snowflake, and BigQuery with YAML configuration, automatic retries, checkpoints, and comprehensive testing.

Features

  • Declarative YAML Configuration — Define sources, destinations, and transformations without writing Python
  • 8 Connectors — CSV, JSON, Parquet, S3, PostgreSQL, MySQL, Snowflake, BigQuery
  • Production-Ready Reliability — Atomic operations, automatic retries, dead letter queue, checkpoint/resume
  • Schema Management — Auto-inference, validation, evolution tracking, and quality checks
  • Developer Experience — Rich progress bars, dry-run mode, audit trail, and comprehensive testing (141+ tests)

Quick Start

pip install conduit-core

Create ingest.yml:

sources:
  - name: users_csv
    type: csv
    path: "./users.csv"

destinations:
  - name: users_json
    type: json
    path: "./users.json"

resources:
  - name: csv_to_json
    source: users_csv
    destination: users_json

Run:

conduit run csv_to_json

Documentation

  • Installation & Setup — Installation, environment setup, and credentials
  • Usage Guide — CLI commands, pipeline configuration, and examples
  • Connectors — Configuration for all 8 connectors
  • Features — Reliability, checkpoints, DLQ, incremental loads
  • Architecture — Design patterns, tech stack, and structure
  • Data Quality — Schema validation and quality checks
  • Contributing — Development setup and contribution guidelines
  • Roadmap — Future features and connector expansion

Example: Incremental PostgreSQL → Snowflake

sources:
  - name: pg_source
    type: postgresql
    host: ${PG_HOST}
    database: analytics
    user: ${PG_USER}
    password: ${PG_PASSWORD}

destinations:
  - name: sf_dest
    type: snowflake
    account: ${SF_ACCOUNT}
    warehouse: COMPUTE_WH
    database: ANALYTICS
    schema: PUBLIC

resources:
  - name: incremental_load
    source: pg_source
    destination: sf_dest
    query: "SELECT * FROM events"
    incremental_column: created_at
    write_mode: append

Run with validation:

conduit preflight incremental_load
conduit run incremental_load

Why Conduit Core?

Built for data engineers who need the simplicity of declarative configuration with the reliability of enterprise-grade systems:

  • No boilerplate — YAML instead of Python for 90% of use cases
  • Crash-safe — Atomic writes, transactions, and checkpoint/resume
  • Observable — Audit trail, progress bars, and detailed error messages
  • Extensible — Plugin architecture for custom connectors
  • Battle-tested — 141+ tests covering edge cases and failure modes

Community

License

BSL 1.1 (Business Source License) — See LICENSE for details

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

conduit_core-1.0.0.tar.gz (105.2 kB view details)

Uploaded Source

Built Distribution

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

conduit_core-1.0.0-py3-none-any.whl (91.0 kB view details)

Uploaded Python 3

File details

Details for the file conduit_core-1.0.0.tar.gz.

File metadata

  • Download URL: conduit_core-1.0.0.tar.gz
  • Upload date:
  • Size: 105.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.12.5 Linux/6.6.87.2-microsoft-standard-WSL2

File hashes

Hashes for conduit_core-1.0.0.tar.gz
Algorithm Hash digest
SHA256 d595289df804d0d87100b0d47813319c87bcfc1ee98e37dae406e6303e6de497
MD5 871f8b3e68e98fcecccdfff467f275c3
BLAKE2b-256 84cdf79be1be2153991de16dcb0e55e321eaf1cfa478a077721e2ed33efa4aee

See more details on using hashes here.

File details

Details for the file conduit_core-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: conduit_core-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 91.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.12.5 Linux/6.6.87.2-microsoft-standard-WSL2

File hashes

Hashes for conduit_core-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f621bb242c13ca33b9f691e836144653eb0e5f6109cafd72dcc75ac1150dfdfb
MD5 81b0b47dbc7244a0fa816f863720ef67
BLAKE2b-256 c8971c30f570cebd1d16f5f1e017d12b0daa4863e2af49d31b317578f1da5217

See more details on using hashes here.

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