<div dir="ltr"><div>I think 'pip install jupyter' should do the trick. I think doing that we might be able to bundle jupyter and then run it. Not sure if this is recommended in sugar.</div><div><br></div><div>Thanks,</div><div>Muhammad Usman</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Mar 30, 2019 at 2:23 PM <<a href="mailto:sugar-devel-request@lists.sugarlabs.org">sugar-devel-request@lists.sugarlabs.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Message: 2<br>
Date: Sat, 30 Mar 2019 15:01:18 +0800<br>
From: Tony Anderson <<a href="mailto:tony_anderson@usa.net" target="_blank">tony_anderson@usa.net</a>><br>
To: <a href="mailto:sugar-devel@lists.sugarlabs.org" target="_blank">sugar-devel@lists.sugarlabs.org</a><br>
Subject: Re: [Sugar-devel] GSoC: Proposal for "Create new activities"<br>
Message-ID: <<a href="mailto:22693bf3-d39b-6eac-941e-0a7180b662f9@usa.net" target="_blank">22693bf3-d39b-6eac-941e-0a7180b662f9@usa.net</a>><br>
Content-Type: text/plain; charset="utf-8"; Format="flowed"<br>
<br>
Good start.<br>
<br>
A reasonable way to start would be to install the server in gnome so <br>
that it works on the XO. This is going to be a bit tricky because Sugar <br>
on the XO is based on Fedora 18. One of the current modules required by <br>
pip is not supported by Fedora 18.<br>
<br>
In considering how I might proceed, I decided it would be easiest to <br>
install Jupyter on Ubuntu 18.04 and use the sucre install of Sugar to <br>
build and test the 'Jupyter-activity' wrapper, pushing off the XO <br>
dependency issues.<br>
<br>
<br>
<br>
Tony<br>
<br>
<br>
On 3/30/19 1:49 PM, Muhammad Usman wrote:<br>
> I have personally used jupyter for a long time, so I have a fair <br>
> amount of experience using it.<br>
><br>
> As I can see, jupyter-notebook kind of requires the whole GSoC period, <br>
> therefore I would consider it as a separate project from the other and <br>
> write a different proposal for it.<br>
><br>
> As for the design of the project, My understanding of going about <br>
> doing the project is:<br>
> - Install jupyter using pip. Install additional libraries such as <br>
> Latex to allow for the rendering of notebook as pdf and so on.<br>
> - Start with the jupyter server and modify the server to use journal, <br>
> removable devices along with using the file system.<br>
> - Make changes to frontend to display the notebook options appropriately.<br>
> - Display each language as a separate notebook option.<br>
> - Write a wrapper around the server controlling the starting of server <br>
> and the shutdown on exiting.<br>
> - Have examples and getting started tutorials.<br>
> - Lastly, have a detailed user documentation.<br>
><br>
> Thanks,<br>
> Muhammad Usman<br>
><br>
> On Sat, Mar 30, 2019 at 5:09 AM <br>
> <<a href="mailto:sugar-devel-request@lists.sugarlabs.org" target="_blank">sugar-devel-request@lists.sugarlabs.org</a> <br>
> <mailto:<a href="mailto:sugar-devel-request@lists.sugarlabs.org" target="_blank">sugar-devel-request@lists.sugarlabs.org</a>>> wrote:<br>
><br>
>     Message: 3<br>
>     Date: Fri, 29 Mar 2019 16:38:47 +0800<br>
>     From: Tony Anderson <<a href="mailto:tony_anderson@usa.net" target="_blank">tony_anderson@usa.net</a><br>
>     <mailto:<a href="mailto:tony_anderson@usa.net" target="_blank">tony_anderson@usa.net</a>>><br>
>     To: <a href="mailto:sugar-devel@lists.sugarlabs.org" target="_blank">sugar-devel@lists.sugarlabs.org</a><br>
>     <mailto:<a href="mailto:sugar-devel@lists.sugarlabs.org" target="_blank">sugar-devel@lists.sugarlabs.org</a>><br>
>     Subject: Re: [Sugar-devel] GSoC: Proposal for "Create new activities"<br>
>     Message-ID: <<a href="mailto:a3f8d544-a6f6-35be-5fe1-6cc8e138dcd2@usa.net" target="_blank">a3f8d544-a6f6-35be-5fe1-6cc8e138dcd2@usa.net</a><br>
>     <mailto:<a href="mailto:a3f8d544-a6f6-35be-5fe1-6cc8e138dcd2@usa.net" target="_blank">a3f8d544-a6f6-35be-5fe1-6cc8e138dcd2@usa.net</a>>><br>
>     Content-Type: text/plain; charset=utf-8; format=flowed<br>
><br>
>     The Jupyter Notebook project is of particular interest to me.<br>
><br>
>     Over the past several GSOC periods, developers have had a problem<br>
>     completing their projects within the allotted time. You are<br>
>     proposing to<br>
>     take on several projects, any one of which is a big load for one<br>
>     summer.<br>
><br>
>     If you undertake the Jupyter Notebook project, I would hope that<br>
>     is your<br>
>     only task for the summer. Completing it in a usable form in the GSOC<br>
>     period would be a major, noteworthy accomplishment.<br>
><br>
>     The Jupyter Notebook started life as ipython. The Jupyter<br>
>     implementation<br>
>     supports multiple programming languages (e.g. bash, python, web<br>
>     (javascript, html5, css), and many others. It can also be used to<br>
>     make<br>
>     interactive lessons on science and mathematics topics independent of<br>
>     programming).<br>
><br>
>     The essence of the ipython server is that it accepts a url for a file<br>
>     (*.ipynb). It then processes this file displaying cells and running<br>
>     cells interactively based on the requirements of the notebook<br>
>     author and<br>
>     input from the user.<br>
><br>
>     As an activity, (called for example, Jupyter-activity), it should<br>
>     resume<br>
>     .ipynb files in the Journal. The browser for this activity can be the<br>
>     Browse activity (testing to be sure that the WebKit browser in the<br>
>     Browse activity supports Jupyter). This is unlikely to be a<br>
>     show-stopper. If executed with start-new, it should enable the<br>
>     user to<br>
>     designate a notebook to run (among those in the Journal, Documents<br>
>     folder, or a mounted removable device). It should also enable a<br>
>     user to<br>
>     create a notebook.<br>
><br>
>     The technology involved in this project is Jupyter. The team at<br>
>     Jupyter<br>
>     is friendly and helpful, in my experience. I doubt there will be an<br>
>     significant need to modify the Browse activity. One limitation that<br>
>     could be addressed en passant is that when Browse is resumed, it<br>
>     launches a new instance rather than opening a tab in a running copy.<br>
>     This is OK but seems primitive compared to other browsers.<br>
><br>
>     There is a large library online of Jupyter notebooks with many<br>
>     tutorials. The first step in this project is to become familiar with<br>
>     these notebooks. Jupyter can be installed on Linux distributions via<br>
>     Anaconda - but this is overkill for the XO. It can also be<br>
>     installed by<br>
>     yum (apt for Ubuntu) but better by pip.<br>
><br>
>     The storage available to the XO is extremely limited (XO has 1GB,<br>
>     other<br>
>     models have 4GB). This means that the Anaconda implementation which<br>
>     incorporates many additional valuable packages is probably too<br>
>     large for<br>
>     Sugar on an XO (still over 80% of the systems in the wild). Even<br>
>     so, the<br>
>     Pip install may need some optional capabilities such as Latex and<br>
>     MatLab.<br>
><br>
>     One of the critical parts of an implementation frequently gets<br>
>     left to<br>
>     the end and then is not done - user documentation. Thanks to Gonzalo<br>
>     Odiard, Sugar has an excellent documentation capability based on<br>
>     Sphinx<br>
>     - see <a href="http://help.sugarlabs.org" rel="noreferrer" target="_blank">help.sugarlabs.org</a> <<a href="http://help.sugarlabs.org" rel="noreferrer" target="_blank">http://help.sugarlabs.org</a>>. The<br>
>     'Jupyter-activity' will need documentation<br>
>     that meets the needs of primary school students with limited computer<br>
>     experience and limited skills in Englsih. This could include a<br>
>     recommended library of Jupyter notebooks which can be used on the XO<br>
>     (esp. bash, python, and web langauges).<br>
><br>
>     Tony<br>
><br>
>     Tony<br>
><br>
>     On 3/29/19 3:52 PM, James Cameron wrote:<br>
>     > Thanks, interesting.<br>
>     ><br>
>     > Technical comments; Jupyter Notebook Activity, you suggest stripping<br>
>     > down Browse activity.  You might instead presume Browse is present<br>
>     > and call it directly.  This is what the Wikipedia activity does.  It<br>
>     > isn't what the Help activity does.<br>
>     ><br>
>     > Please also consider the design and user requirements input in this<br>
>     > closed issue; <a href="https://github.com/sugarlabs/GSoC/issues/13" rel="noreferrer" target="_blank">https://github.com/sugarlabs/GSoC/issues/13</a> Especially<br>
>     > note Jupyter Lab; a richer environment than a browser alone.<br>
>     ><br>
>     > On Thu, Mar 28, 2019 at 06:22:03PM +0530, Muhammad Usman wrote:<br>
>     >> Hello all!<br>
>     >> I am Muhammad Usman. I am sharing my draft proposal for Create<br>
>     New Activities<br>
>     >> and Write activity in Sugarizer. Please do take a look at it<br>
>     and let me know<br>
>     >> your thoughts.<br>
>     >><br>
>     [1]<a href="https://gist.github.com/usmanmuhd/ce60a3dd2c43fd5c5fe5154b5bc18750" rel="noreferrer" target="_blank">https://gist.github.com/usmanmuhd/ce60a3dd2c43fd5c5fe5154b5bc18750</a><br>
>     >><br>
>     >> Regards,<br>
>     >> Muhammad Usman<br>
>     >><br>
>     >> References:<br>
>     >><br>
>     >> [1]<br>
>     <a href="https://gist.github.com/usmanmuhd/ce60a3dd2c43fd5c5fe5154b5bc18750" rel="noreferrer" target="_blank">https://gist.github.com/usmanmuhd/ce60a3dd2c43fd5c5fe5154b5bc18750</a><br>
>     >> _______________________________________________<br>
>     >> Sugar-devel mailing list<br>
>     >> <a href="mailto:Sugar-devel@lists.sugarlabs.org" target="_blank">Sugar-devel@lists.sugarlabs.org</a><br>
>     <mailto:<a href="mailto:Sugar-devel@lists.sugarlabs.org" target="_blank">Sugar-devel@lists.sugarlabs.org</a>><br>
>     >> <a href="http://lists.sugarlabs.org/listinfo/sugar-devel" rel="noreferrer" target="_blank">http://lists.sugarlabs.org/listinfo/sugar-devel</a><br>
>     ><br>
><br>
><br>
> _______________________________________________<br>
> Sugar-devel mailing list<br>
> <a href="mailto:Sugar-devel@lists.sugarlabs.org" target="_blank">Sugar-devel@lists.sugarlabs.org</a><br>
> <a href="http://lists.sugarlabs.org/listinfo/sugar-devel" rel="noreferrer" target="_blank">http://lists.sugarlabs.org/listinfo/sugar-devel</a><br>
<br>
<br>
-------------- next part --------------<br>
An HTML attachment was scrubbed...<br>
URL: <<a href="http://lists.sugarlabs.org/archive/sugar-devel/attachments/20190330/658934cf/attachment.html" rel="noreferrer" target="_blank">http://lists.sugarlabs.org/archive/sugar-devel/attachments/20190330/658934cf/attachment.html</a>><br>
<br>
------------------------------<br>
<br>
Subject: Digest Footer<br>
<br>
_______________________________________________<br>
Sugar-devel mailing list<br>
<a href="mailto:Sugar-devel@lists.sugarlabs.org" target="_blank">Sugar-devel@lists.sugarlabs.org</a><br>
<a href="http://lists.sugarlabs.org/listinfo/sugar-devel" rel="noreferrer" target="_blank">http://lists.sugarlabs.org/listinfo/sugar-devel</a><br>
<br>
<br>
------------------------------<br>
<br>
End of Sugar-devel Digest, Vol 125, Issue 82<br>
********************************************<br>
</blockquote></div></div>