Skip to main content

data operations related code - extended

Project description

tgedr-dataops-ext

Concrete, tested implementations of the tgedr-dataops abstract contracts — PySpark, Delta Lake, and Databricks, all in one place.

Coverage PyPI


motivation

tgedr-dataops-ext builds on top of tgedr-dataops (the abstract contracts layer) and provides concrete, tested implementations for distributed data processing with PySpark and Delta Lake. It covers session management, ETL pipelines, Delta table storage, data validation, and Databricks job integration, all following consistent code quality and structural standards.


installation

pip install tgedr-dataops-ext

package contents

commons

Shared utilities and base classes used across the library.

Class Description Example
Dataset Immutable wrapper pairing a Spark DataFrame with its Metadata test
Metadata Immutable dataclass describing a dataset (name, version, framing, sources) test
UtilsSpark Utility class for creating and configuring Spark sessions (local, AWS Glue, or active session) and building PySpark schemas from type dictionaries test
UtilsDatabricks Utility class for retrieving the Databricks dbutils object from the active Spark session test
EtlDatabricks Abstract intermediate ETL class extending Etl with Databricks job integration: captures run_id, publishes outputs via dbutils.jobs.taskValues, and provides the inject_configuration decorator for auto-wiring method parameters from configuration or upstream task values test

quality

Data quality validation backed by Great Expectations.

Class Description Example
PysparkValidation GreatExpectationsValidation implementation for validating PySpark DataFrames using the Great Expectations library test

source

Implementations of the Source contract for reading data from various backends.

Class Description Example
DeltaTableSource Abstract Source base class for reading Delta Lake datasets, returning a pandas DataFrame test
LocalDeltaTable Concrete Source reading Delta Lake datasets from the local filesystem using pure Python (no PySpark required) test
S3DeltaTable Concrete Source reading Delta Lake datasets from S3 using pure Python (no PySpark required) test
CatalogFileSource Source implementation for listing, copying, and retrieving metadata of files in a Databricks-accessible file system (DBFS, S3, ADLS) via dbutils.fs test

sink

Implementations of the Sink contract for writing and managing data in various backends.

Class Description Example
CatalogFileSink Sink implementation for copying and deleting files or directories in a Databricks-accessible file system via dbutils.fs test

store

Implementations of the Store contract for persistent, structured data storage.

Class Description Example
SparkDeltaStore Store implementation for PySpark distributed processing with Delta Lake format. Supports versioned reads, append/overwrite writes, upserts, partitioning, schema evolution, retention policies, metadata management, and column comments test

development

Requirements:

# clone
git clone git@github.com:tgedr/dataops-ext
cd dataops-ext

# install dependencies
./helper.sh reqs

# run tests
./helper.sh test

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

tgedr_dataops_ext-1.0.0.tar.gz (19.8 kB view details)

Uploaded Source

Built Distribution

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

tgedr_dataops_ext-1.0.0-py3-none-any.whl (22.8 kB view details)

Uploaded Python 3

File details

Details for the file tgedr_dataops_ext-1.0.0.tar.gz.

File metadata

  • Download URL: tgedr_dataops_ext-1.0.0.tar.gz
  • Upload date:
  • Size: 19.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.7 {"installer":{"name":"uv","version":"0.10.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for tgedr_dataops_ext-1.0.0.tar.gz
Algorithm Hash digest
SHA256 7b8a3a58b6996774142a765ef891cfa68cc7280e03a7be36e31bfa48f7158853
MD5 a91b1aacf32f5034fcb25d21c3513973
BLAKE2b-256 0089bbfe5c9885707069e6ec3fda68a88742327745518d0992091bde98dedb28

See more details on using hashes here.

File details

Details for the file tgedr_dataops_ext-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: tgedr_dataops_ext-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 22.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.7 {"installer":{"name":"uv","version":"0.10.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for tgedr_dataops_ext-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9b612688ab24c604dede713c74ce0e43f86d51ef849fe8e03641c6adda2fd770
MD5 cc9bbb30f8ab9de6a6c48e7ad03b9f27
BLAKE2b-256 6a7e579c7fddb17e0bf1762f7fb94f2d7797fba040842da06f46b418282f8dac

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