Automatically checking expression backend compatibility #11782
Replies: 3 comments
-
|
Very cool! I'm not personally aware of anything built-in to do this (@NickCrews do you know? :)). From an approach perspective, my first thought was also My thoughts are:
I wonder if it would make sense to just run a process that computes the matrix for a tagged release (probably check out the code, install all the dependencies, run the same code but output to a file), store thise matrices on GitHub or wherever, and that way any users just download that file instead of scraping latest? |
Beta Was this translation helpful? Give feedback.
-
|
Thanks for taking a peek @deepyaman! I incorporated your suggestions. Once I get the docs building locally I'll remove the piece that parses from the docs siteπ(re: #11799) |
Beta Was this translation helpful? Give feedback.
-
|
Thanks, this is cool. I think your solution is probably the best possible at this time, there is no secret backdoor in the internals that I know of. In fact, I've never even looked at the matrix generator code. I also am curious what you think about the simple true/false for support, for example some backends only support some args to certain operations, eg (this isn't exactly right but you get the idea) you can only exclude nulls in ArrayCollect on sqlite, if you do .collect(include_nulls=True) you get a runtime error. So that in my mind is partial support for the general ArrayCollect op, only with a concrete instance of ArrayCollect would you be able to tell. Ideas on how ibis could improve here:
|
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
I recently posted a little blog about automatically checking which backends an expression will work on.
Would love to see if this is way off base or if there's a secret way to do this built into Ibis already.
Blog: https://iwhalen.com/ibis-compatibility/
Repo: https://github.com/iwhalen/ibis-compatibility
Beta Was this translation helpful? Give feedback.
All reactions