Skip to main content

ETL Tools for ccflow

Project description

ccflow-etl

Domain-neutral ETL building blocks for ccflow callable models.

Build Status codecov License PyPI

ccflow-etl provides reusable support primitives for ETL-style workflows built as concrete ccflow CallableModel graphs. It keeps generic execution concerns here and leaves workflow-specific behavior to the package or application that owns the workflow.

Install

pip install ccflow-etl

Connector-backed cache and checkpoint stores are provided by connector packages that own their I/O:

Package Type Integration
ccflow-s3 generic, cache S3-backed cache and checkpoint store
ccflow-db generic, cache database-backed cache and checkpoint store
ccflow-email generic, publisher email publishers for ETL notifications
ccflow-celery generic, evaluator Celery-based evaluator for ETL task execution

Quick Start

ccflow-etl installs shared Hydra entry points for running and explaining configured callables:

cc-etl +context.path=./example-output.json +context.payload.message='hello from ccflow-etl' +context.overwrite=true
cc-etl-explain +context.path=./example-output.json

Most projects provide their own config directory and still use the shared entry point:

cc-etl --config-path ./config --config-name text_stats +context.input_path=./notes.txt +context.output_path=./stats.json

What It Provides

  • Shared CLI entry points: cc-etl and cc-etl-explain.
  • Date expansion: Interval, BaseCalendar, built-in calendars, BackfillContext, and BackfillModel.
  • Generic credential models and a /credentials Hydra registry for package extension.
  • Handoff metadata: ETLArtifact for typed stage artifacts.
  • Format-aware writes and cache handoffs: LocalWriteModel, CachePutModel, CacheGetModel, PayloadCodec, LocalCacheStore, and no-op cache defaults.
  • Checkpointing: CheckpointRecord, checkpoint statuses, CheckpointDecisionModel for idempotent skip decisions, and no-op checkpoint defaults.
  • Retry integration: compatibility exports for ccflow RetryPolicy and RetryModel; use ccflow.evaluators.RetryEvaluator for runtime evaluator retries.
  • Execution policy: ExecutionPolicy for shared max-concurrency hints and rate spacing that evaluators and connector models can consume through the /execution Hydra group.
  • Run reporting: RunSummary for structured counts by status and artifact stage.

Documentation

Package Boundaries

ccflow-etl owns domain-neutral ETL contracts, generic credential shapes, and helpers. It does not own application workflows, provider clients, connector clients, provider-specific credential semantics, or domain-specific rules. Durable store implementations should live in connector packages and integrate through the generic cache and checkpoint contracts.

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

ccflow_etl-0.2.0.tar.gz (25.8 kB view details)

Uploaded Source

Built Distribution

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

ccflow_etl-0.2.0-py3-none-any.whl (37.5 kB view details)

Uploaded Python 3

File details

Details for the file ccflow_etl-0.2.0.tar.gz.

File metadata

  • Download URL: ccflow_etl-0.2.0.tar.gz
  • Upload date:
  • Size: 25.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for ccflow_etl-0.2.0.tar.gz
Algorithm Hash digest
SHA256 f537df70ac41fa8ef6dbded2c175398bfdf767b9edad08daab4d614d10945f4f
MD5 1dc7066f195d42b4c2b0ae1caa07011b
BLAKE2b-256 27d24932d8157bbe3acfed589508df0e72e44195ecf04764e545c65080b8c077

See more details on using hashes here.

File details

Details for the file ccflow_etl-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: ccflow_etl-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 37.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for ccflow_etl-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e79108dbddeea2a409ee3a7acdc5a4ebb92056bc1afbcfaff883da593b6398c8
MD5 9608d96b3cde787d9409918c60fbdaa7
BLAKE2b-256 22ea06f3c805b23b0c8f18eb95f716e2d78a1a8c39d7eb49c1de2911647322c2

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