Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix plugin regressions #688

Merged
merged 19 commits into from
Oct 7, 2021
Merged

Fix plugin regressions #688

merged 19 commits into from
Oct 7, 2021

Conversation

cosmicBboy
Copy link
Contributor

@cosmicBboy cosmicBboy commented Oct 6, 2021

Signed-off-by: Niels Bantilan [email protected]

TL;DR

A few regressions in the flytekit plugins accumulated because the plugins CI used a pinned version of flytekit. This PR fixes the regressions and updates pythonbuild.yml to use a developer installation of flytekit to test whether flytekit changes break the plugins

Type

  • Bug Fix
  • Feature
  • Plugin

Are all requirements met?

  • Code completed
  • Smoke tested
  • Unit tests added
  • Code documentation added
  • Any pending items have an associated Issue

Complete description

There was a regression in several flytekit plugins, one of which was caused by this PR: #655. The fixes were:

  • implement assert_type in pandera type transformer
  • add sqlalchemy to greatexpectations setup.py
  • update a few imports that broke due to changes in plugin directory structure

Tracking Issue

https://github.com/lyft/flyte/issues/

Follow-up issue

NA
OR
https://github.com/lyft/flyte/issues/

Signed-off-by: Niels Bantilan <[email protected]>
Signed-off-by: Niels Bantilan <[email protected]>
@codecov
Copy link

codecov bot commented Oct 6, 2021

Codecov Report

Merging #688 (f7d5032) into master (652fd22) will increase coverage by 0.00%.
The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff           @@
##           master     #688   +/-   ##
=======================================
  Coverage   85.68%   85.68%           
=======================================
  Files         355      355           
  Lines       29640    29684   +44     
  Branches     2411     2426   +15     
=======================================
+ Hits        25396    25436   +40     
- Misses       3604     3606    +2     
- Partials      640      642    +2     
Impacted Files Coverage Δ
flytekit/remote/remote.py 72.46% <0.00%> (-0.79%) ⬇️
tests/flytekit/unit/core/test_type_engine.py 99.71% <0.00%> (+0.01%) ⬆️
flytekit/core/type_engine.py 88.38% <0.00%> (+0.57%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 652fd22...f7d5032. Read the comment docs.

Signed-off-by: Niels Bantilan <[email protected]>
Signed-off-by: Niels Bantilan <[email protected]>
Signed-off-by: Niels Bantilan <[email protected]>
Signed-off-by: Niels Bantilan <[email protected]>
Signed-off-by: Niels Bantilan <[email protected]>
Signed-off-by: Niels Bantilan <[email protected]>
@wild-endeavor wild-endeavor changed the title fix pandera regression Fix plugin regressions Oct 6, 2021
@@ -53,6 +55,11 @@ def _get_schema_type(self, t: Type[pandera.typing.DataFrame]) -> SchemaType:
def get_literal_type(self, t: Type[pandera.typing.DataFrame]) -> LiteralType:
return LiteralType(schema=self._get_schema_type(t))

def assert_type(self, t: Type[T], v: T):
if not hasattr(t, "__origin__") and not isinstance(v, t):
# if not hasattr(t, "__origin__") and not isinstance(v, (t, pandas.DataFrame)):
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remove commented code.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this isn't ready for review yet 😅

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oops, my bad. Can you ping when it's ready for review?

@kumare3
Copy link
Contributor

kumare3 commented Oct 7, 2021

@cosmicBboy thank you for the catch this is my bad!

Signed-off-by: Niels Bantilan <[email protected]>
Signed-off-by: Niels Bantilan <[email protected]>
Signed-off-by: Niels Bantilan <[email protected]>
Signed-off-by: Niels Bantilan <[email protected]>
Signed-off-by: Niels Bantilan <[email protected]>
Signed-off-by: Niels Bantilan <[email protected]>
Signed-off-by: Niels Bantilan <[email protected]>
Signed-off-by: Niels Bantilan <[email protected]>
Signed-off-by: Niels Bantilan <[email protected]>
Copy link
Collaborator

@eapolinario eapolinario left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you update the description and mention that this PR actually fixes all plugin regressions not only pandera?

@cosmicBboy cosmicBboy merged commit 6c03203 into master Oct 7, 2021
@cosmicBboy cosmicBboy deleted the fix-pandera branch October 7, 2021 21:43
eapolinario pushed a commit that referenced this pull request Oct 8, 2021
* fix pandera regression

Signed-off-by: Niels Bantilan <[email protected]>

* install plugin with pip

Signed-off-by: Niels Bantilan <[email protected]>

* fix pandera plugin tests

Signed-off-by: Niels Bantilan <[email protected]>

* wip

Signed-off-by: Niels Bantilan <[email protected]>

* wip

Signed-off-by: Niels Bantilan <[email protected]>

* wip

Signed-off-by: Niels Bantilan <[email protected]>

* wip

Signed-off-by: Niels Bantilan <[email protected]>

* wip

Signed-off-by: Niels Bantilan <[email protected]>

* wip

Signed-off-by: Niels Bantilan <[email protected]>

* add spark flytekit plugin to papermill test_requires

Signed-off-by: Niels Bantilan <[email protected]>

* wip

Signed-off-by: Niels Bantilan <[email protected]>

* wip

Signed-off-by: Niels Bantilan <[email protected]>

* wip

Signed-off-by: Niels Bantilan <[email protected]>

* wip

Signed-off-by: Niels Bantilan <[email protected]>

* add sqlalchemy to great expectations plugin

Signed-off-by: Niels Bantilan <[email protected]>

* wip

Signed-off-by: Niels Bantilan <[email protected]>

* wip

Signed-off-by: Niels Bantilan <[email protected]>

* plugins plugins plugins!

Signed-off-by: Niels Bantilan <[email protected]>

* lint

Signed-off-by: Niels Bantilan <[email protected]>
AdrianoKF pushed a commit to AdrianoKF/flytekit that referenced this pull request Oct 11, 2021
* fix pandera regression

Signed-off-by: Niels Bantilan <[email protected]>

* install plugin with pip

Signed-off-by: Niels Bantilan <[email protected]>

* fix pandera plugin tests

Signed-off-by: Niels Bantilan <[email protected]>

* wip

Signed-off-by: Niels Bantilan <[email protected]>

* wip

Signed-off-by: Niels Bantilan <[email protected]>

* wip

Signed-off-by: Niels Bantilan <[email protected]>

* wip

Signed-off-by: Niels Bantilan <[email protected]>

* wip

Signed-off-by: Niels Bantilan <[email protected]>

* wip

Signed-off-by: Niels Bantilan <[email protected]>

* add spark flytekit plugin to papermill test_requires

Signed-off-by: Niels Bantilan <[email protected]>

* wip

Signed-off-by: Niels Bantilan <[email protected]>

* wip

Signed-off-by: Niels Bantilan <[email protected]>

* wip

Signed-off-by: Niels Bantilan <[email protected]>

* wip

Signed-off-by: Niels Bantilan <[email protected]>

* add sqlalchemy to great expectations plugin

Signed-off-by: Niels Bantilan <[email protected]>

* wip

Signed-off-by: Niels Bantilan <[email protected]>

* wip

Signed-off-by: Niels Bantilan <[email protected]>

* plugins plugins plugins!

Signed-off-by: Niels Bantilan <[email protected]>

* lint

Signed-off-by: Niels Bantilan <[email protected]>
eapolinario added a commit that referenced this pull request Oct 19, 2021
* Run 3.9 in CI

Signed-off-by: Eduardo Apolinario <[email protected]>

* Also run 3.9 in plugins tests.

Signed-off-by: Eduardo Apolinario <[email protected]>

* Fix tests

Signed-off-by: Eduardo Apolinario <[email protected]>

* Account for the different exception type raised in case of wrong types

Signed-off-by: Eduardo Apolinario <[email protected]>

* Exclude spark2

Signed-off-by: Eduardo Apolinario <[email protected]>

* Failed to load json_data to dataclass (#684)

Signed-off-by: Kevin Su <[email protected]>
Signed-off-by: Eduardo Apolinario <[email protected]>

* Remove sync singledispatch, add option for top-level only sync (#681)

Signed-off-by: Yee Hing Tong <[email protected]>
Signed-off-by: Eduardo Apolinario <[email protected]>

* Failed to transform path string to Literal (#689)

Signed-off-by: Kevin Su <[email protected]>
Signed-off-by: Eduardo Apolinario <[email protected]>

* Don't node sync on remote wait (#690)

* no node sync

Signed-off-by: Yee Hing Tong <[email protected]>

* add param to wait

Signed-off-by: Yee Hing Tong <[email protected]>
Signed-off-by: Eduardo Apolinario <[email protected]>

* Fix plugin regressions (#688)

* fix pandera regression

Signed-off-by: Niels Bantilan <[email protected]>

* install plugin with pip

Signed-off-by: Niels Bantilan <[email protected]>

* fix pandera plugin tests

Signed-off-by: Niels Bantilan <[email protected]>

* wip

Signed-off-by: Niels Bantilan <[email protected]>

* wip

Signed-off-by: Niels Bantilan <[email protected]>

* wip

Signed-off-by: Niels Bantilan <[email protected]>

* wip

Signed-off-by: Niels Bantilan <[email protected]>

* wip

Signed-off-by: Niels Bantilan <[email protected]>

* wip

Signed-off-by: Niels Bantilan <[email protected]>

* add spark flytekit plugin to papermill test_requires

Signed-off-by: Niels Bantilan <[email protected]>

* wip

Signed-off-by: Niels Bantilan <[email protected]>

* wip

Signed-off-by: Niels Bantilan <[email protected]>

* wip

Signed-off-by: Niels Bantilan <[email protected]>

* wip

Signed-off-by: Niels Bantilan <[email protected]>

* add sqlalchemy to great expectations plugin

Signed-off-by: Niels Bantilan <[email protected]>

* wip

Signed-off-by: Niels Bantilan <[email protected]>

* wip

Signed-off-by: Niels Bantilan <[email protected]>

* plugins plugins plugins!

Signed-off-by: Niels Bantilan <[email protected]>

* lint

Signed-off-by: Niels Bantilan <[email protected]>

* Exclude does not understand lists

Signed-off-by: Eduardo Apolinario <[email protected]>

* Invert python version check

Signed-off-by: Eduardo Apolinario <[email protected]>

* Invert python version check for real this time

Signed-off-by: Eduardo Apolinario <[email protected]>

* Enable 3.10 just for kicks

Signed-off-by: Eduardo Apolinario <[email protected]>

* Add quotes around python versions

Yes, this is needed, please see https://dev.to/hugovk/the-python-3-1-problem-85g.

Signed-off-by: Eduardo Apolinario <[email protected]>

* Revert "Add quotes around python versions"

This reverts commit 4d619d5.

Signed-off-by: Eduardo Apolinario <[email protected]>

* Revert "Enable 3.10 just for kicks"

This reverts commit bd6d694.

Signed-off-by: Eduardo Apolinario <[email protected]>

* wip - restricted types

Signed-off-by: Eduardo Apolinario <[email protected]>

* wip - restricted types

Signed-off-by: Eduardo Apolinario <[email protected]>

* Comment use of restricted types in get_transformer

Signed-off-by: Eduardo Apolinario <[email protected]>

* Publish 3.9 image

Signed-off-by: Eduardo Apolinario <[email protected]>

* Add python 3.9 to the list of supported languages

Signed-off-by: Eduardo Apolinario <[email protected]>

* Comment RestrictedTypeTransformer and add one test case.

Signed-off-by: Eduardo Apolinario <[email protected]>

* Review feedback

Signed-off-by: Eduardo Apolinario <[email protected]>

* Comment RestrictedTypeTransformer

Signed-off-by: Eduardo Apolinario <[email protected]>

* Handle the TypeError

Signed-off-by: Eduardo Apolinario <[email protected]>

* Remove breakpoint

Signed-off-by: Eduardo Apolinario <[email protected]>

Co-authored-by: Eduardo Apolinario <[email protected]>
Co-authored-by: Kevin Su <[email protected]>
Co-authored-by: Yee Hing Tong <[email protected]>
Co-authored-by: Niels Bantilan <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants