ccflow-etl
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.
Install
pip install ccflow-etl
Connector-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 |
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-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. - File artifacts:
ArtifactMaterializeModelandArtifactWriteFileModelstream artifacts to and from local files. When the store exposeshead(), materialization saves the source identity next to the downloaded file and reuses a cached file only when that saved identity still matches the source's version ID (or ETag) and size; otherwise it downloads again. - 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.
Documentation
- CLI And Config
- Building Pipelines
- Backfills And Calendars
- Handoffs, Formats, And Reliability
- API Reference
- Development
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, 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.
Metadata
Release files for ccflow-etl 0.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ccflow_etl-0.4.0.tar.gz | 35.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ccflow_etl-0.4.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 84.5 kB
Release files / ccflow_etl-0.4.0.tar.gz
| Download URL | ccflow_etl-0.4.0.tar.gz |
|---|---|
| Size | 35.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7b7ea26d930d9fe42f0f07ab5af6c96ef337a4fad01afdbe34bb1b3a9d61da71
|
|
BLAKE2b-256 checksum How to use checksums |
22bf158e0006a53806083fbbb7d2b1df73ae98d8e3789363151fa7a0beef0966
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.14
|
Release files / ccflow_etl-0.4.0-py3-none-any.whl
| Download URL | ccflow_etl-0.4.0-py3-none-any.whl |
|---|---|
| Size | 49.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9a76729d8e3ab8279dd7a31317ee50df22b50a96f2a9cceccb1570957be5f033
|
|
BLAKE2b-256 checksum How to use checksums |
1a83534e5ebca7f58961fedb4cc325c69350d3a985396a7f3967990989eecc67
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.14
|