Adds FunctionInputOutputTypeChecker #757
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a lifecycle adapter that one can add to strictly enforce the types of things at runtime. It will check the input to and the output from a function and check that it matches the expected type annotation.
It modifies/fixes the pandas split-apply-combine example to conform to the expected types; it actually found mismatches between what was typed and what was passed in.
I had to modify graph_functions.py so that the error message from the pre-node-execute hook would show up in the right place and the post-node-execute hook would not run.
Note: this does not do anything smart with Pandera or Annotated types just yet, but it could in future.
Test generated with the help of co-pilot. A little ugly, but they do the job.
Changes
How I tested this
Notes
Checklist