Skip to main content

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

Project description

Agora ETL Plugins

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

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[anthropic]"    # Anthropic completion and structured-output provider
pip install "agora-etl-plugins[all]"          # Everything in one install

This package now targets agora-etl>=0.3.3.

For plugin sources such as Redis Streams, Kafka, and PostgreSQL, agora-etl 0.3.3 adds three release-cycle improvements worth knowing about:

  • config-driven workers can now build WorkerPool instances directly from agora/v1 TOML
  • OpenTelemetry tracing can be enabled from config with auto-wiring through the existing tracing path
  • AI provider contracts now distinguish completion-only and embedding-capable providers more honestly

Anthropic is now part of the official bundle through the anthropic extra, with a completion and structured-output support story that stays explicit about the lack of embeddings.

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

Anthropic [anthropic]

Official Anthropic AI provider support for completion-driven workflows and structured JSON output.

Component Type Description
AnthropicProvider AI Provider Claude-backed completion provider for enrichment, extraction, validation, translation, and classification in LLM mode

Example:

from agora.middlewares.ai.enrich import AIEnrichMiddleware
from agora_plugins.anthropic import AnthropicProvider

provider = AnthropicProvider(model="claude-3-5-haiku-20241022")
middleware = AIEnrichMiddleware(
    provider=provider,
    prompt_template="Review: {review_text}\nReturn JSON with keys summary and sentiment.",
    output_fields=["summary", "sentiment"],
)

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.2.tar.gz (68.6 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.2-py3-none-any.whl (59.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: agora_etl_plugins-0.3.2.tar.gz
  • Upload date:
  • Size: 68.6 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.2.tar.gz
Algorithm Hash digest
SHA256 4d7a0357f0bf44253a06ffb66fae3afc99b50e5ec77fe5a5bba04cdb19085dfe
MD5 cd30fc8327816ab21caf365cb4cef52d
BLAKE2b-256 457ddbb591c86feb28bcbb065f762348a85d6c1341457b53e7fc094e918dbd67

See more details on using hashes here.

Provenance

The following attestation bundles were made for agora_etl_plugins-0.3.2.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.2-py3-none-any.whl.

File metadata

File hashes

Hashes for agora_etl_plugins-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 403eef3df278a031e073c75b1c7b47b7db730e40ac76888fae12ec0387140a37
MD5 83701049bbac48820d51c912a1d5f0ee
BLAKE2b-256 b802f7a5510b95bd30e7c2f68293966ae0a3bd74d1143d661075c66423a0e20d

See more details on using hashes here.

Provenance

The following attestation bundles were made for agora_etl_plugins-0.3.2-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