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