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 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, 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.1.2.tar.gz (27.0 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.2-py3-none-any.whl (38.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ccflow_etl-0.1.2.tar.gz
  • Upload date:
  • Size: 27.0 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.2.tar.gz
Algorithm Hash digest
SHA256 c0974a75ca2260b3ebf970009c8d82b3b4f9d8f17d4f3cf886506bf31c33aa92
MD5 a548da2276eebc18007b14bf2ec513e1
BLAKE2b-256 5241292e6c2eb924691202f12a032cc7d3f1b01bd6ba8733d42fedb660595f36

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ccflow_etl-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 38.3 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 8f3d997c1e3fa50c6a0fff43fe3c670280196cbe11e7a7d9583beb4f3d6238fa
MD5 59c88eda4ccf5e98a2fb7a41c9c9a52f
BLAKE2b-256 abaa586c5c615d3be26db65bf3f0a25ddd453ca3736e24d20e871fd718ecd61b

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