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.2.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.2-py3-none-any.whl (25.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: tgedr_dataops_ext-1.0.2.tar.gz
  • Upload date:
  • Size: 22.4 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.2.tar.gz
Algorithm Hash digest
SHA256 51f8b2a19cbca47790d72c65913e196a86f7eb86ab24d1733ddf08965b2a1e39
MD5 d6fd562038927accce0f0a3ef97e953f
BLAKE2b-256 ecf7dc3f8f6df17ad2a8f72292ef46f2d335dbc6cd8f9cdf231657ce257d542d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tgedr_dataops_ext-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 25.7 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 2ed82339ed9adb49016ecfb1d57ebb1bde04c2fe7e1f61e4776fec868e34e5ed
MD5 ba01bafe3b79ab8379d77ddd02eda31d
BLAKE2b-256 8d9f74d206dd18858cc02fb2d755fe3f0d2352e0c1f968b077343750dd06b79b

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