Skip to content

Commit

Permalink
Add Python delta source and destination (#407)
Browse files Browse the repository at this point in the history
* add python delta source and destination

Signed-off-by: JamesKnBr <james.broady@shell.com>

* Updates for destination

Signed-off-by: rodalynbarce <Rodalyn.Barce@shell.com>

* add delta source and destination

Signed-off-by: JamesKnBr <james.broady@shell.com>

* update delta destination

Signed-off-by: JamesKnBr <james.broady@shell.com>

* added tests to delta source

Signed-off-by: JamesKnBr <james.broady@shell.com>

* Added delta destination test

Signed-off-by: rodalynbarce <Rodalyn.Barce@shell.com>

* Added init

Signed-off-by: rodalynbarce <Rodalyn.Barce@shell.com>

* Doc updates

Signed-off-by: rodalynbarce <Rodalyn.Barce@shell.com>

* tidy delta source and destination

Signed-off-by: JamesKnBr <james.broady@shell.com>

* doc updates and paramater fix (#398)

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* fix meta data tag name error and update unit test (#401)

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* Feature/00320 - Weather Transformer (#387)

* remove print statement in twa

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* v0.2.0 (#121)

* Add Releases Feed to Docs Release page (#69)

* fixes Add Releases Feed to Docs page #68

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Mkdocs test fixes

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Add unit tests

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Fix Code Smell

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

---------

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Update Packages and Doc Logos (#76)

* Upgrade Packages

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Upgrade Functions Packages

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Add logos

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Add logo to pypi readme

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Remove pydantic models

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Remove GraphQL

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Remove strawberry type

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Remove GraphQL

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Upgrade GraphQL Package

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Logo Size Changes

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

---------

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Fix Logo Alignment (#78)

* Upgrade Packages

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Upgrade Functions Packages

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Add logos

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Add logo to pypi readme

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Remove pydantic models

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Remove GraphQL

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Remove strawberry type

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Remove GraphQL

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Upgrade GraphQL Package

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Logo Size Changes

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Logo fixes

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

---------

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* fixes #77 (#79)

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* add spark session (#80)

* set up spark sessions

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* adding unit tests for spark session

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* remove tests for spark session

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* fix code smells

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* add constants in pipeline utils

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

---------

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* Add Pipelines as Extras libraries (#82)

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Spark pipeline source Event hub and destination Event hub (#83)

* add source eventhub to pipelines

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* updates for documentation

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* updates to mkdocs

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* added unit tests

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* documentation for eventhub source

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* fix spelling error

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* add source eventhub destination

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* added destination source documentation

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* remove unit tests to revisit later

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* fix mkdoc errors

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* fix code smells

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

---------

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* Spark pipeline source delta and destination delta (#84)

* Spark pipeline source delta and destination delta

Signed-off-by: rodalynbarce <Rodalyn.Barce@shell.com>

* fix mkdocs errors

Signed-off-by: rodalynbarce <Rodalyn.Barce@shell.com>

* docstring amendments

Signed-off-by: rodalynbarce <Rodalyn.Barce@shell.com>

* Added to docstrings on delta source & destination

Signed-off-by: JamesKnBr <James.Broady@Shell.com>

* added query type for eventhubs

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

---------

Signed-off-by: rodalynbarce <Rodalyn.Barce@shell.com>
Signed-off-by: JamesKnBr <James.Broady@Shell.com>
Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>
Co-authored-by: JamesKnBr <James.Broady@Shell.com>
Co-authored-by: cching95 <73163191+cching95@users.noreply.github.com>

* Added delta sharing with docs (#85)

Signed-off-by: JamesKnBr <James.Broady@Shell.com>

* Unit Tests for sources (#88)

* add pipeline utils unit tests

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* add unit test for eventhub and delta

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* Unit Test Fixes

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* remove test spark

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* add unit test for destination delta

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* fix eventhub spell errors

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

---------

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>
Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>
Co-authored-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Add pipeline eventhub body transformer (#89)

* add transform eventhub

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* transformer docs set up

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* documentation for transformer eventhub body

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* add transformer eventhub unit tests

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

---------

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* Added pipeline source autoloader and unit test (#93)

Signed-off-by: rodalynbarce <Rodalyn.Barce@shell.com>

* Pipeline Executor (#95)

* Dependency Injector

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Add Pipeline Executor

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Add Utilities Interface

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Add Pipeline Executor

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Add Pipeline Execute Test

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* fixes #90

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Fixes for tests

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Step Order fix

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Sonarqube fixes

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

---------

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Delta Table Create Utility (#97)

* Add to docs site

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Update Delta Table Name

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Add Delta Table Create

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Add Delta Table Create Test

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

---------

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* remove print statement in twa (#99)

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>
Co-authored-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>
Co-authored-by: Amber-Rigg <44523299+Amber-Rigg@users.noreply.github.com>
Co-authored-by: NooraKubati <55835429+NooraKubati@users.noreply.github.com>

* Pipeline Deployment (#102)

* Add DBX Pipeline Deployment

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Updates for Pipeline Deployment

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

---------

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Pipeline Deployment Updates (#103)

* Pipeline Deployment Updates

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Update to run logic of Pipeline

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

---------

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Updates for Pipeline Deployment (#104)

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Unit test for spark pipeline eventhub destination (#105)

* eventhub destination unit test

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* add unit test for spark eventhub destination

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* add spark eventhub write stream unit test

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* update exception handling for eventhub and delta

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* update exception in utilities

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

---------

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* Fix for Dependency Injection (#106)

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Unit tests for source and destination streams (#108)

* streaming unit test for source eventhub

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* add delta read stream unit test

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* add unit test for delta destination streaming

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* remove extra test

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* remove code smell

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* add previous line of code back

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

---------

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* Pipeline Deployments and Pipeline Secrets (#111)

* Fix for Dependency Injection

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Pipeline Deployment And Secrets

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Add System Type Docs

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Updates for Secrets

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Code Smell fix

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Refactor Pipeline Secret Conversion Logic

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* import required objects

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Code smell fix

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Code Smell Fix

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Fix Code Smells

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

---------

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Added fails tests to pipeline sources (#112)

* Added fails tests to pipeline sources

Signed-off-by: JamesKnBr <James.Broady@Shell.com>

* Added fails tests for pipeline destinations

Signed-off-by: JamesKnBr <James.Broady@Shell.com>

* Fixed code smell

Signed-off-by: JamesKnBr <James.Broady@Shell.com>

---------

Signed-off-by: JamesKnBr <James.Broady@Shell.com>

* Fix for dockerbuild error (#114)

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Fix for docker build (#115)

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Cleanup Dockerfile (#116)

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Pipeline Secrets, Converters and Deployment Updates (#119)

* Updates for Pipelines

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Update DBX Documentation

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Updates for Pipeline Deployment

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Remove package.json

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Fix code smells

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

---------

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* time weighted average bug fix (#120)

* fix twa group by dataframe return

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* bug fixes for groupby and apply method

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

---------

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

---------

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>
Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>
Signed-off-by: rodalynbarce <Rodalyn.Barce@shell.com>
Signed-off-by: JamesKnBr <James.Broady@Shell.com>
Co-authored-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>
Co-authored-by: rodalynbarce <121169437+rodalynbarce@users.noreply.github.com>
Co-authored-by: JamesKnBr <James.Broady@Shell.com>
Co-authored-by: JamesKnBr <125024404+JamesKnBr@users.noreply.github.com>
Co-authored-by: Amber-Rigg <44523299+Amber-Rigg@users.noreply.github.com>
Co-authored-by: NooraKubati <55835429+NooraKubati@users.noreply.github.com>

* v0.4.0 (#304)

* EdgeX Transformer (#271)

* added transformer component

Signed-off-by: rodalynbarce <Rodalyn.Barce@shell.com>

* added edgeX test

Signed-off-by: JamesKnBr <james.broady@shell.com>

* update test

Signed-off-by: JamesKnBr <james.broady@shell.com>

* test updates

Signed-off-by: rodalynbarce <Rodalyn.Barce@shell.com>

* added kafka destination write format

Signed-off-by: JamesKnBr <james.broady@shell.com>

* component update

Signed-off-by: rodalynbarce <Rodalyn.Barce@shell.com>

* removed timestamp format

Signed-off-by: JamesKnBr <james.broady@shell.com>

* updated docs

Signed-off-by: JamesKnBr <james.broady@shell.com>

---------

Signed-off-by: rodalynbarce <Rodalyn.Barce@shell.com>
Signed-off-by: JamesKnBr <james.broady@shell.com>
Co-authored-by: rodalynbarce <Rodalyn.Barce@shell.com>

* Feature/00264 (#272)

* EdgeX Transformer (#271)

* added transformer component

Signed-off-by: rodalynbarce <Rodalyn.Barce@shell.com>

* added edgeX test

Signed-off-by: JamesKnBr <james.broady@shell.com>

* update test

Signed-off-by: JamesKnBr <james.broady@shell.com>

* test updates

Signed-off-by: rodalynbarce <Rodalyn.Barce@shell.com>

* added kafka destination write format

Signed-off-by: JamesKnBr <james.broady@shell.com>

* component update

Signed-off-by: rodalynbarce <Rodalyn.Barce@shell.com>

* removed timestamp format

Signed-off-by: JamesKnBr <james.broady@shell.com>

* updated docs

Signed-off-by: JamesKnBr <james.broady@shell.com>

---------

Signed-off-by: rodalynbarce <Rodalyn.Barce@shell.com>
Signed-off-by: JamesKnBr <james.broady@shell.com>
Co-authored-by: rodalynbarce <Rodalyn.Barce@shell.com>
Signed-off-by: Shivam Saxena <shivam.saxena@innowatts.com>

* Adding support for MISO Sources

Signed-off-by: Shivam Saxena <shivam.saxena@innowatts.com>

* Fixing sonar smells

Signed-off-by: Shivam Saxena <shivam.saxena@innowatts.com>

* Fixing sonar smells

Signed-off-by: Shivam Saxena <shivam.saxena@innowatts.com>

* Removing ISO Runner file

Signed-off-by: Shivam Saxena <shivam.saxena@innowatts.com>

* Making ISO methods internal

Signed-off-by: Shivam Saxena <shivam.saxena@innowatts.com>

---------

Signed-off-by: rodalynbarce <Rodalyn.Barce@shell.com>
Signed-off-by: JamesKnBr <james.broady@shell.com>
Signed-off-by: Shivam Saxena <shivam.saxena@innowatts.com>
Co-authored-by: JamesKnBr <125024404+JamesKnBr@users.noreply.github.com>
Co-authored-by: rodalynbarce <Rodalyn.Barce@shell.com>

* Add Partition Pruning to non broadcast join PCDM Merge (#274)

* Add Partition Pruning on non broadcast join merge

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Update DropDuplicates

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Fix Drop Duplicates Logic

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

---------

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* update docs (#286)

* update docs

Signed-off-by: JamesKnBr <james.broady@shell.com>

* linked issues page

Signed-off-by: JamesKnBr <james.broady@shell.com>

* changed issues link

Signed-off-by: JamesKnBr <james.broady@shell.com>

---------

Signed-off-by: JamesKnBr <james.broady@shell.com>
Co-authored-by: JamesKnBr <james.broady@shell.com>

* Fix mkdocs colour bug (#291)

* update

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* fix colour issue on mkdocs

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* fix colour bug on homepage

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

---------

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* Add Filter Parameter and TagName field mapping for OPC Publisher Transformer (#296)

* Additional OPC Publisher Logic

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Add Device ID Filter

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Update Docs

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Update to Filter Logic

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

---------

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Weather Domain and Data Model (#294)

* added new overview and data model

Signed-off-by: PaveeG <pawegor9@gmail.com>

* adding signoff

Signed-off-by: PaveeG <pawegor9@gmail.com>

* added overview and data model

Signed-off-by: PaveeG <pawegor9@gmail.com>

* Adding signoff Signed-off-by: Author Name <pawegor9@gmail.com>

Signed-off-by: PaveeG <pawegor9@gmail.com>

---------

Signed-off-by: PaveeG <pawegor9@gmail.com>

* Refactor for odbc and functions folders (#299)

* Folder Refactor

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Code smell fixes

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

---------

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Pyspark 3.4.0 and delta-spark 2.4.0 support (#297)

* Preview Support of Pyspark 3.4.0

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Fix for running github actions tests

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Updates for delta-spark release candidate

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Update tests

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Downgrade Turbodbc to include 3.8

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Add Spark Connect

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Updates to packages

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Updates for release of 2.4.0

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Add hvac back

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Fixes for tests

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Remove Whitespace

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Build sdist and wheel

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Change micromamba Action

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Update Tests Workflow

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Code Smells

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Sonarqube Bug Fix

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Update Readme with logo

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Center table

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Update readme

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Folder Refactor

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Code smell fixes

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Updates for refactoriung spark connector

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

---------

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Add OPC UA Transformer parameters (#301)

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Update for Micromamba Github Actions Parameters (#302)

* Update micromamba parameters

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Update for Sonarqube

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

---------

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Upgrade FastAPI package (#303)

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

---------

Signed-off-by: rodalynbarce <Rodalyn.Barce@shell.com>
Signed-off-by: JamesKnBr <james.broady@shell.com>
Signed-off-by: Shivam Saxena <shivam.saxena@innowatts.com>
Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>
Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>
Signed-off-by: PaveeG <pawegor9@gmail.com>
Co-authored-by: JamesKnBr <125024404+JamesKnBr@users.noreply.github.com>
Co-authored-by: rodalynbarce <Rodalyn.Barce@shell.com>
Co-authored-by: IW-SS <133041871+IW-SS@users.noreply.github.com>
Co-authored-by: rodalynbarce <121169437+rodalynbarce@users.noreply.github.com>
Co-authored-by: JamesKnBr <james.broady@shell.com>
Co-authored-by: cching95 <73163191+cching95@users.noreply.github.com>
Co-authored-by: PaveeG <pawegor9@gmail.com>

* Rebase main (#308)

* remove print statement in twa

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* v0.2.0 (#121)

* Add Releases Feed to Docs Release page (#69)

* fixes Add Releases Feed to Docs page #68

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Mkdocs test fixes

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Add unit tests

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Fix Code Smell

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

---------

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Update Packages and Doc Logos (#76)

* Upgrade Packages

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Upgrade Functions Packages

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Add logos

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Add logo to pypi readme

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Remove pydantic models

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Remove GraphQL

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Remove strawberry type

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Remove GraphQL

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Upgrade GraphQL Package

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Logo Size Changes

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

---------

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Fix Logo Alignment (#78)

* Upgrade Packages

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Upgrade Functions Packages

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Add logos

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Add logo to pypi readme

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Remove pydantic models

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Remove GraphQL

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Remove strawberry type

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Remove GraphQL

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Upgrade GraphQL Package

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Logo Size Changes

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Logo fixes

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

---------

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* fixes #77 (#79)

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* add spark session (#80)

* set up spark sessions

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* adding unit tests for spark session

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* remove tests for spark session

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* fix code smells

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* add constants in pipeline utils

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

---------

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* Add Pipelines as Extras libraries (#82)

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Spark pipeline source Event hub and destination Event hub (#83)

* add source eventhub to pipelines

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* updates for documentation

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* updates to mkdocs

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* added unit tests

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* documentation for eventhub source

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* fix spelling error

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* add source eventhub destination

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* added destination source documentation

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* remove unit tests to revisit later

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* fix mkdoc errors

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* fix code smells

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

---------

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* Spark pipeline source delta and destination delta (#84)

* Spark pipeline source delta and destination delta

Signed-off-by: rodalynbarce <Rodalyn.Barce@shell.com>

* fix mkdocs errors

Signed-off-by: rodalynbarce <Rodalyn.Barce@shell.com>

* docstring amendments

Signed-off-by: rodalynbarce <Rodalyn.Barce@shell.com>

* Added to docstrings on delta source & destination

Signed-off-by: JamesKnBr <James.Broady@Shell.com>

* added query type for eventhubs

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

---------

Signed-off-by: rodalynbarce <Rodalyn.Barce@shell.com>
Signed-off-by: JamesKnBr <James.Broady@Shell.com>
Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>
Co-authored-by: JamesKnBr <James.Broady@Shell.com>
Co-authored-by: cching95 <73163191+cching95@users.noreply.github.com>

* Added delta sharing with docs (#85)

Signed-off-by: JamesKnBr <James.Broady@Shell.com>

* Unit Tests for sources (#88)

* add pipeline utils unit tests

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* add unit test for eventhub and delta

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* Unit Test Fixes

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* remove test spark

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* add unit test for destination delta

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* fix eventhub spell errors

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

---------

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>
Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>
Co-authored-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Add pipeline eventhub body transformer (#89)

* add transform eventhub

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* transformer docs set up

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* documentation for transformer eventhub body

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* add transformer eventhub unit tests

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

---------

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* Added pipeline source autoloader and unit test (#93)

Signed-off-by: rodalynbarce <Rodalyn.Barce@shell.com>

* Pipeline Executor (#95)

* Dependency Injector

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Add Pipeline Executor

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Add Utilities Interface

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Add Pipeline Executor

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Add Pipeline Execute Test

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* fixes #90

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Fixes for tests

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Step Order fix

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Sonarqube fixes

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

---------

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Delta Table Create Utility (#97)

* Add to docs site

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Update Delta Table Name

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Add Delta Table Create

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Add Delta Table Create Test

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

---------

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* remove print statement in twa (#99)

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>
Co-authored-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>
Co-authored-by: Amber-Rigg <44523299+Amber-Rigg@users.noreply.github.com>
Co-authored-by: NooraKubati <55835429+NooraKubati@users.noreply.github.com>

* Pipeline Deployment (#102)

* Add DBX Pipeline Deployment

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Updates for Pipeline Deployment

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

---------

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Pipeline Deployment Updates (#103)

* Pipeline Deployment Updates

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Update to run logic of Pipeline

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

---------

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Updates for Pipeline Deployment (#104)

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Unit test for spark pipeline eventhub destination (#105)

* eventhub destination unit test

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* add unit test for spark eventhub destination

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* add spark eventhub write stream unit test

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* update exception handling for eventhub and delta

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* update exception in utilities

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

---------

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* Fix for Dependency Injection (#106)

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Unit tests for source and destination streams (#108)

* streaming unit test for source eventhub

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* add delta read stream unit test

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* add unit test for delta destination streaming

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* remove extra test

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* remove code smell

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* add previous line of code back

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

---------

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* Pipeline Deployments and Pipeline Secrets (#111)

* Fix for Dependency Injection

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Pipeline Deployment And Secrets

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Add System Type Docs

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Updates for Secrets

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Code Smell fix

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Refactor Pipeline Secret Conversion Logic

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* import required objects

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Code smell fix

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Code Smell Fix

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Fix Code Smells

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

---------

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Added fails tests to pipeline sources (#112)

* Added fails tests to pipeline sources

Signed-off-by: JamesKnBr <James.Broady@Shell.com>

* Added fails tests for pipeline destinations

Signed-off-by: JamesKnBr <James.Broady@Shell.com>

* Fixed code smell

Signed-off-by: JamesKnBr <James.Broady@Shell.com>

---------

Signed-off-by: JamesKnBr <James.Broady@Shell.com>

* Fix for dockerbuild error (#114)

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Fix for docker build (#115)

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Cleanup Dockerfile (#116)

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Pipeline Secrets, Converters and Deployment Updates (#119)

* Updates for Pipelines

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Update DBX Documentation

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Updates for Pipeline Deployment

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Remove package.json

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Fix code smells

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

---------

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* time weighted average bug fix (#120)

* fix twa group by dataframe return

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* bug fixes for groupby and apply method

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

---------

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

---------

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>
Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>
Signed-off-by: rodalynbarce <Rodalyn.Barce@shell.com>
Signed-off-by: JamesKnBr <James.Broady@Shell.com>
Co-authored-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>
Co-authored-by: rodalynbarce <121169437+rodalynbarce@users.noreply.github.com>
Co-authored-by: JamesKnBr <James.Broady@Shell.com>
Co-authored-by: JamesKnBr <125024404+JamesKnBr@users.noreply.github.com>
Co-authored-by: Amber-Rigg <44523299+Amber-Rigg@users.noreply.github.com>
Co-authored-by: NooraKubati <55835429+NooraKubati@users.noreply.github.com>

* v0.4.0 (#304)

* EdgeX Transformer (#271)

* added transformer component

Signed-off-by: rodalynbarce <Rodalyn.Barce@shell.com>

* added edgeX test

Signed-off-by: JamesKnBr <james.broady@shell.com>

* update test

Signed-off-by: JamesKnBr <james.broady@shell.com>

* test updates

Signed-off-by: rodalynbarce <Rodalyn.Barce@shell.com>

* added kafka destination write format

Signed-off-by: JamesKnBr <james.broady@shell.com>

* component update

Signed-off-by: rodalynbarce <Rodalyn.Barce@shell.com>

* removed timestamp format

Signed-off-by: JamesKnBr <james.broady@shell.com>

* updated docs

Signed-off-by: JamesKnBr <james.broady@shell.com>

---------

Signed-off-by: rodalynbarce <Rodalyn.Barce@shell.com>
Signed-off-by: JamesKnBr <james.broady@shell.com>
Co-authored-by: rodalynbarce <Rodalyn.Barce@shell.com>

* Feature/00264 (#272)

* EdgeX Transformer (#271)

* added transformer component

Signed-off-by: rodalynbarce <Rodalyn.Barce@shell.com>

* added edgeX test

Signed-off-by: JamesKnBr <james.broady@shell.com>

* update test

Signed-off-by: JamesKnBr <james.broady@shell.com>

* test updates

Signed-off-by: rodalynbarce <Rodalyn.Barce@shell.com>

* added kafka destination write format

Signed-off-by: JamesKnBr <james.broady@shell.com>

* component update

Signed-off-by: rodalynbarce <Rodalyn.Barce@shell.com>

* removed timestamp format

Signed-off-by: JamesKnBr <james.broady@shell.com>

* updated docs

Signed-off-by: JamesKnBr <james.broady@shell.com>

---------

Signed-off-by: rodalynbarce <Rodalyn.Barce@shell.com>
Signed-off-by: JamesKnBr <james.broady@shell.com>
Co-authored-by: rodalynbarce <Rodalyn.Barce@shell.com>
Signed-off-by: Shivam Saxena <shivam.saxena@innowatts.com>

* Adding support for MISO Sources

Signed-off-by: Shivam Saxena <shivam.saxena@innowatts.com>

* Fixing sonar smells

Signed-off-by: Shivam Saxena <shivam.saxena@innowatts.com>

* Fixing sonar smells

Signed-off-by: Shivam Saxena <shivam.saxena@innowatts.com>

* Removing ISO Runner file

Signed-off-by: Shivam Saxena <shivam.saxena@innowatts.com>

* Making ISO methods internal

Signed-off-by: Shivam Saxena <shivam.saxena@innowatts.com>

---------

Signed-off-by: rodalynbarce <Rodalyn.Barce@shell.com>
Signed-off-by: JamesKnBr <james.broady@shell.com>
Signed-off-by: Shivam Saxena <shivam.saxena@innowatts.com>
Co-authored-by: JamesKnBr <125024404+JamesKnBr@users.noreply.github.com>
Co-authored-by: rodalynbarce <Rodalyn.Barce@shell.com>

* Add Partition Pruning to non broadcast join PCDM Merge (#274)

* Add Partition Pruning on non broadcast join merge

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Update DropDuplicates

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Fix Drop Duplicates Logic

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

---------

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* update docs (#286)

* update docs

Signed-off-by: JamesKnBr <james.broady@shell.com>

* linked issues page

Signed-off-by: JamesKnBr <james.broady@shell.com>

* changed issues link

Signed-off-by: JamesKnBr <james.broady@shell.com>

---------

Signed-off-by: JamesKnBr <james.broady@shell.com>
Co-authored-by: JamesKnBr <james.broady@shell.com>

* Fix mkdocs colour bug (#291)

* update

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* fix colour issue on mkdocs

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* fix colour bug on homepage

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

---------

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>

* Add Filter Parameter and TagName field mapping for OPC Publisher Transformer (#296)

* Additional OPC Publisher Logic

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Add Device ID Filter

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Update Docs

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Update to Filter Logic

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

---------

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Weather Domain and Data Model (#294)

* added new overview and data model

Signed-off-by: PaveeG <pawegor9@gmail.com>

* adding signoff

Signed-off-by: PaveeG <pawegor9@gmail.com>

* added overview and data model

Signed-off-by: PaveeG <pawegor9@gmail.com>

* Adding signoff Signed-off-by: Author Name <pawegor9@gmail.com>

Signed-off-by: PaveeG <pawegor9@gmail.com>

---------

Signed-off-by: PaveeG <pawegor9@gmail.com>

* Refactor for odbc and functions folders (#299)

* Folder Refactor

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Code smell fixes

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

---------

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Pyspark 3.4.0 and delta-spark 2.4.0 support (#297)

* Preview Support of Pyspark 3.4.0

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Fix for running github actions tests

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Updates for delta-spark release candidate

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Update tests

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Downgrade Turbodbc to include 3.8

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Add Spark Connect

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Updates to packages

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Updates for release of 2.4.0

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Add hvac back

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Fixes for tests

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Remove Whitespace

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Build sdist and wheel

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Change micromamba Action

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Update Tests Workflow

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Code Smells

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Sonarqube Bug Fix

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Update Readme with logo

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Center table

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Update readme

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Folder Refactor

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Code smell fixes

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Updates for refactoriung spark connector

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

---------

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Add OPC UA Transformer parameters (#301)

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Update for Micromamba Github Actions Parameters (#302)

* Update micromamba parameters

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Update for Sonarqube

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

---------

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Upgrade FastAPI package (#303)

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

---------

Signed-off-by: rodalynbarce <Rodalyn.Barce@shell.com>
Signed-off-by: JamesKnBr <james.broady@shell.com>
Signed-off-by: Shivam Saxena <shivam.saxena@innowatts.com>
Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>
Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>
Signed-off-by: PaveeG <pawegor9@gmail.com>
Co-authored-by: JamesKnBr <125024404+JamesKnBr@users.noreply.github.com>
Co-authored-by: rodalynbarce <Rodalyn.Barce@shell.com>
Co-authored-by: IW-SS <133041871+IW-SS@users.noreply.github.com>
Co-authored-by: rodalynbarce <121169437+rodalynbarce@users.noreply.github.com>
Co-authored-by: JamesKnBr <james.broady@shell.com>
Co-authored-by: cching95 <73163191+cching95@users.noreply.github.com>
Co-authored-by: PaveeG <pawegor9@gmail.com>

* Resolve imports on deprecated folders

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Updates to remove unwanted files

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

---------

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>
Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>
Signed-off-by: rodalynbarce <Rodalyn.Barce@shell.com>
Signed-off-by: JamesKnBr <James.Broady@Shell.com>
Signed-off-by: JamesKnBr <james.broady@shell.com>
Signed-off-by: Shivam Saxena <shivam.saxena@innowatts.com>
Signed-off-by: PaveeG <pawegor9@gmail.com>
Co-authored-by: cching95 <73163191+cching95@users.noreply.github.com>
Co-authored-by: rodalynbarce <121169437+rodalynbarce@users.noreply.github.com>
Co-authored-by: JamesKnBr <James.Broady@Shell.com>
Co-authored-by: JamesKnBr <125024404+JamesKnBr@users.noreply.github.com>
Co-authored-by: Amber-Rigg <44523299+Amber-Rigg@users.noreply.github.com>
Co-authored-by: NooraKubati <55835429+NooraKubati@users.noreply.github.com>
Co-authored-by: rodalynbarce <Rodalyn.Barce@shell.com>
Co-authored-by: IW-SS <133041871+IW-SS@users.noreply.github.com>
Co-authored-by: PaveeG <pawegor9@gmail.com>

* Merge main to develop

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* added weather transformer, docs, test - modified source weather

Signed-off-by: PaveeG <pawegor9@gmail.com>

* refactored code

Signed-off-by: PaveeG <pawegor9@gmail.com>

* modified weather source unit test

Signed-off-by: PaveeG <pawegor9@gmail.com>

* reformated code

Signed-off-by: PaveeG <pawegor9@gmail.com>

* updated camel casing in weather transformer and tests

Signed-off-by: PaveeG <pawegor9@gmail.com>

* removed spark session from tests

Signed-off-by: PaveeG <pawegor9@gmail.com>

* changed source test case

Signed-off-by: PaveeG <pawegor9@gmail.com>

* added weather transformer

Signed-off-by: PaveeG <pawegor9@gmail.com>

* added component

Signed-off-by: PaveeG <pawegor9@gmail.com>

* removed duplicates

Signed-off-by: PaveeG <pawegor9@gmail.com>

* changed if expression

Signed-off-by: PaveeG <pawegor9@gmail.com>

* merge

Signed-off-by: PaveeG <pawegor9@gmail.com>

* fixed logic expression

Signed-off-by: PaveeG <pawegor9@gmail.com>

* merge

Signed-off-by: PaveeG <pawegor9@gmail.com>

* removed duplicate strings in test

Signed-off-by: PaveeG <pawegor9@gmail.com>

---------

Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>
Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>
Signed-off-by: rodalynbarce <Rodalyn.Barce@shell.com>
Signed-off-by: JamesKnBr <James.Broady@Shell.com>
Signed-off-by: JamesKnBr <james.broady@shell.com>
Signed-off-by: Shivam Saxena <shivam.saxena@innowatts.com>
Signed-off-by: PaveeG <pawegor9@gmail.com>
Co-authored-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>
Co-authored-by: Amber-Rigg <44523299+Amber-Rigg@users.noreply.github.com>
Co-authored-by: NooraKubati <55835429+NooraKubati@users.noreply.github.com>
Co-authored-by: cching95 <73163191+cching95@users.noreply.github.com>
Co-authored-by: rodalynbarce <121169437+rodalynbarce@users.noreply.github.com>
Co-authored-by: JamesKnBr <James.Broady@Shell.com>
Co-authored-by: JamesKnBr <125024404+JamesKnBr@users.noreply.github.com>
Co-authored-by: rodalynbarce <Rodalyn.Barce@shell.com>
Co-authored-by: IW-SS <133041871+IW-SS@users.noreply.github.com>

* API Updates (#404)

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* AMQP value decoding from Kafka Headers (#403)

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Return Properties initial value if not populated (#405)

Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>

* Delete run_delta_stream.py

Signed-off-by: JamesKnBr <125024404+JamesKnBr@users.noreply.github.com>

* fix code smells

Signed-off-by: JamesKnBr <james.broady@shell.com>

* Added test for dataframe type

Signed-off-by: rodalynbarce <Rodalyn.Barce@shell.com>

* updated delta destination and yaml

Signed-off-by: JamesKnBr <james.broady@shell.com>

* remove delta-sharing from yaml

Signed-off-by: JamesKnBr <james.broady@shell.com>

* add python delta sharing source

Signed-off-by: JamesKnBr <james.broady@shell.com>

---------

Signed-off-by: JamesKnBr <james.broady@shell.com>
Signed-off-by: rodalynbarce <Rodalyn.Barce@shell.com>
Signed-off-by: cching95 <73163191+cching95@users.noreply.github.com>
Signed-off-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>
Signed-off-by: JamesKnBr <James.Broady@Shell.com>
Signed-off-by: Shivam Saxena <shivam.saxena@innowatts.com>
Signed-off-by: PaveeG <pawegor9@gmail.com>
Signed-off-by: JamesKnBr <125024404+JamesKnBr@users.noreply.github.com>
Co-authored-by: rodalynbarce <Rodalyn.Barce@shell.com>
Co-authored-by: cching95 <73163191+cching95@users.noreply.github.com>
Co-authored-by: PaveeG <pawegor9@gmail.com>
Co-authored-by: GBBBAS <42962356+GBBBAS@users.noreply.github.com>
Co-authored-by: Amber-Rigg <44523299+Amber-Rigg@users.noreply.github.com>
Co-authored-by: NooraKubati <55835429+NooraKubati@users.noreply.github.com>
Co-authored-by: rodalynbarce <121169437+rodalynbarce@users.noreply.github.com>
Co-authored-by: IW-SS <133041871+IW-SS@users.noreply.github.com>
  • Loading branch information
9 people committed Aug 2, 2023
1 parent ead4316 commit 534d2fb
Show file tree
Hide file tree
Showing 17 changed files with 508 additions and 1 deletion.
@@ -0,0 +1,2 @@
# Write to Delta
::: src.sdk.python.rtdip_sdk.pipelines.destinations.python.delta
2 changes: 2 additions & 0 deletions docs/sdk/code-reference/pipelines/sources/python/delta.md
@@ -0,0 +1,2 @@
# Read from Delta
::: src.sdk.python.rtdip_sdk.pipelines.sources.python.delta
@@ -0,0 +1,2 @@
# Read from Delta with Delta Sharing
::: src.sdk.python.rtdip_sdk.pipelines.sources.python.delta_sharing
2 changes: 2 additions & 0 deletions environment.yml
Expand Up @@ -70,4 +70,6 @@ dependencies:
- deltalake==0.10.0
- moto[s3]==4.1.13
- build==0.10.0
- polars==0.18.8
- delta-sharing==0.7.3

5 changes: 5 additions & 0 deletions mkdocs.yml
Expand Up @@ -160,6 +160,9 @@ nav:
- Base Weather: sdk/code-reference/pipelines/sources/spark/weather/base_weather.md
- Weather Forecast API V1: sdk/code-reference/pipelines/sources/spark/weather/weather_forecast_api_v1.md
- Weather Forecast API V1 Multi: sdk/code-reference/pipelines/sources/spark/weather/weather_forecast_api_v1_multi.md
- Python:
- Delta: sdk/code-reference/pipelines/sources/python/delta.md
- Delta Sharing: sdk/code-reference/pipelines/sources/python/delta_sharing.md
- Transformers:
- Spark:
- Binary To String: sdk/code-reference/pipelines/transformers/spark/binary_to_string.md
Expand All @@ -186,6 +189,8 @@ nav:
- Kinesis: sdk/code-reference/pipelines/destinations/spark/kinesis.md
- Rest API: sdk/code-reference/pipelines/destinations/spark/rest_api.md
- Process Control Data Model To Delta: sdk/code-reference/pipelines/destinations/spark/pcdm_to_delta.md
- Python:
- Delta: sdk/code-reference/pipelines/destinations/python/delta.md
- Blockchain:
- EVM: sdk/code-reference/pipelines/destinations/blockchain/evm.md

Expand Down
3 changes: 2 additions & 1 deletion src/sdk/python/rtdip_sdk/pipelines/destinations/__init__.py
Expand Up @@ -19,4 +19,5 @@
from .spark.kinesis import *
from .spark.rest_api import *
from .spark.pcdm_to_delta import *
from .blockchain.evm import *
from .blockchain.evm import *
from .python.delta import *
13 changes: 13 additions & 0 deletions src/sdk/python/rtdip_sdk/pipelines/destinations/python/__init__.py
@@ -0,0 +1,13 @@
# Copyright 2022 RTDIP
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
93 changes: 93 additions & 0 deletions src/sdk/python/rtdip_sdk/pipelines/destinations/python/delta.py
@@ -0,0 +1,93 @@
# Copyright 2022 RTDIP
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

import logging
import time
import pandas as pd
from deltalake import write_deltalake, DeltaTable
from typing import Literal
import pyarrow as pa
import polars as pl
from polars import LazyFrame
from typing import Callable
from ..interfaces import DestinationInterface
from ..._pipeline_utils.models import Libraries, SystemType
from ..._pipeline_utils.constants import get_default_package

class PythonDeltaDestination(DestinationInterface):
'''
The Python Delta Destination is used to write data to a Delta table from a Polars LazyFrame.
Args:
data (LazyFrame): Polars LazyFrame to be written to Delta
path (str): Path to Delta table to be written to; either local or [remote](https://delta-io.github.io/delta-rs/python/usage.html#loading-a-delta-table){ target="_blank" }. **Locally** if the Table does't exist one will be created, but to write to AWS or Azure, you must have an existing Delta Table
options (Optional dict): Used if writing to a remote location. For AWS use format {"aws_access_key_id": "<>", "aws_secret_access_key": "<>"}. For Azure use format {"azure_storage_account_name": "storageaccountname", "azure_storage_access_key": "<>"}
mode (Literal['error', 'append', 'overwrite', 'ignore']): Defaults to error if table exists, 'ignore' won't write anything if table exists
overwrite_schema (bool): If True will allow for the table schema to be overwritten
delta_write_options (dict): Options when writing to a Delta table. See [here](https://delta-io.github.io/delta-rs/python/api_reference.html#writing-deltatables){ target="_blank" } for all options
'''
data: LazyFrame
path: str
options: dict
mode: Literal['error', 'append', 'overwrite', 'ignore']
overwrite_schema: bool
delta_write_options: bool

def __init__(self, data: LazyFrame, path: str, options: dict = None, mode: Literal['error', 'append', 'overwrite', 'ignore'] = 'error', overwrite_schema: bool = False, delta_write_options: bool = False, query_name = None) -> None:
self.data = data
self.path = path
self.options = options
self.mode = mode
self.overwrite_schema = overwrite_schema
self.delta_write_options = delta_write_options

@staticmethod
def system_type():
'''
Attributes:
SystemType (Environment): Requires PYTHON
'''
return SystemType.PYTHON

@staticmethod
def libraries():
libraries = Libraries()
return libraries

@staticmethod
def settings() -> dict:
return {}

def pre_write_validation(self):
return True

def post_write_validation(self):
return True

def write_batch(self):
'''
Writes batch data to Delta without using Spark.
'''
if isinstance(self.data, pl.LazyFrame):
df = self.data.collect()
df.write_delta(self.path, mode=self.mode, overwrite_schema= self.overwrite_schema, storage_options=self.options, delta_write_options=self.delta_write_options)
else:
raise ValueError("Data must be a Polars LazyFrame. See https://pola-rs.github.io/polars/py-polars/html/reference/lazyframe/index.html")

def write_stream(self):
'''
Raises:
NotImplementedError: Writing to a Delta table using Python is only possible for batch writes. To perform a streaming read, use the write_stream method of the SparkDeltaDestination component.
'''
raise NotImplementedError("Writing to a Delta table using Python is only possible for batch writes. To perform a streaming read, use the write_stream method of the SparkDeltaDestination component")
2 changes: 2 additions & 0 deletions src/sdk/python/rtdip_sdk/pipelines/sources/__init__.py
Expand Up @@ -22,3 +22,5 @@
from .spark.kinesis import *
from .spark.iso import *
from .spark.weather import *
from .python.delta import *
from .python.delta_sharing import *
13 changes: 13 additions & 0 deletions src/sdk/python/rtdip_sdk/pipelines/sources/python/__init__.py
@@ -0,0 +1,13 @@
# Copyright 2022 RTDIP
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
82 changes: 82 additions & 0 deletions src/sdk/python/rtdip_sdk/pipelines/sources/python/delta.py
@@ -0,0 +1,82 @@
# Copyright 2022 RTDIP
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

from ..interfaces import SourceInterface
from ..._pipeline_utils.models import Libraries, SystemType
from ..._pipeline_utils.constants import get_default_package
import polars as pl
from polars import LazyFrame

class PythonDeltaSource(SourceInterface):
'''
The Python Delta Source is used to read data from a Delta table without using Apache Spark, returning a Polars LazyFrame
Args:
path (str): Path to the Delta table. Can be local or in S3/Azure storage
version (optional int): Specify the Delta table version to read from. Defaults to the latest version
storage_options (optional dict): Used to read from AWS/Azure storage. For AWS use format {"aws_access_key_id": "<>", "aws_secret_access_key":"<>"}. For Azure use format {"azure_storage_account_name": "<>", "azure_storage_account_key": "<>"}.
pyarrow_options (optional dict): Data Access and Efficiency options when reading from Delta. See [to_pyarrow_dataset](https://delta-io.github.io/delta-rs/python/api_reference.html#deltalake.table.DeltaTable.to_pyarrow_dataset){ target="_blank" }.
without_files (optional bool): If True loads the table without tracking files
'''
path: str
version: int
storage_options: dict
pyarrow_options: dict
without_files: bool

def __init__(self, path: str, version: int = None, storage_options: dict = None, pyarrow_options: dict = None, without_files: bool = False):
self.path = path
self.version = version
self.storage_options = storage_options
self.pyarrow_options = pyarrow_options
self.without_files = without_files

@staticmethod
def system_type():
'''
Attributes:
SystemType (Environment): Requires PYTHON
'''
return SystemType.PYTHON

@staticmethod
def libraries():
libraries = Libraries()
return libraries

@staticmethod
def settings() -> dict:
return {}

def pre_read_validation(self):
return True

def post_read_validation(self):
return True

def read_batch(self) -> LazyFrame:
'''
Reads data from a Delta table into a Polars LazyFrame
'''
without_files_dict = {"without_files": self.without_files}
lf = pl.scan_delta(source= self.path, version= self.version, storage_options= self.storage_options, delta_table_options= without_files_dict, pyarrow_options= self.pyarrow_options)
return lf

def read_stream(self):
'''
Raises:
NotImplementedError: Reading from a Delta table using Python is only possible for batch reads. To perform a streaming read, use the read_stream method of the SparkDeltaSource component.
'''
raise NotImplementedError("Reading from a Delta table using Python is only possible for batch reads. To perform a streaming read, use the read_stream method of the SparkDeltaSource component")

81 changes: 81 additions & 0 deletions src/sdk/python/rtdip_sdk/pipelines/sources/python/delta_sharing.py
@@ -0,0 +1,81 @@
# Copyright 2022 RTDIP
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

from ..interfaces import SourceInterface
from ..._pipeline_utils.models import Libraries, SystemType
from ..._pipeline_utils.constants import get_default_package
import delta_sharing
import polars as pl
from polars import LazyFrame


class PythonDeltaSharingSource(SourceInterface):
'''
The Python Delta Sharing Source is used to read data from a Delta table with Delta Sharing configured, without using Apache Spark.
Args:
profile_path (str): Location of the credential file. Can be any URL supported by [FSSPEC](https://filesystem-spec.readthedocs.io/en/latest/index.html){ target="_blank" }
share_name (str): The value of 'share=' for the table
schema_name (str): The value of 'schema=' for the table
table_name (str): The value of 'name=' for the table
'''
profile_path: str
share_name: str
schema_name: str
table_name: str

def __init__(self, profile_path: str, share_name: str, schema_name: str, table_name: str):
self.profile_path = profile_path
self.share_name = share_name
self.schema_name = schema_name
self.table_name = table_name

@staticmethod
def system_type():
'''
Attributes:
SystemType (Environment): Requires PYTHON
'''
return SystemType.PYTHON

@staticmethod
def libraries():
libraries = Libraries()
return libraries

@staticmethod
def settings() -> dict:
return {}

def pre_read_validation(self):
return True

def post_read_validation(self):
return True

def read_batch(self) -> LazyFrame:
'''
Reads data from a Delta table with Delta Sharing into a Polars LazyFrame.
'''
pandas_df = delta_sharing.load_as_pandas(f"{self.profile_path}#{self.share_name}.{self.schema_name}.{self.table_name}")
polars_lazyframe = pl.from_pandas(pandas_df).lazy()
return polars_lazyframe

def read_stream(self):
'''
Raises:
NotImplementedError: Reading from a Delta table with Delta Sharing using Python is only possible for batch reads.
'''
raise NotImplementedError("Reading from a Delta table with Delta Sharing using Python is only possible for batch reads.")
@@ -0,0 +1,13 @@
# Copyright 2022 RTDIP
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

0 comments on commit 534d2fb

Please sign in to comment.