GitHub user zjffdu reopened a pull request: https://github.com/apache/zeppelin/pull/2474
[ZEPPELIN-2753] Basic Implementation of IPython Interpreter ### What is this PR for? This is the first step for implement IPython Interpreter in Zeppelin. I just use the jupyter_client to create and manage the ipython kernel. We don't need to care about python compilation and execution, all the things are delegated to ipython kernel. Ideally all the features of ipython should be available in Zeppelin as well. For now, user can use %python.ipython for IPython Interpreter. And if ipython is available, the default python interpreter will use ipython. But user can still set `zeppelin.python.useIPython` as false to enforce to use the old implementation of python interpreter. Main features: * IPython interpreter support ** All the ipython features are available, including visualization, ipython magics. * ZeppelinContext support * Streaming output support * Support Ipython in PySpark Regarding the visualization, ideally all the visualization libraries work in jupyter should also work here. In unit test, I only verify the following 3 popular visualization library. could add more later. * matplotlib * bokeh * ggplot ### What type of PR is it? [Feature ] ### Todos * [ ] - Task ### What is the Jira issue? * https://issues.apache.org/jira/browse/ZEPPELIN-2753 ### How should this be tested? Unit test is added. ### Screenshots (if appropriate) Verify bokeh in IPython Interpreter  Verify matplotlib  Verify ZeppelinContext  Verify Streaming  ### Questions: * Does the licenses files need update? No * Is there breaking changes for older versions? No * Does this needs documentation? No You can merge this pull request into a Git repository by running: $ git pull https://github.com/zjffdu/zeppelin ZEPPELIN-2753 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/zeppelin/pull/2474.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #2474 ---- commit 78fde23c39a9fef36cea3d074b09a4748bdc17c9 Author: Jeff Zhang <zjf...@apache.org> Date: 2017-07-02T07:51:14Z [ZEPPELIN-2753] Basic Implementation of IPython Interpreter commit bb4d35451e3a7e83d20a2a7f66f303f2258bdd16 Author: Jeff Zhang <zjf...@apache.org> Date: 2017-07-17T00:29:59Z Add cursor for completion commit 3df231497a2b4b4bd0e3703151d25a0b0a932073 Author: Jeff Zhang <zjf...@apache.org> Date: 2017-07-27T11:10:27Z use IPython first, otherwise fallback to the old PythonInterpreter commit 6d1f69bb74639ebe7c826a2ed807acfa8b02619e Author: Jeff Zhang <zjf...@apache.org> Date: 2017-07-28T07:49:29Z IPython Support for PySparkInterpreter commit 3179e9abb71ea63051c1dbb918276c9c24aba6e7 Author: Jeff Zhang <zjf...@apache.org> Date: 2017-07-30T09:54:23Z Support streaming output commit 4c129c66e0eca39157a742d20bed7773ffedc0d5 Author: Jeff Zhang <zjf...@apache.org> Date: 2017-08-04T02:01:34Z add more docs ---- --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---