Skip to main content

condor-retl

Sync warehouse data to downstream partners from plain Python.

Quick Start

Install the core library with a source backend and destination connector:

pip install "condor-retl[duckdb]" condor-retl-meta

Declare the rows to send and run the sync:

import retl
from retl.backends.duckdb import DuckDBSqlBackend


db = DuckDBSqlBackend(
    database="warehouse.duckdb",
    source_schema="main",
    runtime_schema="retl",
)

newsletter_audience = retl.state(
    name="newsletter_audience",
    source=retl.source(
        name="newsletter_customers",
        mode="snapshot",
        backend=db.source_backend(),
        query="""
        select customer_id, email
        from customers
        where email is not null
        """,
    ),
    key={"customer_id": "customer_id"},
    identifiers=[{"type": "email", "value": "email"}],
    target=retl.target("newsletter_customers"),
)

meta = retl.destinations.load(
    "retl/meta",
    binding_name="meta_primary",
    credential_namespace="destinations.meta",
    config_namespace="destinations.meta",
)

result = retl.runner(
    name="newsletter_to_meta",
    runtime_store=db.runtime_store(),
).run(
    retl.sync(
        name="newsletter_to_meta",
        declaration=newsletter_audience,
        destination=meta,
        surface="custom_audiences",
    ),
    dry_run=True,
)

print(result.to_text())

Change dry_run=True to dry_run=False when the plan looks right.

Use a different source backend or partner connector when you need one:

pip install "condor-retl[snowflake]"
pip install "condor-retl[bigquery]"
pip install "condor-retl[databricks]"
pip install "condor-retl[postgresql]"

pip install condor-retl-klaviyo
pip install condor-retl-google-ads-data-manager
pip install condor-retl-bing-ads
pip install condor-retl-tiktok-ads

The distribution is condor-retl; the Python package is retl.

Configuration

By default, RETL reads config and secrets from environment variables. The Meta example above expects:

export DESTINATIONS__META__ACCESS_TOKEN="..."
export DESTINATIONS__META__AD_ACCOUNT_ID="act_..."

What You Declare

  • source: the SQL rows to read
  • state: current facts, such as audience membership or profile attributes
  • event: occurred facts, such as purchases or signups
  • sync: one state or event declaration bound to one partner surface
  • destination: the partner connector and account configuration

RETL runs syncs through durable collect -> stage -> reconcile -> sync phases, so dry runs, retries, and operator evidence use the same declarations as production sends.

Partners

First-party connector packages currently cover:

Package Connector ref
condor-retl-meta retl/meta
condor-retl-klaviyo retl/klaviyo
condor-retl-google-ads-data-manager retl/google-ads-data-manager
condor-retl-bing-ads retl/bing-ads
condor-retl-tiktok-ads retl/tiktok-ads

Metadata

Release files for condor-retl 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for condor-retl 0.1.1
File Size Uploaded
condor_retl-0.1.1.tar.gz 220.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for condor-retl 0.1.1
File Interpreter ABI Platform
condor_retl-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 518.1 kB

Release files / condor_retl-0.1.1.tar.gz

Download URL condor_retl-0.1.1.tar.gz
Size 220.7 kB
Tags Source
SHA-256 checksum
How to use checksums
a1fdbfd0dd0c7fcad5f650584c470de2c3463e0f866d623c868c04ea14fcfee7
BLAKE2b-256 checksum
How to use checksums
d08b72df91b97a1abed05464a56b2f5abe82671857fb88c925ab0d44d9cf8532
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 18, 2026.

Transparency log

Release files / condor_retl-0.1.1-py3-none-any.whl

Download URL condor_retl-0.1.1-py3-none-any.whl
Size 297.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
39082c03defd5be657af340f6cd310b172657d0979b08808e3b2bf684aa94547
BLAKE2b-256 checksum
How to use checksums
0c0a8727b30a24fe9df8911fcedc1bd7c10e6e76049258c14b35ee79805fabb7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 18, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.1 This release

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