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

dev: ensure that downstream dependencies remain compatible with ibis 4.x #4519

Closed
kszucs opened this issue Sep 16, 2022 · 10 comments
Closed

Comments

@kszucs
Copy link
Member

kszucs commented Sep 16, 2022

We should ensure projects depending on ibis remain functional with all the breaking changes we merged with #4512

Pay attention to:

  • the ibis adopters we know
  • we have a couple of 3rdparty backends, like ibis-bigquery or ibis-heavyai
  • popular projects we may not be aware of (@jcrist I know you have an ibis query and a datasource to check this out, could we use that here?)
@kszucs
Copy link
Member Author

kszucs commented Sep 16, 2022

@jreback @icexelloss @timothydijamco I'm not sure where are you at the migration, but please let me know if I can help you with anything. I created a 3.x.x branch which is identical with the previous HEAD before any of the breaking changes.

@icexelloss
Copy link
Contributor

Thanks! In term of migration status, we haven't started working on it. It's close to year-end so it's hard to squeeze in a major development effort like the ibis 3 -> 4 migration on our side (most people are busy with finishing up their year-end goal).

What are you guys thoughts around:
(1) How long do we plan to maintain 3.x branch. Is it going to be mostly in maintenance mode or do we plan to back port features to it?
(2) How long do we plan to maintain ibis 3.x compatibility on the ibis-substrait side? We just started porting ibis-substrait internally and our plan is to target ibis-substrait with ibis 3 for the next few month (3-4) at least. So curious to hear that you guys think about maintaining that and if we need to budget eng resources to keep the compatibility ourselves.

@cpcloud
Copy link
Member

cpcloud commented Sep 20, 2022

@icexelloss Thanks for chiming in!

The plan is to port nothing back to 3.x for now. Regarding ibis-substrait, how does 3-4 months sound for a cutover to 4.0? In the meantime, I can try to look into adding a shim layer for ibis-substrait that is backwards compatible so that 3.x and 4.x can live alongside each other for that period. After 3-4 months though, we'll set a lower bound to ibis 4.

How does that sound?

@icexelloss
Copy link
Contributor

Sorry for the delayed reply but yeah I think it is reasonable but I cannot promise we will be 100% ready to go with ibis 4.x in 3-4 month time (it depends on how much work is needed for bumping to ibis 4 internally and when we can schedule the work) but I think it's a reasonable target.

@kszucs
Copy link
Member Author

kszucs commented Sep 29, 2022

Just as a sidenote: the migration may seem like a big effort, but the majority of the incompatibilities can be resolved by removing the .op() calls.

@icexelloss
Copy link
Contributor

Hopefully..(finger crossed)

@kszucs
Copy link
Member Author

kszucs commented Sep 29, 2022

What I mean it may worth a try sooner than later. I'll be harder for us too to recall how to resolve the more complicated scenarios.

@saulpw
Copy link
Contributor

saulpw commented Sep 29, 2022

@kszucs Can we add a def op(self): return self just for backwards compatibility? We can deprecate it straightaway, just seems like it might ease the migration substantially if this will cause a majority of the issues.

@kszucs
Copy link
Member Author

kszucs commented Sep 29, 2022

Definitely, that's a pretty good idea actually! Would you mind putting up a PR for it?

saulpw added a commit to saulpw/ibis that referenced this issue Sep 30, 2022
saulpw added a commit to saulpw/ibis that referenced this issue Sep 30, 2022
saulpw added a commit to saulpw/ibis that referenced this issue Oct 3, 2022
saulpw added a commit to saulpw/ibis that referenced this issue Oct 11, 2022
@cpcloud
Copy link
Member

cpcloud commented Feb 2, 2023

Closing this out, the op method exists for compatibility now.

@cpcloud cpcloud closed this as completed Feb 2, 2023
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

No branches or pull requests

4 participants