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.
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.BatchMiddlewarenow 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a584c6058aa15c0c201c1df43950e25e33736cb16364f07fd71c7f82669ec9e9
|
|
| MD5 |
0be1368edbea4493d87dc9c624eb9ad4
|
|
| BLAKE2b-256 |
b4467e6037f7e1e1c5bf34027173b741d0c8f6dbcd417ce8f5968297f7a9b435
|
Provenance
The following attestation bundles were made for agora_etl_plugins-0.3.1.tar.gz:
Publisher:
release.yml on thanhtham010891/agora-etl-plugins
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agora_etl_plugins-0.3.1.tar.gz -
Subject digest:
a584c6058aa15c0c201c1df43950e25e33736cb16364f07fd71c7f82669ec9e9 - Sigstore transparency entry: 1708732641
- Sigstore integration time:
-
Permalink:
thanhtham010891/agora-etl-plugins@46986340cb1c95e4f9ab035b6fbfb747de2e94d3 -
Branch / Tag:
refs/tags/v0.3.1 - Owner: https://github.com/thanhtham010891
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@46986340cb1c95e4f9ab035b6fbfb747de2e94d3 -
Trigger Event:
release
-
Statement type:
File details
Details for the file agora_etl_plugins-0.3.1-py3-none-any.whl.
File metadata
- Download URL: agora_etl_plugins-0.3.1-py3-none-any.whl
- Upload date:
- Size: 56.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d1d12ac15bbdd72fe41517f437876649bef343bd30ce309f67b7d595f8641f71
|
|
| MD5 |
f071c8b89efba5b5fba865d9423e73c5
|
|
| BLAKE2b-256 |
7a5f43fbf83ad89165e186513f0aaa69d208667e098e39f73a0c86be9da7804d
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agora_etl_plugins-0.3.1-py3-none-any.whl -
Subject digest:
d1d12ac15bbdd72fe41517f437876649bef343bd30ce309f67b7d595f8641f71 - Sigstore transparency entry: 1708732681
- Sigstore integration time:
-
Permalink:
thanhtham010891/agora-etl-plugins@46986340cb1c95e4f9ab035b6fbfb747de2e94d3 -
Branch / Tag:
refs/tags/v0.3.1 - Owner: https://github.com/thanhtham010891
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@46986340cb1c95e4f9ab035b6fbfb747de2e94d3 -
Trigger Event:
release
-
Statement type: