Skip to main content

A lightweight Extract-Load tool for building simple, reliable batch data transfer pipelines

Project description

XLT — The YAML-first Data Move Tool

Pronounced: ex-ell-tee

XLT is a lightweight Extract–Load tool for building simple, reliable batch data movement pipelines.
Write a single YAML file that defines an extract and a load step, and run it anywhere with a clean, fast CLI.

XLT gives data engineers a predictable, extensible, Git-native way to move data between databases, APIs, files, and cloud warehouses — without operating a control plane or writing yet another custom Python script.


🚀 Features

  • YAML-first pipelines — define your extract and load declaratively
  • CLI-first design — run pipelines from the command line or any orchestrator
  • Extensible — create custom extractors/loaders with minimal Python
  • Portable — works anywhere Python runs (local, cron, Airflow, Prefect, GitHub Actions, on-prem)
  • Incremental loads — simple watermark & key-based incremental patterns
  • Load strategies — append, truncate-insert, merge (planned)
  • Zero platform overhead — no UI, no scheduler, no metadata DB
  • Engineer-friendly — CLI-first, Git-native, orchestration-agnostic

If you’ve ever written a one-off Python script to copy data from A to B, XLT replaces that with a clean YAML pipeline and a battle-tested execution engine.


Design Philosophy

XLT aims to occupy the gap between:

“I’ll write another custom Python script…” and “Let’s deploy Airbyte / a managed ELT platform.”

Principles:

  • Simplicity over magic
  • Declarative over imperative
  • Small surface area
  • No servers
  • Do one thing well: move data

If dbt is the “data build tool”, XLT is the data move tool.

📦 Installation

pip install xlt

🤝 Contributing

XLT is designed to be open, simple, and community-friendly.

Ways to contribute:

  • Create a new adapter (database, file, API, cloud service)
  • Improve docs and examples
  • Add validator rules for YAML schema
  • Build testing fixtures
  • Submit ideas for features

PRs are welcome!

📄 License

MIT License.

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

xlt_core-0.0.1.tar.gz (617.8 kB view details)

Uploaded Source

Built Distribution

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

xlt_core-0.0.1-py3-none-any.whl (3.7 kB view details)

Uploaded Python 3

File details

Details for the file xlt_core-0.0.1.tar.gz.

File metadata

  • Download URL: xlt_core-0.0.1.tar.gz
  • Upload date:
  • Size: 617.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for xlt_core-0.0.1.tar.gz
Algorithm Hash digest
SHA256 9c935cce5df5c2892c2fc6707fa6e1399d89c6d9469fb2c234322b0095ef78e5
MD5 5caee3e8d335c2e3b5fa1b7a9609844e
BLAKE2b-256 eb8c2234cd89e058cec7faddabaf340abd3d0ac20e5d139c1ecdb44898a73d45

See more details on using hashes here.

File details

Details for the file xlt_core-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: xlt_core-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 3.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for xlt_core-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e10b837e9576b41bd86598832cc0d0c23083f413f3edcad01ea9f7eaf1fd194c
MD5 727acfa7caac14ac1cd1cb1e467b95a2
BLAKE2b-256 cb366e8de7fd9a88725e4a3b4d90421235e33da49ed8eeeeb60d352803ce2630

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