-
-
Notifications
You must be signed in to change notification settings - Fork 63
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
Mega update #18
Mega update #18
Conversation
Nice! |
What is the right way to build and install a development lab-extension like this? The installation instructions we have in our README appear to be out-of-date. After googling around I found https://jupyterlab.readthedocs.io/en/stable/developer/extension_dev.html#extension-authoring But got this:
|
Ah, it looks like the schema part of the |
Yup. That works. Thanks @blink1073 . I updated our dev installation instructions in the README. If someone has a minute to take a look at that file that would be welcome. I'm not sure if the installation requirements remain correct. I also don't know what the minimum JLab version should be, although it looks like error reporting is good enough when installing the extension that we can possibly omit this from our instructions. |
I'd say remove the version specifier. You also don't need to enable an extension. Otherwise, LGTM. |
OK, some questions: So if I start a scheduler, open up a pane pointing to a plot, then close that scheduler and open another on the same port the plot in JLab becomes non-responsive. This isn't too surprising, knowing when to refresh the iframe would be difficult here. Given this, what is the best user experience that we can easily provide here? My first attempt was to click on the plot button again, but that just highlighted the exisitng non-responsive plot again. I found that I had to close the pane, then open it back up again with the plot-button. Entering Seeing the Dask icon present in the JupyterLab left-bar makes me unreasonably happy. I'm inclined to color the buttons to a Dask orange as well. Is here the right place to accomplish that? (I'm still figuring out how to update things efficiently, and so haven't been able to try this out directly yet.) diff --git a/style/index.css b/style/index.css
index 1d9cf90..a674d73 100644
--- a/style/index.css
+++ b/style/index.css
@@ -25,6 +25,8 @@
.dask-DashboardListing-item button {
flex: 1 1 auto;
height: var(--dask-launch-button-height);
+ background-color: #ECB172;
+ border: 1px solid #ECB172;
}
.dask-DashboardListing-item button:disabled { |
The |
What is the problem with the coloring? I used the HTML codes you posted above, and black text for the wording. |
Ah, I see: the search icon. Fix incoming. |
Right, you beat me to the response :) |
This works quite well for me. I can't think of anything I would want to change. The check for the file |
Great. Eventually that check should probably be replaced with a server-side component to this extension to handle the proxy-ing. That would also help to cut down on mixed-content issues in HTTP/HTTPS settings. For now this seems to work okay. |
src/widget.tsx
Outdated
@@ -397,7 +397,8 @@ export namespace DaskDashboardLauncher { | |||
|
|||
export const DEFAULT_ITEMS = [ | |||
{ route: 'individual-graph', label: 'Graph' }, | |||
{ route: 'individual-load', label: 'Load' }, | |||
{ route: 'individual-nbytes', label: 'Memory Use' }, | |||
{ route: 'individual-nprocessing', label: 'Processing Tasks' }, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ian-r-rose the "Load" plot was split into two upstream. I found that I needed to update these manually. I know that at one point we discussed getting this information from Dask itself. I'm inclined to leave this as future work, but wanted to point it out here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, I had wanted to do that, but was stymied by the CORS issues. Once we move some logic into a server-side proxy we should be able to serve the individual routes dynamically, but for now I think this is the only way.
From my perspective this is good. Upstream has stabilized. I'm inclined to merge this and release. Any objections or additional work that should be done before that happens? |
No objections, I think we are good to go. |
Shall I publish to npm? |
OK then, this is in. Thank you @ian-r-rose for doing this work. You should have an invitation giving you commit rights to this repository.
Yes, that would be most welcome. Presumably also to PyPI? I don't understand the release process of JupyterLab plugins well, so I'd be happy to defer to you on this. I can work on some docs within the mainline Dask docs. |
Since there is no python package, there is nothing to publish to PyPI. The user will install the extension using |
What are normal conventions behind JLab extension names? I'm fine with the
name, but it probably makes less sense given that `labextension` is already
in the command to install it
…On Thu, Aug 30, 2018 at 2:46 PM, Ian Rose ***@***.***> wrote:
Since there is no python package, there is nothing to publish to PyPI. The
user will install the extension using jupyter labextension install
dask-labextension. Speaking of which, should we stick with that name?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
<#18 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AASszH00CGxmN9y0JQVma98sq_MNFpCoks5uWDMFgaJpZM4WQn4L>
.
|
I would say that strong naming conventions have not been established. I have personally been naming things of the form |
That would be fine with me. So too would |
I kept it as-is. So the install would be |
Mostly complete update of the dask JupyterLab extension. Depends on dask/distributed#2185.
TODO: It would be nice to have a button to auto-detect the client dashboard url from the current notebook.
cc @mrocklin @canavandl