-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
Pipeline run created from python shows experiment but not pipeline (in UI). #617
Comments
This was done on purpose to allow for fast iteration on pipelines using the Python SDK (modify pipeline -> create run -> modify -> create run.. etc), without polluting the pipeline list UI. The latter mainly targets supporting sharing pipelines IMO. We don't have a good sharing story yet, but you can imagine in a multi-tenant cluster, you can upload pipelines there that you think may be useful for others to try out. You can create an experiment without a pipeline, there's no dependency there. Just go to the experiments view and hit "New experiment." /cc @IronPan and @ajayalfred for more context. |
That's a very reasonable explanation. I do think it would be useful if we
can push a pipeline upstream, I don't think that's possible now through
python/notebook directly? The only way seems to be through the GUI?
…On Fri, Jan 4, 2019 at 11:21 AM Yasser Elsayed ***@***.***> wrote:
This was done on purpose to allow for fast iteration on pipelines using
the Python SDK (modify pipeline -> create run -> modify -> create run..
etc), without polluting the pipeline list UI. The latter mainly targets
supporting sharing pipelines IMO. We don't have a good sharing story yet,
but you can imagine in a multi-tenant cluster, you can upload pipelines
there that you think may be useful for others to try out.
You can create an experiment without a pipeline, there's no dependency
there. Just go to the experiments view and hit "New experiment."
/cc @IronPan <https://github.com/IronPan> and @ajayalfred
<https://github.com/ajayalfred> for more context.
/area front-end
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#617 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AHXSRPeaO6aRjvcwTDOghZbhbUD-rS9Yks5u_6mqgaJpZM4ZoyTu>
.
|
Well the API supports that, I'm not sure why I don't see it in the Python SDK either. Ideally the SDK should be auto-generated from the swagger files so that it aligns with the protos and other clients. @gaoning777 is this not the case? |
The python SDK currently doesn't support but it won't be hard to add. It just need to auto generate the pipeline API client as part of its build script in here then you should be able to do |
Good call. It is part of the Python SDK plan to expose the upload pipelines API. |
As a side note, I don't think we should build thick syntactic sugar wrapper on top of API for the purpose of making the API call easier
Any thoughts? @qimingj @gaoning777 @Ark-kun @yebrahim |
+1 to these points. There's also the added maintenance effort here, whenever the underlying APIs change. IMO APIs should aim to be user-friendly as much as possible. If clients are spending significant effort making the experience better around calling the APIs, that's a call for improving the APIs themselves IMO. We're seeing the same problem with the UI having to make many calls to get the information needed by the user, and I think this needs improvement on the API level. If you still think the Python SDK needs to have a friendlier API, let's track that separately. The first step is to give the Python client parity with other clients. |
I believe our REST API are friendly enough. The problem is the python generated by swagger tool. For example, to create an experiment using the swagger generated lib, users need to do:
With the wrapper client, users do:
In the wrapper API we also make it more friendly for notebook users (we return clickable URL). In general, the python API generated by swagger has the following problems:
I understand the extra effort of maintaining the client API. But I think it is well justified. |
I agree on your point and I think a thin wrapper is OK (and necessary in this case). I am concerned about a thick wrapper that provides facilitation that should be optimized by API itself. As the example I gave above, get experiment by name should be a API level support.
Hope this make the point clearer. |
Ah. That I totally agree. I think this is the only case where we build thick logic inside client library. Once we have that supported at backend I'll be happy to move over. |
Closing this one then. |
Sweet! |
* There was a syntax error so we weren't GC'ing deployments Fix: kubeflow#616
Resolves kubeflow#595 Signed-off-by: Christian Kadner <ckadner@us.ibm.com>
See title.
GKE, Kubeflow 0.3.5. KFP 0.1.4 and 0.1.6
Reproduce:
Expected result:
I expected the pipeline to be visible in the pipelines view UI, especially because in the UI it is impossible to even create an experiment without a pipeline.
The text was updated successfully, but these errors were encountered: