-
Notifications
You must be signed in to change notification settings - Fork 671
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
[Housekeeping] Decouple flytekit.remote
to flytekit.remote
and flytekit.remote_utils
#5264
Comments
I don't like the current structure of FlyteRemote at all. It definitely needs to be refactored, heavily. But I'm not sure I understand this ticket. Why is |
That makes sense to me the Python
Will there be no transition stage during which two |
My initial thoughts on the way of refactoring are, flytekit/
remote_utils/
backfill.py
data.py
entities.py
executions.py
interface.py
lazy_entity.py
remote_callable.py
remote_fs.py
remote/
remote.py Both of flytekit/
remote/
remote.py and flyrs/
remote/
remote.py can use cc @pingsutw |
We can have an interim period if we think it's warranted, but during that time, if we have it, we'll just keep the grpc library around. I'd rather not have both of them at the same time, but @eapolinario had some concerns about our ability to test all the various oauth setups out there, so that's a valid concern. But I still think refactoring remote is a different (needed, but different) issue from removing grpc and eventually protobuf dependencies. |
I would think that we should only keep rust and let people add the python one back as an extra. I want us to test the rust one well before we release / merge. Are we also supporting all auth implementations in the rust Grpc channel interceptor? |
Describe the issue
We have the needs of porting
FlytekitRemote
intoRustFlyteRemote
with same high level behaviours recently.We might have to decouple
flytekit.remote
into two separated modulesflytekit.remote
andflytekit.remote_utils
, because these imports requiring the initialization ofremote.py
fromflytekit.remote
.remote.py
uses grpc clients. To completely remove Pythongrpc
packages. We need refactoringremote_utils
in advance. SoRustFlyteRemote
can only importflytekit.remote_utils
without triggeringflytekit/remote/__init__.py
stuffs.We should be able only import
remote_utils
likefrom flytekit.remote.backfill import create_backfill_workflow
, etc, without the needs of importingflytekit.remote.remote
.For example, the following file system layout defines a top level parent package with three subpackages:
Importing
parent.one
will implicitly executeparent/__init__.py
andparent/one/__init__.py
.FYI
What if we do not do this?
remote.py
depends ongrpc
in SynchronousFlyteClient.So if we
pip uninstall grpcio grpcio-status
and only useRustFlyteRemote
still causes issues like following screenshot.Related component(s)
Are you sure this issue hasn't been raised already?
Have you read the Code of Conduct?
The text was updated successfully, but these errors were encountered: