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.4.tar.gz (22.4 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.4-py3-none-any.whl (25.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: tgedr_dataops_ext-1.0.4.tar.gz
  • Upload date:
  • Size: 22.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","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.4.tar.gz
Algorithm Hash digest
SHA256 4fe927aa28f8f2b01116fc1fab0a7e8369852467875669b0cbb34b9171e52916
MD5 609783fc8374a1d18b0f710f99a94317
BLAKE2b-256 d9981b14f47a1499c4ef20d1e782f0228b3869a986856283c0c34c6d04e23098

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tgedr_dataops_ext-1.0.4-py3-none-any.whl
  • Upload date:
  • Size: 25.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 b65a8c2bd4628b838fa35dacbffd163e1cc51c55e55229979db7cc1bb3ca4949
MD5 2fccaa73a27d10e134f0e8b9ae0ff3d0
BLAKE2b-256 a79f47966b4ac7ab9b4f236054447533c1a9afe594be6c3499b6358938a511a4

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