Skip to main content

Official plugins for agora-etl — Kafka, PostgreSQL, Redis, cron scheduling, and distributed coordination.

Project description

Agora ETL Plugins

Official plugin collection for agora-etl — Redis, cron scheduling, distributed coordination, Kafka, and PostgreSQL.

License Python PyPI


Overview

agora-etl-plugins extends agora-etl with production-ready integrations. Plugins are auto-discovered via Python entry-points — install the package and they register themselves automatically, no manual wiring needed.

Canonical ecosystem docs live in the Agora docs site:

  • Plugin ecosystem overview: https://agora.my-working.com/plugins/
  • Core docs home: https://agora.my-working.com/

This README stays focused on package-specific quickstart information.

from agora import DeliveryConfig, Pipeline
from agora_plugins.redis.sources import RedisStreamSource
from agora_plugins.redis.sinks import RedisSink

summary = await (
    Pipeline(RedisStreamSource(url="redis://localhost:6379", stream="events", group="my-group", consumer="worker-1"))
    .build(
        RedisSink(url="redis://localhost:6379", key_fn=lambda r: r["id"]),
        config=DeliveryConfig(batch_size=100),
    )
    .run()
)
print(f"written={summary.records_written}  errors={summary.records_errored}")

Install

pip install "agora-etl-plugins[redis]"        # Redis source, sink, state, DLQ, dedup, AI cache
pip install "agora-etl-plugins[cron]"         # Cron schedule support for ScheduledPipeline
pip install "agora-etl-plugins[distributed]"  # Redis-backed distributed worker coordination
pip install "agora-etl-plugins[kafka]"        # Kafka source and sink
pip install "agora-etl-plugins[postgres]"     # PostgreSQL source, sink, DLQ, schema adapter
pip install "agora-etl-plugins[all]"          # Everything in one install

This package now targets agora-etl>=0.2.2.

For plugin sources such as Redis Streams, Kafka, and PostgreSQL, agora-etl 0.2.2 adds two core improvements worth adopting by default:

  • DeliveryConfig(batch_size=100) improves throughput on the linear lane.
  • BatchMiddleware now works correctly even when the source emits one record at a time.

For long-lived consumers that batch writes, agora-etl 0.2.2 also adds DeliveryConfig(batch_flush_interval_ms=...) so partial sink batches can flush without forcing the worker run to end.

If your pipelines checkpoint frequently, you can also enable the Rust checkpoint hot path from the core package:

pip install "agora-etl[rs]" "agora-etl-plugins[redis]"

Available plugins

Redis [redis]

Full Redis integration — streaming ingestion, writes, dead-letter queue, state, deduplication, and LLM response caching.

Component Type Description
RedisStreamSource Source Consume records from a Redis Stream via XREADGROUP
RedisSink Sink Write records to Redis (SET / LPUSH / RPUSH / XADD)
RedisDLQSink Sink Route failed records to a Redis-backed dead-letter queue
RedisDLQSource Source Replay failed records from the Redis DLQ
RedisBackend State Redis-backed state backend with TTL and membership support
RedisStore Dedup Exact-match deduplication via Redis SET NX
RedisEmbeddingStore Dedup Semantic deduplication using cosine similarity (up to ~10k entries)
RedisLLMCache AI Cache Distributed LLM response cache backed by Redis

License

Apache 2.0 — see 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

agora_etl_plugins-0.3.1.tar.gz (65.1 kB view details)

Uploaded Source

Built Distribution

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

agora_etl_plugins-0.3.1-py3-none-any.whl (56.0 kB view details)

Uploaded Python 3

File details

Details for the file agora_etl_plugins-0.3.1.tar.gz.

File metadata

  • Download URL: agora_etl_plugins-0.3.1.tar.gz
  • Upload date:
  • Size: 65.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for agora_etl_plugins-0.3.1.tar.gz
Algorithm Hash digest
SHA256 a584c6058aa15c0c201c1df43950e25e33736cb16364f07fd71c7f82669ec9e9
MD5 0be1368edbea4493d87dc9c624eb9ad4
BLAKE2b-256 b4467e6037f7e1e1c5bf34027173b741d0c8f6dbcd417ce8f5968297f7a9b435

See more details on using hashes here.

Provenance

The following attestation bundles were made for agora_etl_plugins-0.3.1.tar.gz:

Publisher: release.yml on thanhtham010891/agora-etl-plugins

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

File details

Details for the file agora_etl_plugins-0.3.1-py3-none-any.whl.

File metadata

File hashes

Hashes for agora_etl_plugins-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d1d12ac15bbdd72fe41517f437876649bef343bd30ce309f67b7d595f8641f71
MD5 f071c8b89efba5b5fba865d9423e73c5
BLAKE2b-256 7a5f43fbf83ad89165e186513f0aaa69d208667e098e39f73a0c86be9da7804d

See more details on using hashes here.

Provenance

The following attestation bundles were made for agora_etl_plugins-0.3.1-py3-none-any.whl:

Publisher: release.yml on thanhtham010891/agora-etl-plugins

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