ETL Tools for ccflow
Project description
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 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-etlandcc-etl-explain. - Date expansion:
Interval,BaseCalendar, built-in calendars,BackfillContext, andBackfillModel. - Generic credential models and a
/credentialsHydra registry for package extension. - Handoff metadata:
ETLArtifactfor typed stage artifacts. - Format-aware writes and cache handoffs:
LocalWriteModel,CachePutModel,CacheGetModel,PayloadCodec,LocalCacheStore, and no-op cache defaults. - Checkpointing:
CheckpointRecord, checkpoint statuses,CheckpointDecisionModelfor idempotent skip decisions, and no-op checkpoint 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, 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
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f537df70ac41fa8ef6dbded2c175398bfdf767b9edad08daab4d614d10945f4f
|
|
| MD5 |
1dc7066f195d42b4c2b0ae1caa07011b
|
|
| BLAKE2b-256 |
27d24932d8157bbe3acfed589508df0e72e44195ecf04764e545c65080b8c077
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e79108dbddeea2a409ee3a7acdc5a4ebb92056bc1afbcfaff883da593b6398c8
|
|
| MD5 |
9608d96b3cde787d9409918c60fbdaa7
|
|
| BLAKE2b-256 |
22ea06f3c805b23b0c8f18eb95f716e2d78a1a8c39d7eb49c1de2911647322c2
|