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

Get this to work in a jupyterlab context? #270

Closed
Analect opened this issue Jun 16, 2017 · 85 comments
Closed

Get this to work in a jupyterlab context? #270

Analect opened this issue Jun 16, 2017 · 85 comments

Comments

@Analect
Copy link

Analect commented Jun 16, 2017

I was wondering what might be required to get this working with notebook in a jupyterlab context. Is it likely to need a dedicated jupyterlab extension ... which would add a menu-item / button ... and perhaps perform some other hidden magic.

Thanks.

@damianavila
Copy link
Owner

That's correct! I have been talking with Steve about this in the last Jupyter Dev Meeting at Berkeley. I just need to find some time (and/or help!) to start working on that jupyterlab extension.

@Analect
Copy link
Author

Analect commented Jun 17, 2017

Need to get my own head around how the extension system works .. and if/when I do, I can try to chip in in whatever way I can.

@damianavila
Copy link
Owner

@Analect, that would be great! Thanks in advance!
Btw, I started to play a little bit with the jupyterlab extension machinery early today... but still there is a long road ahead to achieve the same functionality, but it is fun!! 😉

@damianavila
Copy link
Owner

@Analect, you will find this exiting, I guess... just a few steps, but seems to be possible: https://twitter.com/damian_avila/status/876567606274215937

@Analect
Copy link
Author

Analect commented Jun 20, 2017

@damianavila ... that looks promising. Thanks for your efforts.

@gsemet
Copy link

gsemet commented Mar 5, 2018

Hello. If you need help on this support, I'll be glad to help ! Jupyterlab is so nice :)

@damianavila
Copy link
Owner

damianavila commented Mar 5, 2018

Hello. If you need help on this support, I'll be glad to help ! Jupyterlab is so nice :)

Last weekend I was working a little bit on it. Will try to come up with something sharable in the next few weeks. And I will ping you for help 😉
Thank you!!

@parmentelat
Copy link
Collaborator

Hello there

I would volunteer to contribute on this topic; however I am having a hard time trying to assess the main challenges.

Does anybody know of some quick intro / guide on the major changes that must be expected by people like us who just want to port an extension from the classic notebook to jupyterlab ?

in other words, where should I start on this one ?

@damianavila
Copy link
Owner

@parmentelat, I am on vacation for two weeks and without a laptop (otherwise it would not be a vacation ;-) but as soon as I come back I can push what I have written so far and we can work together on that branch. In the meantime I would suggest you to examine other JupyterLab extensions and the XKCD extension tutorial at the JupyterLab documentation.

@parmentelat
Copy link
Collaborator

fine, enjoy your connection-free time :)

@damianavila
Copy link
Owner

Je, I should try to get the phone off as well, but I couldn't resist the tentation to give you some feedback ;-)

@athornton
Copy link

Commenting so that I get thread updates, because I too am interested in getting this working quickly and may be able to help.

@athornton
Copy link

And hey, it looks like I have a whole fifty minutes longer than Damian does to get RISE in JupyterLab working for JupyterCon! Congrats on your presentation acceptance, Damian!

@damianavila
Copy link
Owner

For others reading this thread, @athornton is talking about this 😉 : https://conferences.oreilly.com/jupyter/jup-ny/public/schedule/detail/68318

@athornton
Copy link

@damianavila can you push what you've got so I and @parmentelat can start kicking it around?

@damianavila
Copy link
Owner

@damianavila can you push what you've got so I and @parmentelat can start kicking it around?

Sure!! I will update to latest jupyterlab today and push what I have.

@damianavila
Copy link
Owner

I did not forget about this folks... just a lot of things going on... will try to push the content ASAP (I don't want to push something too broken, this is why I need some time to test what I have with the latest jupyerlab).

@damianavila
Copy link
Owner

@parmentelat @athornton and everyone else that want to cooperate, you will find here:

#381

some content to start playing with...

Again, I am sorry for the delay into pushing it and thanks in advance for any help on this one.

@athornton
Copy link

I'm a little confused. If I'm supposed to run jupyter labextension install from the top level directory, we need "jupyterlab": { "extension": true } in package.json there, and if I'm supposed to run it from the jupyterlab/jupyterlab_rise directory then the lib/index.ts pointer doesn't resolve. Which is correct?

@damianavila
Copy link
Owner

Which is correct?

@athornton, did you see the README at the PR? https://github.com/damianavila/RISE/pull/381/files#diff-c52d9a0449a48baaa8e7aa1affb9d7e8

Following those instructions from the jupyterlab/jupyter_rise directory (where that README lives) works for me.

@athornton
Copy link

Installing a development version worked; I end up rebuilding things an extra time, but that's OK. At least, works to the degree that the button shows up and when I click it I get what looks like Reveal output in the console. Thanks!

@akloster
Copy link

I tried to build the extension according to the README in the jupyterlab_extension branch. It does not appear to work. If I run the View->Presentation Mode the font size of the cells marked as "slide" becomes bigger, but nothing else changes.

Maybe the extension API changed?

@damianavila
Copy link
Owner

The "presentation mode" is something provided by default by jupyterlab (bigger fonts). The jupyterlab RISE extension living here, for now, puts a button at the top icon menu...

rise_button

to the left of the save icon.

@belonesox
Copy link

How to try?

I tried this:

git checkout jupyterlab_extension
python3.6 setup.py install
jupyter-nbextension install rise --py --sys-prefix
jupyter-nbextension enable rise --py --sys-prefix
…
restart jupytehub

but still cannot get "presentation button" (left on save button).

What can be wrong?

pip3.6 list | grep jupyter
jupyter-client (5.2.3)
jupyter-core (4.4.0)
jupyterhub (0.9.2)
jupyterhub-ldapauthenticator (1.2.2)
jupyterlab (0.32.0)
jupyterlab-latex (0.3.1)
jupyterlab-launcher (0.10.5)

@krlng
Copy link

krlng commented Sep 13, 2018

@damianavila I tried to follow your setup instructions. I guess the normal npm package is not available, but I also cannot get it running in development mode. npm build . works, but

jupyter labextension install . --debug
Searching ['/Users/nkreiling/Downloads/RISE', '/Users/nkreiling/.jupyter', '/Users/nkreiling/miniconda3/envs/jupyterlab_rise_dev/etc/jupyter', '/usr/local/etc/jupyter', '/etc/jupyter'] for config files
Looking for jupyter_config in /etc/jupyter
Looking for jupyter_config in /usr/local/etc/jupyter
Looking for jupyter_config in /Users/nkreiling/miniconda3/envs/jupyterlab_rise_dev/etc/jupyter
Looking for jupyter_config in /Users/nkreiling/.jupyter
Looking for jupyter_config in /Users/nkreiling/Downloads/RISE
> /Users/nkreiling/miniconda3/envs/jupyterlab_rise_dev/bin/npm pack /Users/nkreiling/Downloads/RISE
rise-5.3.0.tgz
Traceback (most recent call last):

  File "/Users/nkreiling/miniconda3/envs/jupyterlab_rise_dev/lib/python3.6/site-packages/jupyterlab/labextensions.py", line 77, in start
    ans = self.run_task()

  File "/Users/nkreiling/miniconda3/envs/jupyterlab_rise_dev/lib/python3.6/site-packages/jupyterlab/labextensions.py", line 106, in run_task
    for arg in self.extra_args

  File "/Users/nkreiling/miniconda3/envs/jupyterlab_rise_dev/lib/python3.6/site-packages/jupyterlab/labextensions.py", line 106, in <listcomp>
    for arg in self.extra_args

  File "/Users/nkreiling/miniconda3/envs/jupyterlab_rise_dev/lib/python3.6/site-packages/jupyterlab/commands.py", line 221, in install_extension
    return handler.install_extension(extension)

  File "/Users/nkreiling/miniconda3/envs/jupyterlab_rise_dev/lib/python3.6/site-packages/jupyterlab/commands.py", line 413, in install_extension
    info = self._install_extension(extension, tempdir)

  File "/Users/nkreiling/miniconda3/envs/jupyterlab_rise_dev/lib/python3.6/site-packages/jupyterlab/commands.py", line 1250, in _install_extension
    raise ValueError(msg % (extension, '\n'.join(messages)))

ValueError: "/Users/nkreiling/Downloads/RISE" is not a valid extension:
No `jupyterlab` key


Errored, use --debug for full output:
ValueError: "/Users/nkreiling/Downloads/RISE" is not a valid extension:
No `jupyterlab` key

Do I have to pin some jupyterlab version?

@romor001
Copy link

romor001 commented Mar 4, 2020

Willing to donate for this. Can not give much, but maybe we can get some momentum from the community. Anybody else chipping in?

@damianavila
Copy link
Owner

Folks, I am working on setting up something around RISE funding.
I will post news about that soon.

@pdeitel
Copy link

pdeitel commented Mar 7, 2020

Awesome!

@aspiers
Copy link

aspiers commented Mar 11, 2020

https://gitcoin.co/ and https://www.bountysource.com/ are also ways for people to sponsor open source development.

@damianavila
Copy link
Owner

For those of you asking how to support RISE development, I will publish a post on Monday about it.

In the meantime... I resurrected the old PR... and the early prototype from 2 years ago now works with Jupyter Lab 2.0.1 😉

A little video here: https://youtu.be/6zYzJ5Tspyg

@blink1073
Copy link

Nice work @damianavila!!

@nicshub
Copy link

nicshub commented Mar 15, 2020

Great!

@zupd
Copy link

zupd commented Apr 3, 2020

Looking forward for this!

@pdeitel
Copy link

pdeitel commented Apr 3, 2020

Me too! @damianavila did you already do the blog post?

@damianavila
Copy link
Owner

Folks, I was a little hesitant to publish the blog post because all the COVID-19 situation, but people keep pinging me about it, so I just published the blog post about supporting RISE development and evolution: https://damianavila.github.io/blog/posts/supporting-rise.html

Additionally, I added a support page in the RISE docs: https://rise.readthedocs.io/en/stable/support.html

Now let's back to work 😉.

@westurner
Copy link

Might get more engagement with GitHub Sponsors:
https://github.com/sponsors

https://help.github.com/en/github/administering-a-repository/displaying-a-sponsor-button-in-your-repository :

You can configure your sponsor button by editing a FUNDING.yml file in your repository's .github folder, on the default branch. You can configure the button to include sponsored developers in GitHub Sponsors, external funding platforms, or a custom funding URL. For more information about GitHub Sponsors, see "About GitHub Sponsors."

@damianavila
Copy link
Owner

I tried with Github sponsors but there were problems.
Still, a few days back, I added the sponsor button in the repo (pointing to Ko-fi).
Thanks for providing the link, @westurner.

@joaquinvanschoren
Copy link

Hi @damianavila, is there any update on Jupyter Lab support?
Thanks!

@damianavila
Copy link
Owner

Making slow progress as time permits, also checking for some upcoming changes in the jupyterlab extension machinery (module federation).

@storopoli
Copy link

@damianavila any news on Jupyter Lab support?

@nicshub
Copy link

nicshub commented May 31, 2021

Up

@westurner
Copy link

westurner commented May 31, 2021

Is this the branch that a PR could be made from #381 in order to add support for JupyterLab 3.0?

JupyterLab 3.0 has new, better extension support that doesn't require rebuilding the JS:
https://jupyterlab.readthedocs.io/en/stable/extension/extension_dev.html#distributing-a-prebuilt-extension

Build a prebuilt extension using the jupyter labextension build command.
[...]
The official extension cookiecutter shows how to distribute prebuilt extensions via Python pip or conda packages. A system package manager, or even just an administrative script that copies directories, could be used as well.
https://github.com/jupyterlab/extension-cookiecutter-ts

What are the remaining tasks?

  • Update packaging to use JupyterLab 3.0 prebuilt extension support
  • Autoamted Tests
    • Is GitHub Actions already configured for this repo?

@damianavila
Copy link
Owner

Working on this again in the next few days.
The summary of the things I need to investigate first lives in this message: #381 (comment)

@simeon49
Copy link

how is the progress?

@DataDave1337
Copy link

Any update on this topic meanwhile? What‘s the current progress? I really love your extension!

@damianavila
Copy link
Owner

I am going to spend some new cycles in the next few days/weeks.
I will not promise any date... but I will continue on the path I described here.

@joda70
Copy link

joda70 commented Feb 17, 2022

Is there any news for this task? I didn't know about this problem on jupyterlab. I realized it after rise installation.
Do I have to set some parameters in the jupyterlab configuration file?

@astrojuanlu
Copy link

Current progress is at #605

@jhgoebbert
Copy link

Can this be closed as there is https://github.com/jupyterlab-contrib/rise which supports JupyterLab 3 and even 4?

@nicshub
Copy link

nicshub commented Aug 13, 2023

This is great news, thanks @jhgoebbert, just started to test, looks promising!

@Analect
Copy link
Author

Analect commented Aug 21, 2023

Per @jhgoebbert suggestion here, closing this out.

@Analect Analect closed this as completed Aug 21, 2023
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests