Skip to main content

ccflow models for database access

Project description

ccflow-db

ccflow models for database access

Build Status codecov License PyPI

Overview

ccflow-db provides public, domain-neutral database callable models and publishers for ccflow workflows. It owns connection configuration, SQL execution, tabular reads, bulk writes, transaction handling, upsert/merge patterns, database-backed checkpoint/cache adapters, and Hydra config groups exposed through the lerna plugin entry point.

It should stay generic across domains and database backends. Domain schemas, provider-specific assumptions, and application deployment conventions belong outside this package.

Current Status

  • Implemented: package scaffold, version metadata, SQLiteConfig, parameterized SQLiteQueryModel, SQLiteKeyExistsModel, SQLiteTableWriteModel for append, replace, and primary-key upsert writes, SQLiteCheckpointStore, byte-oriented SQLiteCacheStore for use with ccflow-etl cache format models, and cache=sqlite / checkpoint=sqlite config groups.
  • Partial: SQLite uses the Python standard library as the first local backend; broad SQLAlchemy-style engine/session management and backend extras remain future work.
  • Missing: dataframe reads, chunked writes, dry-run SQL rendering, merge helpers beyond SQLite upsert, and non-SQLite integration tests.

Dependency Contract

  • Depends on ccflow for callable model and publisher interfaces.
  • Depends on ccflow-etl for generic checkpoint records and cache format/result contracts.
  • Uses sqlite3 for the first local backend and may add a broader abstraction layer such as SQLAlchemy plus optional backend extras later.
  • Must not depend on finance packages or application-specific packages.

Test Convention

Default tests should use SQLite or in-memory database fixtures. Backend-specific tests such as Postgres should be opt-in and skipped unless the required environment variables are set.

[!NOTE] This library was generated using copier from the Base Python Project Template repository.

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_db-0.1.0.tar.gz (12.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ccflow_db-0.1.0-py3-none-any.whl (13.0 kB view details)

Uploaded Python 3

File details

Details for the file ccflow_db-0.1.0.tar.gz.

File metadata

  • Download URL: ccflow_db-0.1.0.tar.gz
  • Upload date:
  • Size: 12.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for ccflow_db-0.1.0.tar.gz
Algorithm Hash digest
SHA256 5d9c43d1288d5ff18628f261fc8735de64dcdadc1ac77dc481c2b54621cfb535
MD5 c235b0421582b98aab3ccb6f811b92a5
BLAKE2b-256 8866ba84dbe6414978a2de11da9b89857d9e22be16aa7e676038f12da6559ba7

See more details on using hashes here.

File details

Details for the file ccflow_db-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: ccflow_db-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 13.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for ccflow_db-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 004d30524abf86e607f06ee8378d26c5b896ab95c1879d5de73d46dbe69fbaa9
MD5 ea5c84d0a2da6ba9840e823edfa071d9
BLAKE2b-256 a8d979621640baec4a104d15d110b68b6a91a0993bb6ec75d63878a7652fc02e

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