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

Support for Prefect 3 #365

Open
Udit107710 opened this issue Sep 16, 2024 · 7 comments
Open

Support for Prefect 3 #365

Udit107710 opened this issue Sep 16, 2024 · 7 comments

Comments

@Udit107710
Copy link
Contributor

Udit107710 commented Sep 16, 2024

Topic

Make Airbyte compatible with Prefect 3

Relevant information

Since we are blocked by parallelism support we are running Prefect + Pyairbyte and want to upgrade to Prefect 3 but are blocked on the dependency of airbyte-cdk (which is a dependency of pyairbyte) on jsonschema = "~3.2.0" and pendulum = "<3.0.0".
Prefect 3 brings a lot of performance improvements to utilise pyairbyte to the fullest.
Moreover,

  1. jsonschema 4.0.0 was released on Sep 30, 2021 and not upgrading does not make sense.
  2. pendulum 3.0.0 brings lots of performance improvement with extensions rewritten in Rust

Upgrading these core dependencies ensures compatibility across various other integrations with airbyte.

@marcosmarxm marcosmarxm transferred this issue from airbytehq/airbyte Sep 16, 2024
@marcosmarxm
Copy link
Member

@aaronsteers moving this issue t PyAirbyte project

@Udit107710
Copy link
Contributor Author

I don't think this issue can be solved by Pyairbyte since pyairbyte does not declare dependency on jsonschema = "~3.2.0" and pendulum = "<3.0.0"
These dependencies arise from airbyte-cdk which pyairbyte utilises internally.

@aaronsteers
Copy link
Contributor

aaronsteers commented Sep 18, 2024

@Udit107710 - Thanks for raising this issue. I agree with the intention of bumping jsonschema and pendulum refs. As noted, we'd have to first bump them in the CDK and then we could bump their references here.

The jsonschema library is pretty good with backwards compatibility and support for specific draft versions in each release. I vaguely recall some pendulum breaking changes when I last looked at this, but those are probably minimal...

@Udit107710
Copy link
Contributor Author

Udit107710 commented Sep 19, 2024

There are breaking changes on Pendulum and jsonschema
I have local changes related to airbyte-cdk. I was able to install the latest versions but that caused multiple tests to fail. The issue with jsonschema caused was not something I was able to solve and have no way forward. The issue with pendulum requires changing the format of datetime across the entire module. I will raise a PR soon on aribyte-cdk and we can review and plan new changes.

Furthermore, I think bumping up the dependency in airbyte-cdk will also require making other airbyte packages like airbyte-ci compatible with the new versions since these must be getting used together.

@Udit107710
Copy link
Contributor Author

Draft PR for the changes: airbytehq/airbyte#45677

@aaronsteers
Copy link
Contributor

@aman-immersa
Copy link

@Udit107710 would like to learn more about your usage Pyairbyte with Prefect 3.0 since we're attempting something similar.

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