-
Notifications
You must be signed in to change notification settings - Fork 120
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(sdk): fix support for args when using IndexifyFunction and IndexifyRouter classes #1127
fix(sdk): fix support for args when using IndexifyFunction and IndexifyRouter classes #1127
Conversation
+1 (needs pr check fix) |
11affaf
to
ace67cc
Compare
return str( | ||
type(func_wrapper.indexify_function) | ||
) == "<class 'indexify.functions_sdk.indexify_functions.IndexifyRouter'>" or isinstance( | ||
func_wrapper.indexify_function, IndexifyRouter |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we only use the isinstance check here?
It's clear easier to maintain if it gives the same results.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
From my testing, the way we build the IndexifyFunction using type(...)
fails the is instance check.
Will do more testing.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Interesting. If isinstance() fails and we won't figure out why, then let's not add isinstance() here and add a comment that's it's not working. So others don't try to quickfix it with the isinstance() check.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would not be adding code for no reason :)
The isintance is needed when using the IndexifyRouter class. But it looks like when using the indexify_router function, it is not enough.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TIL :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like it can either be an instance or a class.
Context
We introduced a regression making this graph fail:
It failed because it called the run function with
dict(obj=MyObject(x=1))
instead of justMyObject(x=1)
.What
Recent improvements to args and kwargs handling missed support for IndexifyFunction and IndexifyRouter classes.
This PR aligns the approach taken for function and classes.
Testing
Add a new test case for IndexifyFunction and IndexifyRouter classes.
Contribution Checklist
make fmt
inpython-sdk/
.make fmt
inserver/
.