-
Notifications
You must be signed in to change notification settings - Fork 323
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
Port the notebook extensions to JupyterLab #1006
Comments
ps - forgive me if it's been discussed here already, I did a search and didn't find it but feel free to point me to the right location. |
Fernando, I have never used the student facing extension. Can you describe
exactly what features you are wanting for them? Would be great to help you
be able to switch to lab...
…On Wed, Aug 29, 2018 at 6:27 PM Fernando Perez ***@***.***> wrote:
ps - forgive me if it's been discussed here already, I did a search and
didn't find it but feel free to point me to the right location.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#1006 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AABr0NiNEmc1IG3BDiaWSmK2LRiAARQzks5uVz9kgaJpZM4WSnqV>
.
--
Brian E. Granger
Associate Professor of Physics and Data Science
Cal Poly State University, San Luis Obispo
@ellisonbg on Twitter and GitHub
[email protected] and [email protected]
|
I unfortunately don't have the cycles to work on porting this over, but I agree it is something that should probably be done... |
Might do some work on this - thought I'd start by trying to bring the assignments tab and maybe the notebook validate button to lab side. I'll update once (if) I get anything meaningful done! |
What would be really useful is to get the assignments [and exchange] code and the formgrader code to be written in the same way, using the same style & idioms: they were written separately, and are very different. I know that jupyterlab is all angular & typescript in the UI, so there's a chunk of work to just move from javascript to typescript! (if you can also have space in your thinking for making the exchange a proper API, rather than assumed to be copying files on disk, that would be awesome [it's an outstanding piece of work that was raised at the Edinburgh hackaton... however we've been side-tracked by work & an impending new academic year....]) .... but absolutely: getting nbgrader into jupyterlabs would be fanTASTic! |
Just checking whether there are more updates on this. |
I don't think so, last I saw was a rough proof of concept embedding
a nbgrader view into a side panel - no time to do more, too much other
stuff. I will ping @murhum1 in January to see how it's going, maybe
the new year will bring some more time.
- Richard
|
Since it's now March, just thought I'd check in again. |
I don't know of any update, but since this brought this to the top of my inbox, I'll reply to a comment earlier:
JupyterLab is typescript and Lumino, but you can implement extensions in straight javascript if you like. |
Hello everyone. @aalmanza1998, @lxylxy123456, @rkevin-arch, and I will be porting the nbgrader UI to JupyterLab as part of a project for integrating nbgrader with Kubernetes and JupyterLab. We are wrapping up the Kubernetes portion (see jupyterhub/zero-to-jupyterhub-k8s#1556) and starting the JupyterLab part. We hope to provide periodic updates on our progress. Before we dive too deep, we'd like to gather comments and pointers from the community. Your input will be much appreciated!
@murhum1 Sounds great! Any updates? |
Thank you very much @aalmanza1998, @lxylxy123456, @rkevin-arch. I've "sidegraded" to Notebook so I can do NBgrader but the Lab interface is my favorite by a large margin. I look forward to kicking the tires on your releases. |
Some thoughts, observations, ..... and questions! Are you thinking of writing another nbgrader, to be labs-compatible, or writing parallel extensions to enable functionality in either interface? By this, I mean if I switch from Write tests. Lots and lots of tests. Our own nbexchange release doesn't have a master branch yet because we don't have enough tests! (If you're really brave - go for a test-driven development environment: you know how the various components currently work - so you can write tests to check them, and then code to pass the tests) Don't paint yourself into a corner: make sure your exchange is pluggable* (see the afore-mentioned PR for that in the current system). Are there any other aspects that can [should] be abstracted out? Documentation: It's horrible to write, but ensure that either the existing docs remain valid for the process, or that you have it covered. Will any of the the areas you'll work in, for lab-mode, actually benefit from improvement in both interfaces, for the code-base as a whole? [*] To me, having the Notebook App talk to an abstracted API makes even more sense in a K8 cluster: why tightly couple the exchange to the hub when you're in a cloud? |
We want to add a UI (labextensions) to nbgrader for JupyterLab and use the same back-end. The assignments, validators, configuration, etc. will be the same. I see that there are tests for the nbextensions. We will write similar tests for the labextensions. We will also write documentation on how to install the labextensions and use nbgrader with the JupyterLab interface.
The ngshare exchange uses the same pluggable exchange as nbexchange. I hope this encourages the adoption of the pluggable exchange into nbgrader. The JupyterLab part of our project is probably independent of the exchange back-end, so there shouldn't be a problem with compatibility.
At this point, I don't have any improvements in mind. We shall see what ideas come up when we port the extensions. |
Excellent! You'll discover that the
Excellent.... Most of my questions/observations are just to help clarify what you're aiming to do from the outset, and make it harder for "mission-creep" to edge in. We will definitely be interested in what you come up with, and will be glad you share |
Looking forward to seeing your work. We at the IBM Skills Network wanted to use nbgrader for a while but we are all in on JupyterLab. Have been since v0.23 or something like that. |
There are already several extensions working for JupyterLab from @Lawrence37 and @aalmanza1998 contribution in https://github.com/LibreTexts/nbgrader-to-jupyterlab/tree/lab-common. |
Any updates on this? |
https://github.com/TU-Wien-dataLAB/Grader-Service |
Hi all, as of #1588 JupyterLab is now officially supported! Please test it out, and if you run into any problems open some issues---the plan is to iterate a bit on |
Congrats Jessica, very good news indeed. I am looking forward to test it in my school. Thanks for your hard work and to all contributors. |
Don't thank me---all the hard work was done by @brichet, @fcollonval, @lxylxy123456, @Lawrence37, and @aalmanza1998 ! I just reviewed the PR 😉 |
Thanks for the clarification ! Then lots of thanks and big congratulations to @brichet, @fcollonval, @lxylxy123456, @Lawrence37, and @aalmanza1998 Today is a happy day !! |
Indeed, huge thanks to all the team who made this possible (@jhamrick very much included 😄) - it's fantastic to see key tools like nbgrader move forward to the JupyterLab-based infrastructure, which will bring us a number of benefits. It would be great to have input once a release is made on how the real-world experience of regular users is, in case there are any rough edges that warrant attention; we want the transition to be a happy process for all involved! |
@jhamrick this is great news! Do you have a prediction of when the 0.8 release will be? We are starting on a project of updating our environments and would love to use JupyterLab if possible, but that will depend on the timing |
I have tried taking the pull from a commit but unable to integrate it. Can you guide on how to port nbgrader extension to jupyterlab |
The simplest way may be to install it from the prerelease : You should install it in a fresh environment, some dependencies are not compatible with the notebook version. You can find some information about settings here... except for the installation command where the |
@hoffm386 as @brichet mentioned there is a pre-release out already, so you could consider using that! In terms of the full release, I'm not sure. I think once there's been "sufficient" testing we can convert it to a full release, but I am not sure if we're at that point yet, or if there's anything else pressing that needs to get done first. Perhaps @brichet and @jtpio could comment on the status? |
We are currently working on making it compatible with the future versions of Jupyterlab (4) and Notebook (7). The two options I see are :
|
If it's unclear what the timeline is for jupyterlab 4 and notebook 7, releasing nbgrader 8 now seems like a good option to me. That'll also get a wider range of people starting to use the jupyterlab extensions allowing us to battle-test them more. |
The best estimate for now would be a JupyterLab 4.0 beta some time in September. Since it is based on JupyterLab, Notebook v7 will be updated a couple of days after each JupyterLab release. After that it'll probably be a couple of weeks more (at least 2 weeks beta, 2 weeks rc) before the final release. If we're happy with the current state of |
From the peanut gallery: given that it may take people a while to migrate to jlab 4 even after it is released (for many probably not until next academic year?), and some may want to stay on notebook 6 for a while, I think it makes a lot of sense to release for jlab 3 and notebook 6 if possible. |
I'm happy then to do the full release now, if you'd like to go ahead with it @brichet ! |
Version |
Any chance we'll see this on conda? It currently still lists 0.7.1, and I'd like to test it thoroughly before the academic year starts :-D |
Looks like there is a draft PR to update to 0.8.0: conda-forge/nbgrader-feedstock#56 |
Good new, |
This is so we can discuss whether this is the right path to follow for nbgrader, I'm not 100% sure yet but at least we can come to a decision here...
We're still using nbgrader at Cal quite a bit, and as I consider moving the students more to JupyterLab as their "daily driver", the absence of the student-facing extension for submitting notebooks is becoming a more relevant issue.
Curious what @jhamrick @ellisonbg think in this context - how realistic would it be to put some cycles into porting the extension? This is more of an nbgrader than a Lab issue, but it's turning out to be kind of a blocker to our use of Lab by default (which I really want to do :).
CC @jasongrout @ian-r-rose as per recent discussions on blockers and extensions...
The text was updated successfully, but these errors were encountered: