1. 14 Sep, 2017 1 commit
  2. 07 Sep, 2017 1 commit
    • Iliya Manolov's avatar
      Feature/jupyterlab · 68a1495d
      Iliya Manolov authored
      JupyterLab is provided side-by-side with Jupyter Classic interface with same process.
      Published URL changed:
       * jupyterlab-url provides IPv6 URL to JupterLab interface
       * jupyter-class-url provides IPv6 URL to the classic UI
      Thanks to using only one process, the path in the URL differentiates the style of the interface.
      Note: This MR replaces closed !207
      /reviewed-on !218
  3. 25 Jul, 2017 2 commits
  4. 05 Jul, 2017 1 commit
  5. 27 Jun, 2017 1 commit
  6. 26 Jun, 2017 1 commit
    • Iliya Manolov's avatar
      Fixed Jupyter's Unicode file issues by setting the process' locale · e8359fe1
      Iliya Manolov authored
      @luke @Tyagov 
      When SlapOS launches services they don't have their locale set. This was causing problems with unicode characters in Jupyter notebook names. For example, calling the notebook "Ł" crashes Jupyter's kernel. Hardcoding the UTF-8 locale to the ipython_notebook script fixes that but we should look into making a generic fix for any other services that might have this issue in the future.
      /reviewed-on !193
  7. 21 Jun, 2017 2 commits
  8. 12 Jun, 2017 1 commit
    • Iliya Manolov's avatar
      Added a warning about using old references on Jupyter notebooks · 3ba2543c
      Iliya Manolov authored
      @Tyagov @luke 
      This MR adds the following to all Jupyter notebooks:
       - A warning when a user inputs a reference that has already been used in one of his old Jupyter notebooks. 
       - Some extra information when entering magics such as the remaining required magics.
       - Entering the reference MUST now be the last magic entered(otherwise the reference check doesn't work).
       - A small addition to the message at the top of the notebook for the command ```%notebook_set_title```
      Also, do note that the edited kernel uses files from [this commit](erp5@4a3e5173) from my erp5 repo, so the changes there must be available for the kernel to work. [This merge request](erp5!283) addresses those changes.
      Sample screenshot:
      /reviewed-on !177
  9. 08 Jun, 2017 1 commit
  10. 03 Jun, 2017 1 commit
  11. 31 May, 2017 1 commit
  12. 10 Apr, 2017 1 commit
  13. 17 Mar, 2017 1 commit
  14. 13 Mar, 2017 1 commit
  15. 08 Mar, 2017 1 commit
  16. 06 Mar, 2017 1 commit
  17. 20 Feb, 2017 1 commit
  18. 18 Feb, 2017 1 commit
  19. 20 Jan, 2017 2 commits
  20. 21 Nov, 2016 1 commit
  21. 11 Jul, 2016 1 commit
  22. 12 May, 2016 1 commit
  23. 10 May, 2016 1 commit
  24. 01 Apr, 2016 2 commits
  25. 18 Feb, 2016 1 commit
  26. 01 Feb, 2016 2 commits
    • Douglas's avatar
      Jupyter: ERP5 kernel sends code using POST · cf117ccd
      Douglas authored
      Query strings used on GET requests have size limitations
      on servers and this causes big code cells to not be executed
      at all, returning only an Internal Server Error with no
      further explanation.
      /reviewed-by @kirr, @Tyagov (on !43)
    • Kirill Smelkov's avatar
      ERP5 and Jupyter integrated together · 0a446263
      Kirill Smelkov authored
      This patch teaches ERP5 software release to automatically instantiate Jupyter
      notebook web UI and tune it to connect to ERP5 by default. When Jupyter is
      enabled, it also installs on-server erp5_data_notebook bt5 (erp5!29)
      which handles code execution requested for Jupyter.
      For ERP5 - for security and backward compatibility reasons - Jupyter
      instantiation and erp5_data_notebook bt5 install happen only if jupyter is
      explicitly enabled in instance parameters. The default is not to have Jupyter
      out of the box.
      On the other hand for Wendelin SR, which inherits from ERP5 SR, the
      default is to have Jupyter out of the box, because Wendelin SR is fresh
      enough without lots of backward compatibility needs, and Jupyter is
      usually very handy for people who use Wendelin.
      For integration, we reuse already established in ERP5 infrastructure, to
      request various slave instances, and request Jupyter in a way so it
      automatically tunes and connects to balancer of one of Zope family.
      Jupyter code itself is compiled by reusing
      software/ipython_notebook/software.cfg, and Jupyter instance code is
      reused by hooking software/ipython_notebook/instance.cfg.in into ERP5 SR
      properly (the idea to override instance-jupyter not to render into
      default template.cfg is taken from previous work by @tiwariayush).
      I tested this patch inside webrunner with create-erp5-site software type and
      various configurations (whether to have or not have jupyter, to which zope
      family to connect it, etc).
      I have not tested frontend instantiation fully - because tests were done only
      in webrunner, but I've tried to make sure generated buildout code is valid for
      cases with frontend.
      NOTE the code in this patch depends erp5_data_notebook bt5 (erp5!29) which just got merged to erp5.git recently (see erp5@f662b5a2)
      NOTE even when erp5_data_notebook bt5 is installed, on a freshly installed ERP5, it
      is required to "check site consistency" first, so that initial bt5(s) are
      actually installed and erp5 is ready to function.
      /cc @vpelletier, @Tyagov, @klaus, @Camata, @tiwariayush, @Kreisel, @jerome, @nexedi
      /proposed-for-review-on !43
  27. 27 Jan, 2016 1 commit
  28. 21 Dec, 2015 1 commit
  29. 18 Dec, 2015 7 commits
    • Kirill Smelkov's avatar
      Jupyter: --matplotlib=inline is nether supported nor needed · 837c05c6
      Kirill Smelkov authored
      @jerome added --matplotlib=inline in 48eefab5 (ipython notebook) but it is
      really neither needed:
         I remember adding this --matplotlib=inline line, but I am not sure it was
         ever needed. Using magic %matplotlib in notebook should be enough.
         Yeah, for inline matplotlib in default python kernel, magics do there
         work(therefore neither pylab nor matplotlib alias are needed while starting the
         server), so I'd say leave this commit as it is and regarding version updation:
         a new patch making change wherever required.
      nor supported:
         $ cat .slappart0_ipython_notebook.log
         [W 15:51:35.454 NotebookApp] Unrecognized alias: '--matplotlib=inline', it will probably have no effect.
      Remove it.
      '--logfile' isn't available for ipython version 3.2.0 but we are not removing
      it since we are planning to upgrade IPython to versions 4.x where it is supported.
      Based on patch by @tiwariayush  (see !33)
    • Ayush Tiwari's avatar
      Jupyter: Change section name to instance-jupyter so as not to raise conflict... · bd3d8e48
      Ayush Tiwari authored
      Jupyter: Change section name to instance-jupyter so as not to raise conflict in case of multiple extends
      /reviewed-by @kirr  (on !33)
    • Ayush Tiwari's avatar
      Jupyter: Publish the serialized result · 0fb4f687
      Ayush Tiwari authored
      Maintain consistency with the slapOS SR format.
      This SR can be hooked with other SR(ex:wendelin) and its better
      to follow one way of publishing result parameters
      [ kirr: This essentially changes publication format to JSON:
          $ xslapos proxy show --params
          # before
          slappart0: ipython_notebook (type default)
              url = https://[2001:67c:1254:e:49::952d]:8888
              monitor_url = https://[2001:67c:1254:e:49::952d]:9685
          # after
          slappart0: ipython_notebook (type default)
              _ = {"url": "https://[2001:67c:1254:e:49::952d]:8888", "monitor_url": "https://[2001:67c:1254:e:49::952d]:9685"}
        I'm not convinced we really need this, nor that the .serialized version is
        the most oftenly used one:
          slapos$ git grep 'slapos.cookbook:publish$' |wc -l
          slapos$ git grep 'slapos.cookbook:publish.serialised$' |wc -l
        but we can have it and see how it goes, reverting if needed ]
      /cc @jerome
      /proposed-for-review-on !33
    • Ayush Tiwari's avatar
      Jupyter: Set log-level alias to 'DEBUG' for ipython notebook service · 3bf1cce9
      Ayush Tiwari authored
      This helps in logging up the requests made by ipython_notebook service
      [ kirr: To be clear - until log-level is set to DEBUG, IPython notebook does
        not log HTTP requests, and since logging of HTTP requests is considered normal
        for most of our services (Zope, Apache, etc), it makes sense to enable such
        functionality for notebook too.
        There is not much additional noise produced by --log-level=DEBUG - in
        practice ipython only prints what config files it uses on startup, so this
        should be ok to go. ]
      /reviewed-by @kirr, @jerome  (on !33)
    • Ayush Tiwari's avatar
      Jupyter: Hook ERP5 Kernel · 33954c66
      Ayush Tiwari authored
      ERP5 kernel basic info/workflow:
      1. User enters code on notebook cell and executes
      2. Code is sent to kernel via websockets
      3. Kernel sends request to ERP5
      4. Code is executed by ERP5 and the result is returned back via request.
      5. Result is received and rendered on the notebook frontend.
      6. Other message formats such as error and status are also conveyed by the Kernel.
      [ kirr: in IPython notebook speak kernel is something that allows IPython
        notebook server side to talk to execution backend. ERP5 kernel is a thing that
        allows ipython notbook to talk to ERP5 (with help on-ERP5-server special bt5
        installed which accepts and executes commands).
        The bt5 to handle notebook calls on ERP5 side - erp5-data-notebook - is
        proposed to be merged into erp5.git on erp5!29 ]
      /initially-reviewed-by @kirr, @Tyagov  (in a lot of places, last time on !33)
    • Ayush Tiwari's avatar
      IPython Notebook: Explicitly add environment variable around wrapper and use... · 77ffa61e
      Ayush Tiwari authored
      IPython Notebook: Explicitly add environment variable around wrapper and use ipython directory inside instance in env
      [ kirr: By default IPython keeps configuration and other files location in
        ~/.ipython . What this patch does is organize explicit directory in instance
        tree to keep such files  ]
      /reviewed-by @kirr  (on !33)
    • Ayush Tiwari's avatar
      IPython Notebook: Add dynamic-template-base section for common jinja related... · 2ff9b784
      Ayush Tiwari authored
      IPython Notebook: Add dynamic-template-base section for common jinja related file section and extend them with this section