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 PySpark Delta Spark


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.1.tar.gz (19.9 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.1-py3-none-any.whl (22.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: tgedr_dataops_ext-1.0.1.tar.gz
  • Upload date:
  • Size: 19.9 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.1.tar.gz
Algorithm Hash digest
SHA256 22e809dec71b3146c7b9902b1170babad3ebe03ddf1f02a5ad98f9e5749dc1e2
MD5 83972205f87a55e41b6b324f245343d0
BLAKE2b-256 00d1b5d8c73a6f5e192ca3c95aeccd52438279f540c5261b78ce9b0f45e45548

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tgedr_dataops_ext-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 22.9 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 cc1f0aab734deee639cf749abb1be15c5a55941ce002f1611954365f8243a1f8
MD5 1d7caea435e04bc91e046969914d5ecb
BLAKE2b-256 f7eb00a95f04aedb97c50ab8b5be9dfb4372b9b69d47b31f8e7ba9d9ee2d05df

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