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

Reply via email to