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.
  • Handoff metadata: ETLArtifact for typed stage artifacts.
  • Format-aware writes and cache handoffs: LocalWriteModel, CachePutModel, CacheGetModel, PayloadCodec, and LocalCacheStore.
  • Checkpointing: CheckpointRecord, checkpoint statuses, and CheckpointDecisionModel for idempotent skip decisions.
  • Retry orchestration: RetryPolicy, RetryModel, retry event summaries, timeout categories, and backoff/jitter helpers.
  • Run reporting: RunSummary for structured counts by status and artifact stage.

Documentation

Package Boundaries

ccflow-etl owns domain-neutral ETL contracts and helpers. It does not own application workflows, provider clients, connector clients, credentials, 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.1.1.tar.gz (25.3 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.1.1-py3-none-any.whl (34.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ccflow_etl-0.1.1.tar.gz
  • Upload date:
  • Size: 25.3 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.1.1.tar.gz
Algorithm Hash digest
SHA256 2bd877186810add91e23abd52484d5344dc615b4dacfa3921bf9cf6e6665145a
MD5 48dc0121effdf3895b133d498b1dbc98
BLAKE2b-256 c2cfdc4478838bf7ac4d14fc36f482a54ac96c429b495582a85a2417febebbbb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ccflow_etl-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 34.6 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.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c0ccaec5d8a1a4f4dbbfc05df5e7f90f1f2513174666e4372c027c05b8d3ad7a
MD5 48a3f926315ccbe5b25af071b2d3d7c0
BLAKE2b-256 b6f34c9fcaac77db2b1f0391eb50ffc32cf37f13f4e288a9bddab5cc6acb4546

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