-
-
Notifications
You must be signed in to change notification settings - Fork 491
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
Provide live documentation support in Jupyter using Thebe #24593
Comments
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Commit: |
This comment has been minimized.
This comment has been minimized.
New commits:
|
comment:5
I am currently building the whole documentation on my machine to test it locally. |
comment:7
Works here, either when opening the html doc files directly in the browser as file:..., or by browsing the documentation through the Help menu of the Jupyter notebook. Hence needs review. |
comment:9
I had a look at the patchbot reports; one is gree. Some of the patchbot fails on compiling giac: most likely unrelated. For another the startup time is affected; again, it seems likely to be unrelated. |
comment:10
See sage-devel for the giac failure: apparently due to gcc that needs rebuilding (#24599) . |
comment:11
I am not sure to completely understand how the whole stuff work, here are some questions:
|
comment:13
I don't understand the following
This means that you need to use MyBinder in order to have live documentation? What is the point of having Sage on my computer then? To my mind, having a live documentation needing internet and a web service is not worth it. |
comment:14
To balance comment:13: I think that using MyBinder would be good for let say |
comment:15
What exactly are the differences between Thebe and SageMathCell? In particular:
Regarding others comments: I also do not see the point in having my local documentation (which is build from the source on my machine, perhaps my own branch) to use for computations remote servers. Having a link (perhaps glued on the screen as the current Activate button) to some web server with live cells would be much less confusing in terms of accessing remote resources and different versions. |
comment:16
Hi everyone, Thanks for the thoughtfull comments. I am done with teaching for the I realized I forgot to state the obvious: yes, when possible, using a But this requires some additional work:
I therefore aimed for a strategy in two stages:
Additional motivations:
What do you think? Now to more specific points:
The link is actually using semantic versioning (that's the
Just for clarification: it's not a fork. thebelab is using the vanilla
Yes, that's an important point. The tooltip explains this. Do you have
The live documentation, is mostly meant for casually toying with small
The bulk of the work is to update the docker container, which have Beyond this, there remains on trivial item: updating the label in:
I am happy to volunteer on that for the next couple years :-)
Our users browse the Sage documentation in many ways: on Besides this would also forces us to setup and maintain a new service.
It should be doable, but I don't necessarily see the point. Except for
That's a real question, as there is much overlap between the two ThebeLab, like Jupyter, is language agnostic and targets a much much The Sage cell server on the other hand is much more advanced when it I would love to see a convergence between the two projects, with the Cheers, |
comment:17
Replying to @novoselt:
No
I don't know for sure. Since the project has been revamped a couple months ago, Binder seems to scale relatively well. There are several ongoing efforts as well to add more deployements (like this one on the "EU cloud") though they are not federated yet.
I would need to check on the binder docs. I remember beeing really annoyed by Sage's live documentation that would loose its history in the middle of my lectures. But I have changed workflow and haven't used ThebeLab enough to have a feeling on whether this could become annoying for a typical usage. |
comment:18
Hi, I see this here for the first time. Since I'm the one maintaining the public sage documentation files, will this an impact on it? Since that last "thebe" change, I always have to apply a patch to Sage in order to make it work (basically, to disable the javascript). https://github.com/sagemath/documentation/blob/gh-pages/thebe.patch Is there also an intention to make this work for the doc.sagemath.org pages? |
comment:19
Hi Harald,
Thanks for investigating this. Yes, having this work on The new implementation consists of a couple lines of javascript and
Do you foresee anything specific in the doc.sagemath.org setup that Cheers, |
comment:20
No, there is nothing weird going on. It's just static files hosted on the "fastly" CDN. OTOH, I also don't remember what the problem is right now. Probably that it didn't load at all or something like that. That's why I disabled it. |
comment:21
Good. Then this should "just work".
Thebe is currently (i.e. before this ticket) configured in the Sage documentation to connect to a local notebook. So the feature could never have worked on doc.sagemath.org anyway. It could be that, in addition, the detection logic was faulty and causing problem. |
comment:22
I believe I provided tentative answers to the questions that were asked, so I am setting this back to needs review. Mostly as a ping. Any opinions? In particular on the two stages approach? |
comment:101
Setting new milestone based on a cursory review of ticket status, priority, and last modification date. |
comment:102
Requested again at |
comment:103
Thebelab changed its name back to Thebe. |
comment:104
Setting a new milestone for this ticket based on a cursory review. |
comment:106
Nicolas, what is the status of the branch? |
comment:108
I've split out the removal of the old I don't think we need to ship the new |
Reviewer: Matthias Koeppe |
Changed author from Nicolas M. Thiéry, Jeroen Demeyer to none |
comment:109
I agree. The feature in the ticket description is now achieved by #33507. Hence we can close this ticket. But I would like to acknowledge that the infrastructure, namely the repo |
Changed reviewer from Matthias Koeppe to none |
comment:111
I agree that this ticket is no longer needed, and that |
Reviewer: Nicolas M. Thiéry |
comment:114
To be continued at #33320. |
Thebe is a javascript library to turn static HTML pages into live documents where code cells can be edited and executed. Thebe was been introduced in #20690 as a replacement for the live documentation feature of sagenb. It covers the use case of browsing the documentation through the Jupyter notebook; in this case, Thebe connected to that notebook for computations.
However this model was not sustainable:
Meanwhile, Thebe has been reimplemented as ThebeLab, a thin layer on top of JupyterLab, making it much more sustainable. In addition, an online computation backend is now available thanks to http://mybinder.org and Sage's docker container.
In this ticket, we switch gear, and focus on the use case of browsing the documentation from anywhere (within Jupyter, local static documentation, Sage's online documentation), with the assumption of an internet connection.
Implementation:
Bonus:
The feature has been tested for a couple months on
More SageMath Tutorials. It's also configured by default for any Sage package that uses sage-package; see e.g. this page.
We believe that dropping the use case of offline browsing while having a notebook running (which is broken anyway) is largely compensated by the much easier maintenance and the availability of the feature for all deployments of Sage's documentation.
thebelab tarball: https://registry.npmjs.org/thebelab/-/thebelab-0.2.1.tgz
CC: @jdemeyer @sagetrac-tmonteil @embray @videlec @jhpalmieri @kwankyu @antonio-rojas
Component: documentation
Keywords: notebook
Branch/Commit: u/jdemeyer/upgrade_from_thebe_to_thebelab_for_live_documentation_support @
c991041
Reviewer: Nicolas M. Thiéry
Issue created by migration from https://trac.sagemath.org/ticket/24593
The text was updated successfully, but these errors were encountered: