Domain-neutral ETL building blocks for ccflow callable models.
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.
pip install ccflow-etlConnector-backed cache and artifact stores are provided by connector packages that own their I/O. Generic checkpointing belongs in ccflow proper.
| Package | Type | Integration |
|---|---|---|
ccflow-s3 |
generic, storage | S3-backed artifact IO and cache |
ccflow-db |
generic, cache | database-backed cache store |
ccflow-email |
generic, publisher | email publishers for ETL notifications |
ccflow-celery |
generic, evaluator | Celery-based evaluator for ETL task execution |
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.jsonMost 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- Shared CLI entry points:
cc-etlandcc-etl-explain. - Date expansion:
Interval,BaseCalendar, built-in calendars,BackfillContext, andBackfillModel. - Generic credential models and a
/credentialsHydra registry for package extension. - Generic extract task composition through
/tasks,/datasets, and/outputsconfig selections. - Handoff metadata:
ETLArtifactfor typed stage artifacts. - Artifact IO contracts:
ArtifactExistsModel,ArtifactWriteModel,ArtifactPublishModel, andNoOpArtifactStorefor backend-neutral existence checks, writes, publication, and artifact URIs. - Task and output composition:
ExtractTaskModel,LocalFileOutput,NoOpArtifactStore, and/tasks//outputsconfig selections. - Format-aware writes and cache handoffs:
LocalWriteModel,CachePutModel,CacheGetModel,PayloadCodec,LocalCacheStore, and no-op cache defaults. - Retry integration: compatibility exports for
ccflowRetryPolicyandRetryModel; useccflow.evaluators.RetryEvaluatorfor runtime evaluator retries. - Execution policy:
ExecutionPolicyfor shared max-concurrency hints and rate spacing that evaluators and connector models can consume through the/executionHydra group. - Run reporting:
RunSummaryfor structured counts by status and artifact stage.
- CLI And Config
- Building Pipelines
- Backfills And Calendars
- Handoffs, Formats, And Reliability
- API Reference
- Development
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, dataset inventories, dataset-specific schemas, run reporting evaluators, checkpointing, or domain-specific rules. Durable store implementations should live in connector packages and integrate through generic cache and artifact IO contracts.