You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zeppelin.apache.org by pr...@apache.org on 2020/04/05 05:06:31 UTC

svn commit: r1876141 [17/46] - in /zeppelin/site/docs/0.9.0-SNAPSHOT: ./ development/ development/contribution/ development/helium/ interpreter/ quickstart/ setup/basics/ setup/deployment/ setup/operation/ setup/security/ setup/storage/ usage/display_s...

Modified: zeppelin/site/docs/0.9.0-SNAPSHOT/interpreter/python.html
URL: http://svn.apache.org/viewvc/zeppelin/site/docs/0.9.0-SNAPSHOT/interpreter/python.html?rev=1876141&r1=1876140&r2=1876141&view=diff
==============================================================================
--- zeppelin/site/docs/0.9.0-SNAPSHOT/interpreter/python.html (original)
+++ zeppelin/site/docs/0.9.0-SNAPSHOT/interpreter/python.html Sun Apr  5 05:06:30 2020
@@ -18,9 +18,9 @@
     <link href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet">
 
     <!-- Le styles -->
-    <link href="/assets/themes/zeppelin/bootstrap/css/bootstrap.css" rel="stylesheet">
-    <link href="/assets/themes/zeppelin/css/style.css?body=1" rel="stylesheet" type="text/css">
-    <link href="/assets/themes/zeppelin/css/syntax.css" rel="stylesheet"  type="text/css" media="screen" /> 
+    <link href="/docs/0.9.0-SNAPSHOT/assets/themes/zeppelin/bootstrap/css/bootstrap.css" rel="stylesheet">
+    <link href="/docs/0.9.0-SNAPSHOT/assets/themes/zeppelin/css/style.css?body=1" rel="stylesheet" type="text/css">
+    <link href="/docs/0.9.0-SNAPSHOT/assets/themes/zeppelin/css/syntax.css" rel="stylesheet"  type="text/css" media="screen" />
     <!-- Le fav and touch icons -->
     <!-- Update these with your own images
     <link rel="shortcut icon" href="images/favicon.ico">
@@ -31,20 +31,20 @@
 
     <!-- Js -->
     <script src="https://code.jquery.com/jquery-1.10.2.min.js"></script>
-    <script src="/assets/themes/zeppelin/bootstrap/js/bootstrap.min.js"></script>
-    <script src="/assets/themes/zeppelin/js/docs.js"></script>
-    <script src="/assets/themes/zeppelin/js/anchor.min.js"></script>
-    <script src="/assets/themes/zeppelin/js/toc.js"></script>
-    <script src="/assets/themes/zeppelin/js/lunr.min.js"></script>
-    <script src="/assets/themes/zeppelin/js/search.js"></script>    
+    <script src="/docs/0.9.0-SNAPSHOT/assets/themes/zeppelin/bootstrap/js/bootstrap.min.js"></script>
+    <script src="/docs/0.9.0-SNAPSHOT/assets/themes/zeppelin/js/docs.js"></script>
+    <script src="/docs/0.9.0-SNAPSHOT/assets/themes/zeppelin/js/anchor.min.js"></script>
+    <script src="/docs/0.9.0-SNAPSHOT/assets/themes/zeppelin/js/toc.js"></script>
+    <script src="/docs/0.9.0-SNAPSHOT/assets/themes/zeppelin/js/lunr.min.js"></script>
+    <script src="/docs/0.9.0-SNAPSHOT/assets/themes/zeppelin/js/search.js"></script>
 
     <!-- atom & rss feed -->
-    <link href="/atom.xml" type="application/atom+xml" rel="alternate" title="Sitewide ATOM Feed">
-    <link href="/rss.xml" type="application/rss+xml" rel="alternate" title="Sitewide RSS Feed">
+    <link href="/docs/0.9.0-SNAPSHOT/atom.xml" type="application/atom+xml" rel="alternate" title="Sitewide ATOM Feed">
+    <link href="/docs/0.9.0-SNAPSHOT/rss.xml" type="application/rss+xml" rel="alternate" title="Sitewide RSS Feed">
   </head>
 
   <body>
-    
+
         <div id="menu" class="navbar navbar-inverse navbar-fixed-top" role="navigation">
       <div class="container navbar-container">
         <div class="navbar-header">
@@ -56,10 +56,10 @@
           </button>
           <div class="navbar-brand">
             <a class="navbar-brand-main" href="http://zeppelin.apache.org">
-              <img src="/assets/themes/zeppelin/img/zeppelin_logo.png" width="50"
+              <img src="/docs/0.9.0-SNAPSHOT/assets/themes/zeppelin/img/zeppelin_logo.png" width="50"
                    style="margin-top: -2px;" alt="I'm zeppelin">
               <span style="margin-left: 5px; font-size: 27px;">Zeppelin</span>
-              <a class="navbar-brand-version" href=""
+              <a class="navbar-brand-version" href="/docs/0.9.0-SNAPSHOT"
                  style="font-size: 15px; color: white;"> 0.9.0-SNAPSHOT
               </a>
             </a>
@@ -71,17 +71,17 @@
               <a href="#" data-toggle="dropdown" class="dropdown-toggle">Quick Start <b class="caret"></b></a>
               <ul class="dropdown-menu">
                 <li class="title"><span>Getting Started</span></li>
-                <li><a href="/quickstart/install.html">Install</a></li>
-                <li><a href="/quickstart/explore_ui.html">Explore UI</a></li>
-                <li><a href="/quickstart/tutorial.html">Tutorial</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/quickstart/install.html">Install</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/quickstart/explore_ui.html">Explore UI</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/quickstart/tutorial.html">Tutorial</a></li>
                 <li role="separator" class="divider"></li>
                 <li class="title"><span>Run Mode</span></li>
-                <li><a href="/quickstart/kubernetes.html">Kubernetes</a></li>
-                <li><a href="/quickstart/docker.html">Docker</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/quickstart/kubernetes.html">Kubernetes</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/quickstart/docker.html">Docker</a></li>
                 <li role="separator" class="divider"></li>
-                <li><a href="/quickstart/spark_with_zeppelin.html">Spark with Zeppelin</a></li>
-                <li><a href="/quickstart/sql_with_zeppelin.html">SQL with Zeppelin</a></li>
-                <li><a href="/quickstart/python_with_zeppelin.html">Python with Zeppelin</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/quickstart/spark_with_zeppelin.html">Spark with Zeppelin</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/quickstart/sql_with_zeppelin.html">SQL with Zeppelin</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/quickstart/python_with_zeppelin.html">Python with Zeppelin</a></li>
               </ul>
             </li>
 
@@ -89,41 +89,41 @@
               <a href="#" data-toggle="dropdown" class="dropdown-toggle">Usage<b class="caret"></b></a>
               <ul class="dropdown-menu scrollable-menu">
                 <li class="title"><span>Dynamic Form</span></li>
-                <li><a href="/usage/dynamic_form/intro.html">What is Dynamic Form?</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/usage/dynamic_form/intro.html">What is Dynamic Form?</a></li>
                 <li role="separator" class="divider"></li>
                 <li class="title"><span>Display System</span></li>
-                <li><a href="/usage/display_system/basic.html#text">Text Display</a></li>
-                <li><a href="/usage/display_system/basic.html#html">HTML Display</a></li>
-                <li><a href="/usage/display_system/basic.html#table">Table Display</a></li>
-                <li><a href="/usage/display_system/basic.html#network">Network Display</a></li>
-                <li><a href="/usage/display_system/angular_backend.html">Angular Display using Backend API</a></li>
-                <li><a href="/usage/display_system/angular_frontend.html">Angular Display using Frontend API</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/usage/display_system/basic.html#text">Text Display</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/usage/display_system/basic.html#html">HTML Display</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/usage/display_system/basic.html#table">Table Display</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/usage/display_system/basic.html#network">Network Display</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/usage/display_system/angular_backend.html">Angular Display using Backend API</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/usage/display_system/angular_frontend.html">Angular Display using Frontend API</a></li>
                 <li role="separator" class="divider"></li>
                 <li class="title"><span>Interpreter</span></li>
-                <li><a href="/usage/interpreter/overview.html">Overview</a></li>
-                <li><a href="/usage/interpreter/interpreter_binding_mode.html">Interpreter Binding Mode</a></li>
-                <li><a href="/usage/interpreter/user_impersonation.html">User Impersonation</a></li>
-                <li><a href="/usage/interpreter/dependency_management.html">Dependency Management</a></li>
-                <li><a href="/usage/interpreter/installation.html">Installing Interpreters</a></li>
-                <!--<li><a href="/usage/interpreter/dynamic_loading.html">Dynamic Interpreter Loading (Experimental)</a></li>-->
-                <li><a href="/usage/interpreter/execution_hooks.html">Execution Hooks (Experimental)</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/usage/interpreter/overview.html">Overview</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/usage/interpreter/interpreter_binding_mode.html">Interpreter Binding Mode</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/usage/interpreter/user_impersonation.html">User Impersonation</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/usage/interpreter/dependency_management.html">Dependency Management</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/usage/interpreter/installation.html">Installing Interpreters</a></li>
+                <!--<li><a href="/docs/0.9.0-SNAPSHOT/usage/interpreter/dynamic_loading.html">Dynamic Interpreter Loading (Experimental)</a></li>-->
+                <li><a href="/docs/0.9.0-SNAPSHOT/usage/interpreter/execution_hooks.html">Execution Hooks (Experimental)</a></li>
                 <li role="separator" class="divider"></li>
                 <li class="title"><span>Other Features</span></li>
-                <li><a href="/usage/other_features/publishing_paragraphs.html">Publishing Paragraphs</a></li>
-                <li><a href="/usage/other_features/personalized_mode.html">Personalized Mode</a></li>
-                <li><a href="/usage/other_features/customizing_homepage.html">Customizing Zeppelin Homepage</a></li>
-                <li><a href="/usage/other_features/notebook_actions.html">Notebook Actions</a></li>
-                <li><a href="/usage/other_features/cron_scheduler.html">Cron Scheduler</a></li>
-                <li><a href="/usage/other_features/zeppelin_context.html">Zeppelin Context</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/usage/other_features/publishing_paragraphs.html">Publishing Paragraphs</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/usage/other_features/personalized_mode.html">Personalized Mode</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/usage/other_features/customizing_homepage.html">Customizing Zeppelin Homepage</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/usage/other_features/notebook_actions.html">Notebook Actions</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/usage/other_features/cron_scheduler.html">Cron Scheduler</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/usage/other_features/zeppelin_context.html">Zeppelin Context</a></li>
                 <li role="separator" class="divider"></li>
                 <li class="title"><span>REST API</span></li>
-                <li><a href="/usage/rest_api/interpreter.html">Interpreter API</a></li>
-                <li><a href="/usage/rest_api/zeppelin_server.html">Zeppelin Server API</a></li>
-                <li><a href="/usage/rest_api/notebook.html">Notebook API</a></li>
-                <li><a href="/usage/rest_api/notebook_repository.html">Notebook Repository API</a></li>
-                <li><a href="/usage/rest_api/configuration.html">Configuration API</a></li>
-                <li><a href="/usage/rest_api/credential.html">Credential API</a></li>
-                <li><a href="/usage/rest_api/helium.html">Helium API</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/usage/rest_api/interpreter.html">Interpreter API</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/usage/rest_api/zeppelin_server.html">Zeppelin Server API</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/usage/rest_api/notebook.html">Notebook API</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/usage/rest_api/notebook_repository.html">Notebook Repository API</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/usage/rest_api/configuration.html">Configuration API</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/usage/rest_api/credential.html">Credential API</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/usage/rest_api/helium.html">Helium API</a></li>
               </ul>
             </li>
 
@@ -131,37 +131,38 @@
               <a href="#" data-toggle="dropdown" class="dropdown-toggle">Setup<b class="caret"></b></a>
               <ul class="dropdown-menu scrollable-menu">
                 <li class="title"><span>Basics</span></li>
-                <li><a href="/setup/basics/how_to_build.html">How to Build Zeppelin</a></li>
-                <li><a href="/setup/basics/multi_user_support.html">Multi-user Support</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/setup/basics/how_to_build.html">How to Build Zeppelin</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/setup/basics/multi_user_support.html">Multi-user Support</a></li>
                 <li role="separator" class="divider"></li>
                 <li class="title"><span>Deployment</span></li>
-                <!--<li><a href="/setup/deployment/docker.html">Docker Image for Zeppelin</a></li>-->
-                <li><a href="/setup/deployment/spark_cluster_mode.html#spark-standalone-mode">Spark Cluster Mode: Standalone</a></li>
-                <li><a href="/setup/deployment/spark_cluster_mode.html#spark-on-yarn-mode">Spark Cluster Mode: YARN</a></li>
-                <li><a href="/setup/deployment/spark_cluster_mode.html#spark-on-mesos-mode">Spark Cluster Mode: Mesos</a></li>
-                <li><a href="/setup/deployment/flink_and_spark_cluster.html">Zeppelin with Flink, Spark Cluster</a></li>
-                <li><a href="/setup/deployment/cdh.html">Zeppelin on CDH</a></li>
-                <li><a href="/setup/deployment/virtual_machine.html">Zeppelin on VM: Vagrant</a></li>
+                <!--<li><a href="/docs/0.9.0-SNAPSHOT/setup/deployment/docker.html">Docker Image for Zeppelin</a></li>-->
+                <li><a href="/docs/0.9.0-SNAPSHOT/setup/deployment/spark_cluster_mode.html#spark-standalone-mode">Spark Cluster Mode: Standalone</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/setup/deployment/spark_cluster_mode.html#spark-on-yarn-mode">Spark Cluster Mode: YARN</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/setup/deployment/spark_cluster_mode.html#spark-on-mesos-mode">Spark Cluster Mode: Mesos</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/setup/deployment/flink_and_spark_cluster.html">Zeppelin with Flink, Spark Cluster</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/setup/deployment/cdh.html">Zeppelin on CDH</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/setup/deployment/virtual_machine.html">Zeppelin on VM: Vagrant</a></li>
                 <li role="separator" class="divider"></li>
                 <li class="title"><span>Security</span></li>
-                <li><a href="/setup/security/authentication_nginx.html">HTTP Basic Auth using NGINX</a></li>
-                <li><a href="/setup/security/shiro_authentication.html">Shiro Authentication</a></li>
-                <li><a href="/setup/security/notebook_authorization.html">Notebook Authorization</a></li>
-                <li><a href="/setup/security/datasource_authorization.html">Data Source Authorization</a></li>
-                <li><a href="/setup/security/http_security_headers.html">HTTP Security Headers</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/setup/security/authentication_nginx.html">HTTP Basic Auth using NGINX</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/setup/security/shiro_authentication.html">Shiro Authentication</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/setup/security/notebook_authorization.html">Notebook Authorization</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/setup/security/datasource_authorization.html">Data Source Authorization</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/setup/security/http_security_headers.html">HTTP Security Headers</a></li>
                 <li role="separator" class="divider"></li>
                 <li class="title"><span>Notebook Storage</span></li>
-                <li><a href="/setup/storage/storage.html#notebook-storage-in-local-git-repository">Git Storage</a></li>
-                <li><a href="/setup/storage/storage.html#notebook-storage-in-s3">S3 Storage</a></li>
-                <li><a href="/setup/storage/storage.html#notebook-storage-in-azure">Azure Storage</a></li>
-                <li><a href="/setup/storage/storage.html#notebook-storage-in-zeppelinhub">ZeppelinHub Storage</a></li>
-                <li><a href="/setup/storage/storage.html#notebook-storage-in-mongodb">MongoDB Storage</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/setup/storage/storage.html#notebook-storage-in-local-git-repository">Git Storage</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/setup/storage/storage.html#notebook-storage-in-s3">S3 Storage</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/setup/storage/storage.html#notebook-storage-in-azure">Azure Storage</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/setup/storage/storage.html#notebook-storage-in-oss">OSS Storage</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/setup/storage/storage.html#notebook-storage-in-zeppelinhub">ZeppelinHub Storage</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/setup/storage/storage.html#notebook-storage-in-mongodb">MongoDB Storage</a></li>
                 <li role="separator" class="divider"></li>
                 <li class="title"><span>Operation</span></li>
-                <li><a href="/setup/operation/configuration.html">Configuration</a></li>
-                <li><a href="/setup/operation/proxy_setting.html">Proxy Setting</a></li>
-                <li><a href="/setup/operation/upgrading.html">Upgrading</a></li>
-                <li><a href="/setup/operation/trouble_shooting.html">Trouble Shooting</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/setup/operation/configuration.html">Configuration</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/setup/operation/proxy_setting.html">Proxy Setting</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/setup/operation/upgrading.html">Upgrading</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/setup/operation/trouble_shooting.html">Trouble Shooting</a></li>
               </ul>
             </li>
 
@@ -169,58 +170,62 @@
               <a href="#" data-toggle="dropdown" class="dropdown-toggle">Interpreter <b class="caret"></b></a>
               <ul class="dropdown-menu scrollable-menu">
                 <li class="title"><span>Interpreters</span></li>
-                <li><a href="/usage/interpreter/overview.html">Overview</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/usage/interpreter/overview.html">Overview</a></li>
                 <li role="separator" class="divider"></li>
-                <li><a href="/interpreter/spark.html">Spark</a></li>
-                <li><a href="/interpreter/jdbc.html">JDBC</a></li>
-                <li><a href="/interpreter/python.html">Python</a></li>
-                <li role="separator" class="divider"></li>
-                <li><a href="/interpreter/alluxio.html">Alluxio</a></li>
-                <li><a href="/interpreter/beam.html">Beam</a></li>
-                <li><a href="/interpreter/bigquery.html">BigQuery</a></li>
-                <li><a href="/interpreter/cassandra.html">Cassandra</a></li>
-                <li><a href="/interpreter/elasticsearch.html">Elasticsearch</a></li>
-                <li><a href="/interpreter/flink.html">Flink</a></li>
-                <li><a href="/interpreter/geode.html">Geode</a></li>
-                <li><a href="/interpreter/groovy.html">Groovy</a></li>
-                <li><a href="/interpreter/hazelcastjet.html">Hazelcast Jet</a></li>
-                <li><a href="/interpreter/hbase.html">HBase</a></li>
-                <li><a href="/interpreter/hdfs.html">HDFS</a></li>
-                <li><a href="/interpreter/hive.html">Hive</a></li>
-                <li><a href="/interpreter/ignite.html">Ignite</a></li>
-                <li><a href="/interpreter/java.html">Java</a></li>
-                <li><a href="/interpreter/kylin.html">Kylin</a></li>
-                <li><a href="/interpreter/lens.html">Lens</a></li>
-                <li><a href="/interpreter/livy.html">Livy</a></li>
-                <li><a href="/interpreter/markdown.html">Markdown</a></li>
-                <li><a href="/interpreter/neo4j.html">Neo4j</a></li>
-                <li><a href="/interpreter/pig.html">Pig</a></li>
-                <li><a href="/interpreter/postgresql.html">Postgresql, HAWQ</a></li>
-                <li><a href="/interpreter/r.html">R</a></li>
-                <li><a href="/interpreter/scalding.html">Scalding</a></li>
-                <li><a href="/interpreter/scio.html">Scio</a></li>
-                <li><a href="/interpreter/shell.html">Shell</a></li>
-                <li><a href="/interpreter/submarine.html">Submarine</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/interpreter/spark.html">Spark</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/interpreter/jdbc.html">JDBC</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/interpreter/python.html">Python</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/interpreter/r.html">R</a></li>
+                <li role="separator" class="divider"></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/interpreter/alluxio.html">Alluxio</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/interpreter/beam.html">Beam</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/interpreter/bigquery.html">BigQuery</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/interpreter/cassandra.html">Cassandra</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/interpreter/elasticsearch.html">Elasticsearch</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/interpreter/flink.html">Flink</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/interpreter/geode.html">Geode</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/interpreter/groovy.html">Groovy</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/interpreter/hazelcastjet.html">Hazelcast Jet</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/interpreter/hbase.html">HBase</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/interpreter/hdfs.html">HDFS</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/interpreter/hive.html">Hive</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/interpreter/ignite.html">Ignite</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/interpreter/java.html">Java</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/interpreter/jupyter.html">Jupyter</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/interpreter/kotlin.html">Kotlin</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/interpreter/kylin.html">Kylin</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/interpreter/lens.html">Lens</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/interpreter/livy.html">Livy</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/interpreter/markdown.html">Markdown</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/interpreter/mongodb.html">MongoDB</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/interpreter/neo4j.html">Neo4j</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/interpreter/pig.html">Pig</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/interpreter/postgresql.html">Postgresql, HAWQ</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/interpreter/scalding.html">Scalding</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/interpreter/scio.html">Scio</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/interpreter/shell.html">Shell</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/interpreter/sparql.html">Sparql</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/interpreter/submarine.html">Submarine</a></li>
               </ul>
             </li>
             <li>
               <a href="#" data-toggle="dropdown" class="dropdown-toggle">More<b class="caret"></b></a>
               <ul class="dropdown-menu scrollable-menu" style="right: 0; left: auto;">
                 <li class="title"><span>Extending Zeppelin</span></li>
-                <li><a href="/development/writing_zeppelin_interpreter.html">Writing Zeppelin Interpreter</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/development/writing_zeppelin_interpreter.html">Writing Zeppelin Interpreter</a></li>
                 <li role="separator" class="divider"></li>
                 <li class="title"><span>Helium (Experimental)</span></li>
-                <li><a href="/development/helium/overview.html">Overview</a></li>
-                <li><a href="/development/helium/writing_application.html">Writing Helium Application</a></li>
-                <li><a href="/development/helium/writing_spell.html">Writing Helium Spell</a></li>
-                <li><a href="/development/helium/writing_visualization_basic.html">Writing Helium Visualization: Basics</a></li>
-                <li><a href="/development/helium/writing_visualization_transformation.html">Writing Helium Visualization: Transformation</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/development/helium/overview.html">Overview</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/development/helium/writing_application.html">Writing Helium Application</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/development/helium/writing_spell.html">Writing Helium Spell</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/development/helium/writing_visualization_basic.html">Writing Helium Visualization: Basics</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/development/helium/writing_visualization_transformation.html">Writing Helium Visualization: Transformation</a></li>
                 <li role="separator" class="divider"></li>
                 <li class="title"><span>Contributing to Zeppelin</span></li>
-                <li><a href="/setup/basics/how_to_build.html">How to Build Zeppelin</a></li>
-                <li><a href="/development/contribution/useful_developer_tools.html">Useful Developer Tools</a></li>
-                <li><a href="/development/contribution/how_to_contribute_code.html">How to Contribute (code)</a></li>
-                <li><a href="/development/contribution/how_to_contribute_website.html">How to Contribute (website)</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/setup/basics/how_to_build.html">How to Build Zeppelin</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/development/contribution/useful_developer_tools.html">Useful Developer Tools</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/development/contribution/how_to_contribute_code.html">How to Contribute (code)</a></li>
+                <li><a href="/docs/0.9.0-SNAPSHOT/development/contribution/how_to_contribute_website.html">How to Contribute (website)</a></li>
                 <li role="separator" class="divider"></li>
                 <li class="title"><span>External Resources</span></li>
                 <li><a target="_blank" href="https://zeppelin.apache.org/community.html">Mailing List</a></li>
@@ -229,7 +234,7 @@
               </ul>
             </li>
             <li>
-              <a href="/search.html" class="nav-search-link">
+              <a href="/docs/0.9.0-SNAPSHOT/search.html" class="nav-search-link">
                 <span class="fa fa-search nav-search-icon"></span>
               </a>
             </li>
@@ -241,7 +246,7 @@
 
 
     <div class="content">
-      
+
 <!--<div class="hero-unit Python 2 & 3 Interpreter for Apache Zeppelin">
   <h1></h1>
 </div>
@@ -267,6 +272,33 @@ limitations under the License.
 
 <div id="toc"></div>
 
+<h2>Overview</h2>
+
+<p>Zeppelin supports python language which is very popular in data analytics and machine learning.</p>
+
+<table class="table-configuration">
+  <tr>
+    <th>Name</th>
+    <th>Class</th>
+    <th>Description</th>
+  </tr>
+  <tr>
+    <td>%python</td>
+    <td>PythonInterpreter</td>
+    <td>Vanilla python interpreter, with least dependencies, only python environment installed is required</td>
+  </tr>
+  <tr>
+    <td>%python.ipython</td>
+    <td>IPythonInterpreter</td>
+    <td>Provide more fancy python runtime via IPython, almost the same experience like Jupyter. It requires more things, but is the recommended interpreter for using python in Zeppelin, see below</td>
+  </tr>
+  <tr>
+    <td>%python.sql</td>
+    <td>PythonInterpreterPandasSql</td>
+    <td>Provide sql capability to query data in Pandas DataFrame via <code>pandasql</code></td>
+  </tr>
+</table>
+
 <h2>Configuration</h2>
 
 <table class="table-configuration">
@@ -278,8 +310,8 @@ limitations under the License.
   <tr>
     <td>zeppelin.python</td>
     <td>python</td>
-    <td>Path of the already installed Python binary (could be python2 or python3).
-    If python is not in your $PATH you can set the absolute directory (example : /usr/bin/python)
+    <td>Path of the installed Python binary (could be python2 or python3).
+    You should set this property explicitly if python is not in your <code>$PATH</code>(example: /usr/bin/python).
     </td>
   </tr>
   <tr>
@@ -287,121 +319,42 @@ limitations under the License.
     <td>1000</td>
     <td>Max number of dataframe rows to display.</td>
   </tr>
+  <tr>
+    <td>zeppelin.python.useIPython</td>
+    <td>true</td>
+    <td>When this property is true, <code>%python</code> would be delegated to <code>%python.ipython</code> if IPython is available, otherwise
+    IPython is only used in <code>%python.ipython</code>.
+    </td>
+  </tr>
 </table>
 
-<h2>Enabling Python Interpreter</h2>
-
-<p>In a notebook, to enable the <strong>Python</strong> interpreter, click on the <strong>Gear</strong> icon and select <strong>Python</strong></p>
-
-<h2>Using the Python Interpreter</h2>
+<h2>Vanilla Python Interpreter (<code>%python</code>)</h2>
 
-<p>In a paragraph, use <strong><em>%python</em></strong> to select the <strong>Python</strong> interpreter and then input all commands.</p>
+<p>The vanilla python interpreter provides basic python interpreter feature, only python installed is required.</p>
 
-<p>The interpreter can only work if you already have python installed (the interpreter doesn&#39;t bring it own python binaries).</p>
+<h3>Matplotlib integration</h3>
 
-<p>To access the help, type <strong>help()</strong></p>
-
-<h2>Python environments</h2>
-
-<h3>Default</h3>
-
-<p>By default, PythonInterpreter will use python command defined in <code>zeppelin.python</code> property to run python process.
-The interpreter can use all modules already installed (with pip, easy_install...)</p>
-
-<h3>Conda</h3>
-
-<p><a href="http://conda.pydata.org/">Conda</a> is an package management system and environment management system for python.
-<code>%python.conda</code> interpreter lets you change between environments.</p>
-
-<h4>Usage</h4>
-
-<ul>
-<li><p>get the Conda Infomation: </p>
-<div class="highlight"><pre><code class="text language-text" data-lang="text">%python.conda info
-</code></pre></div></li>
-<li><p>list the Conda environments: </p>
-<div class="highlight"><pre><code class="text language-text" data-lang="text">%python.conda env list
-</code></pre></div></li>
-<li><p>create a conda enviornment: </p>
-<div class="highlight"><pre><code class="text language-text" data-lang="text">%python.conda create --name [ENV NAME]
-</code></pre></div></li>
-<li><p>activate an environment (python interpreter will be restarted): </p>
-<div class="highlight"><pre><code class="text language-text" data-lang="text">%python.conda activate [ENV NAME]
-</code></pre></div></li>
-<li><p>deactivate</p>
-<div class="highlight"><pre><code class="text language-text" data-lang="text">%python.conda deactivate
-</code></pre></div></li>
-<li><p>get installed package list inside the current environment</p>
-<div class="highlight"><pre><code class="text language-text" data-lang="text">%python.conda list
-</code></pre></div></li>
-<li><p>install package</p>
-<div class="highlight"><pre><code class="text language-text" data-lang="text">%python.conda install [PACKAGE NAME]
-</code></pre></div></li>
-<li><p>uninstall package</p>
-<div class="highlight"><pre><code class="text language-text" data-lang="text">%python.conda uninstall [PACKAGE NAME]
-</code></pre></div></li>
-</ul>
-
-<h3>Docker</h3>
-
-<p><code>%python.docker</code> interpreter allows PythonInterpreter creates python process in a specified docker container.</p>
-
-<h4>Usage</h4>
-
-<ul>
-<li><p>activate an environment</p>
-<div class="highlight"><pre><code class="text language-text" data-lang="text">%python.docker activate [Repository]
-%python.docker activate [Repository:Tag]
-%python.docker activate [Image Id]
-</code></pre></div></li>
-<li><p>deactivate</p>
-<div class="highlight"><pre><code class="text language-text" data-lang="text">%python.docker deactivate
-</code></pre></div></li>
-</ul>
-
-<p><br/>
-Here is an example</p>
-<div class="highlight"><pre><code class="text language-text" data-lang="text"># activate latest tensorflow image as a python environment
-%python.docker activate gcr.io/tensorflow/tensorflow:latest
-</code></pre></div>
-<h2>Using Zeppelin Dynamic Forms</h2>
-
-<p>You can leverage <a href="/usage/dynamic_form/intro.html">Zeppelin Dynamic Form</a> inside your Python code.</p>
-
-<p><strong>Zeppelin Dynamic Form can only be used if py4j Python library is installed in your system. If not, you can install it with <code>pip install py4j</code>.</strong></p>
-
-<p>Example : </p>
+<p>The vanilla python interpreter can display matplotlib figures inline automatically using the <code>matplotlib</code>:</p>
 <div class="highlight"><pre><code class="python language-python" data-lang="python"><span class="o">%</span><span class="n">python</span>
-<span class="c">### Input form</span>
-<span class="k">print</span> <span class="p">(</span><span class="n">z</span><span class="o">.</span><span class="n">input</span><span class="p">(</span><span class="s">&quot;f1&quot;</span><span class="p">,</span><span class="s">&quot;defaultValue&quot;</span><span class="p">))</span>
-
-<span class="c">### Select form</span>
-<span class="k">print</span> <span class="p">(</span><span class="n">z</span><span class="o">.</span><span class="n">select</span><span class="p">(</span><span class="s">&quot;f1&quot;</span><span class="p">,[(</span><span class="s">&quot;o1&quot;</span><span class="p">,</span><span class="s">&quot;1&quot;</span><span class="p">),(</span><span class="s">&quot;o2&quot;</span><span class="p">,</span><span class="s">&quot;2&quot;</span><span class="p">)],</span><span class="s">&quot;2&quot;</span><span class="p">))</span>
-
-<span class="c">### Checkbox form</span>
-<span class="k">print</span><span class="p">(</span><span class="s">&quot;&quot;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">z</span><span class="o">.</span><span class="n">checkbox</span><span class="p">(</span><span class="s">&quot;f3&quot;</span><span class="p">,</span> <span class="p">[(</span><span class="s">&quot;o1&quot;</span><span class="p">,</span><span class="s">&quot;1&quot;</span><span class="p">),</span> <span class="p">(</span><span class="s">&quot;o2&quot;</span><span class="p">,</span><span class="s">&quot;2&quot;</span><span class="p">)],[</span><span class="s">&quot;1&quot;</span><span class="p">])))</span>
-</code></pre></div>
-<h2>Matplotlib integration</h2>
 
-<p>The python interpreter can display matplotlib figures inline automatically using the <code>pyplot</code> module:</p>
-<div class="highlight"><pre><code class="python language-python" data-lang="python"><span class="o">%</span><span class="n">python</span>
 <span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="kn">as</span> <span class="nn">plt</span>
 <span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">([</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">])</span>
 </code></pre></div>
-<p>This is the recommended method for using matplotlib from within a Zeppelin notebook. The output of this command will by default be converted to HTML by implicitly making use of the <code>%html</code> magic. Additional configuration can be achieved using the builtin <code>z.configure_mpl()</code> method. For example, </p>
+<p>The output of this command will by default be converted to HTML by implicitly making use of the <code>%html</code> magic. Additional configuration can be achieved using the builtin <code>z.configure_mpl()</code> method. For example, </p>
 <div class="highlight"><pre><code class="python language-python" data-lang="python"><span class="n">z</span><span class="o">.</span><span class="n">configure_mpl</span><span class="p">(</span><span class="n">width</span><span class="o">=</span><span class="mi">400</span><span class="p">,</span> <span class="n">height</span><span class="o">=</span><span class="mi">300</span><span class="p">,</span> <span class="n">fmt</span><span class="o">=</span><span class="s">&#39;svg&#39;</span><span class="p">)</span>
 <span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">([</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">])</span>
 </code></pre></div>
-<p>Will produce a 400x300 image in SVG format, which by default are normally 600x400 and PNG respectively. 
-In the future, another option called <code>angular</code> can be used to make it possible to update a plot produced from one paragraph directly from another 
-(the output will be <code>%angular</code> instead of <code>%html</code>). However, this feature is already available in the <code>pyspark</code> interpreter. 
+<p>Will produce a 400x300 image in SVG format, which by default are normally 600x400 and PNG respectively.
+In the future, another option called <code>angular</code> can be used to make it possible to update a plot produced from one paragraph directly from another
+(the output will be <code>%angular</code> instead of <code>%html</code>). However, this feature is already available in the <code>pyspark</code> interpreter.
 More details can be found in the included &quot;Zeppelin Tutorial: Python - matplotlib basic&quot; tutorial notebook. </p>
 
-<p>If Zeppelin cannot find the matplotlib backend files (which should usually be found in <code>$ZEPPELIN_HOME/interpreter/lib/python</code>) in your <code>PYTHONPATH</code>, 
+<p>If Zeppelin cannot find the matplotlib backend files (which should usually be found in <code>$ZEPPELIN_HOME/interpreter/lib/python</code>) in your <code>PYTHONPATH</code>,
 then the backend will automatically be set to agg, and the (otherwise deprecated) instructions below can be used for more limited inline plotting.</p>
 
 <p>If you are unable to load the inline backend, use <code>z.show(plt)</code>:</p>
 <div class="highlight"><pre><code class="python language-python" data-lang="python"><span class="o">%</span><span class="n">python</span>
+
 <span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="kn">as</span> <span class="nn">plt</span>
 <span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">()</span>
 <span class="p">(</span><span class="o">..</span> <span class="o">..</span><span class="p">)</span>
@@ -410,113 +363,290 @@ then the backend will automatically be s
 </code></pre></div>
 <p>The <code>z.show()</code> function can take optional parameters to adapt graph dimensions (width and height) as well as output format (png or optionally svg).</p>
 <div class="highlight"><pre><code class="python language-python" data-lang="python"><span class="o">%</span><span class="n">python</span>
+
 <span class="n">z</span><span class="o">.</span><span class="n">show</span><span class="p">(</span><span class="n">plt</span><span class="p">,</span> <span class="n">width</span><span class="o">=</span><span class="s">&#39;50px&#39;</span><span class="p">)</span>
 <span class="n">z</span><span class="o">.</span><span class="n">show</span><span class="p">(</span><span class="n">plt</span><span class="p">,</span> <span class="n">height</span><span class="o">=</span><span class="s">&#39;150px&#39;</span><span class="p">,</span> <span class="n">fmt</span><span class="o">=</span><span class="s">&#39;svg&#39;</span><span class="p">)</span>
 </code></pre></div>
-<p><img class="img-responsive" src="/assets/themes/zeppelin/img/docs-img/pythonMatplotlib.png" /></p>
+<p><img class="img-responsive" src="/docs/0.9.0-SNAPSHOT/assets/themes/zeppelin/img/docs-img/pythonMatplotlib.png" /></p>
+
+<h2>IPython Interpreter (<code>%python.ipython</code>) (recommended)</h2>
+
+<p>IPython is more powerful than the vanilla python interpreter with extra functionality. You can use IPython with Python2 or Python3 which depends on which python you set in <code>zeppelin.python</code>.</p>
+
+<p>For non-anaconda environment </p>
+
+<p><strong>Prerequisites</strong></p>
+<div class="highlight"><pre><code class="text language-text" data-lang="text">- Jupyter `pip install jupyter`
+- grpcio `pip install grpcio`
+- protobuf `pip install protobuf`
+</code></pre></div>
+<p>For anaconda environment (<code>zeppelin.python</code> points to the python under anaconda)</p>
+
+<p><strong>Prerequisites</strong></p>
+<div class="highlight"><pre><code class="text language-text" data-lang="text">- grpcio `pip install grpcio`
+- protobuf `pip install protobuf`
+</code></pre></div>
+<p>In addition to all the basic functions of the vanilla python interpreter, you can use all the IPython advanced features as you use it in Jupyter Notebook.</p>
+
+<p>e.g. </p>
+
+<h3>Use IPython magic</h3>
+<div class="highlight"><pre><code class="text language-text" data-lang="text">%python.ipython
+
+#python help
+range?
+
+#timeit
+%timeit range(100)
+</code></pre></div>
+<h3>Use matplotlib</h3>
+<div class="highlight"><pre><code class="text language-text" data-lang="text">%python.ipython
+
+%matplotlib inline
+import matplotlib.pyplot as plt
+
+print(&quot;hello world&quot;)
+data=[1,2,3,4]
+plt.figure()
+plt.plot(data)
+</code></pre></div>
+<h3>Colored text output</h3>
+
+<p><img class="img-responsive" src="/docs/0.9.0-SNAPSHOT/assets/themes/zeppelin/img/docs-img/ipython_error.png" /></p>
+
+<h3>More types of visualization</h3>
+
+<p>e.g. IPython supports hvplot
+<img class="img-responsive" src="/docs/0.9.0-SNAPSHOT/assets/themes/zeppelin/img/docs-img/ipython_hvplot.png" /></p>
+
+<h3>Better code completion</h3>
+
+<p><img class="img-responsive" src="/docs/0.9.0-SNAPSHOT/assets/themes/zeppelin/img/docs-img/ipython_code_completion.png" /></p>
+
+<p>By default, Zeppelin would use IPython in <code>%python</code> if IPython prerequisites are meet, otherwise it would use vanilla Python interpreter in <code>%python</code>.
+If you don&#39;t want to use IPython via <code>%python</code>, then you can set <code>zeppelin.python.useIPython</code> as <code>false</code> in interpreter setting.</p>
 
 <h2>Pandas integration</h2>
 
-<p>Apache Zeppelin <a href="../usage/display_system/basic.html#table">Table Display System</a> provides built-in data visualization capabilities. 
-Python interpreter leverages it to visualize Pandas DataFrames though similar <code>z.show()</code> API, 
-same as with <a href="#matplotlib-integration">Matplotlib integration</a>.</p>
+<p>Apache Zeppelin <a href="../usage/display_system/basic.html#table">Table Display System</a> provides built-in data visualization capabilities.
+Python interpreter leverages it to visualize Pandas DataFrames though similar <code>z.show()</code> API, same as with <a href="#matplotlib-integration">Matplotlib integration</a>.</p>
 
 <p>Example:</p>
-<div class="highlight"><pre><code class="python language-python" data-lang="python"><span class="kn">import</span> <span class="nn">pandas</span> <span class="kn">as</span> <span class="nn">pd</span>
+<div class="highlight"><pre><code class="python language-python" data-lang="python"><span class="o">%</span><span class="n">python</span>
+
+<span class="kn">import</span> <span class="nn">pandas</span> <span class="kn">as</span> <span class="nn">pd</span>
 <span class="n">rates</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">read_csv</span><span class="p">(</span><span class="s">&quot;bank.csv&quot;</span><span class="p">,</span> <span class="n">sep</span><span class="o">=</span><span class="s">&quot;;&quot;</span><span class="p">)</span>
 <span class="n">z</span><span class="o">.</span><span class="n">show</span><span class="p">(</span><span class="n">rates</span><span class="p">)</span>
 </code></pre></div>
 <h2>SQL over Pandas DataFrames</h2>
 
-<p>There is a convenience <code>%python.sql</code> interpreter that matches Apache Spark experience in Zeppelin and 
-enables usage of SQL language to query <a href="http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.html">Pandas DataFrames</a> and 
+<p>There is a convenience <code>%python.sql</code> interpreter that matches Apache Spark experience in Zeppelin and
+enables usage of SQL language to query <a href="http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.html">Pandas DataFrames</a> and
 visualization of results though built-in <a href="../usage/display_system/basic.html#table">Table Display System</a>.</p>
 
-<p><strong>Pre-requests</strong></p>
+<p><strong>Prerequisites</strong></p>
 
 <ul>
 <li>Pandas <code>pip install pandas</code></li>
 <li>PandaSQL <code>pip install -U pandasql</code></li>
 </ul>
 
-<p>In case default binded interpreter is Python (first in the interpreter list, under the <em>Gear Icon</em>), you can just use it as <code>%sql</code> i.e</p>
+<p>Here&#39;s one example:</p>
 
 <ul>
 <li><p>first paragraph</p>
-<div class="highlight"><pre><code class="python language-python" data-lang="python"><span class="kn">import</span> <span class="nn">pandas</span> <span class="kn">as</span> <span class="nn">pd</span>
-<span class="n">rates</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">read_csv</span><span class="p">(</span><span class="s">&quot;bank.csv&quot;</span><span class="p">,</span> <span class="n">sep</span><span class="o">=</span><span class="s">&quot;;&quot;</span><span class="p">)</span>
+<div class="highlight"><pre><code class="python language-python" data-lang="python"><span class="o">%</span><span class="n">python</span>
 </code></pre></div></li>
+</ul>
+
+<p>import pandas as pd
+rates = pd.read_csv(&quot;bank.csv&quot;, sep=&quot;;&quot;)
+  ```</p>
+
+<ul>
 <li><p>next paragraph</p>
-<div class="highlight"><pre><code class="sql language-sql" data-lang="sql"><span class="o">%</span><span class="k">sql</span>
-<span class="k">SELECT</span> <span class="o">*</span> <span class="k">FROM</span> <span class="n">rates</span> <span class="k">WHERE</span> <span class="n">age</span> <span class="o">&lt;</span> <span class="mi">40</span>
+<div class="highlight"><pre><code class="sql language-sql" data-lang="sql"><span class="o">%</span><span class="n">python</span><span class="p">.</span><span class="k">sql</span>
 </code></pre></div></li>
 </ul>
 
-<p>Otherwise it can be referred to as <code>%python.sql</code></p>
+<p>SELECT * FROM rates WHERE age &lt; 40
+  ```</p>
 
-<h2>IPython Support</h2>
+<h2>Using Zeppelin Dynamic Forms</h2>
 
-<p>IPython is more powerful than the default python interpreter with extra functionality. You can use IPython with Python2 or Python3 which depends on which python you set <code>zeppelin.python</code>.</p>
+<p>You can leverage <a href="/docs/0.9.0-SNAPSHOT/usage/dynamic_form/intro.html">Zeppelin Dynamic Form</a> inside your Python code.</p>
 
-<p><strong>Pre-requests</strong></p>
-<div class="highlight"><pre><code class="text language-text" data-lang="text">- Jupyter `pip install jupyter`
-- grpcio `pip install grpcio`
-- protobuf `pip install protobuf`
+<p>Example : </p>
+<div class="highlight"><pre><code class="python language-python" data-lang="python"><span class="o">%</span><span class="n">python</span>
+
+<span class="c">### Input form</span>
+<span class="k">print</span><span class="p">(</span><span class="n">z</span><span class="o">.</span><span class="n">input</span><span class="p">(</span><span class="s">&quot;f1&quot;</span><span class="p">,</span><span class="s">&quot;defaultValue&quot;</span><span class="p">))</span>
+
+<span class="c">### Select form</span>
+<span class="k">print</span><span class="p">(</span><span class="n">z</span><span class="o">.</span><span class="n">select</span><span class="p">(</span><span class="s">&quot;f2&quot;</span><span class="p">,[(</span><span class="s">&quot;o1&quot;</span><span class="p">,</span><span class="s">&quot;1&quot;</span><span class="p">),(</span><span class="s">&quot;o2&quot;</span><span class="p">,</span><span class="s">&quot;2&quot;</span><span class="p">)],</span><span class="s">&quot;o1&quot;</span><span class="p">))</span>
+
+<span class="c">### Checkbox form</span>
+<span class="k">print</span><span class="p">(</span><span class="s">&quot;&quot;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">z</span><span class="o">.</span><span class="n">checkbox</span><span class="p">(</span><span class="s">&quot;f3&quot;</span><span class="p">,</span> <span class="p">[(</span><span class="s">&quot;o1&quot;</span><span class="p">,</span><span class="s">&quot;1&quot;</span><span class="p">),</span> <span class="p">(</span><span class="s">&quot;o2&quot;</span><span class="p">,</span><span class="s">&quot;2&quot;</span><span class="p">)],[</span><span class="s">&quot;o1&quot;</span><span class="p">])))</span>
 </code></pre></div>
-<p>If you already install anaconda, then you just need to install <code>grpcio</code> as Jupyter is already included in anaconda. For grpcio version &gt;= 1.12.0 you&#39;ll also need to install protobuf separately.</p>
+<h2>ZeppelinContext API</h2>
 
-<p>In addition to all basic functions of the python interpreter, you can use all the IPython advanced features as you use it in Jupyter Notebook.</p>
+<p>Python interpreter create a variable <code>z</code> which represent <code>ZeppelinContext</code> for you. User can use it to do more fancy and complex things in Zeppelin.</p>
 
-<p>e.g. </p>
+<table class="table-configuration">
+  <tr>
+    <th>API</th>
+    <th>Description</th>
+  </tr>
+  <tr>
+    <td>z.put(key, value)</td>
+    <td>Put object <code>value</code> with identifier <code>key</code> to distributed resource pool of Zeppelin,
+    so that it can be used by other interpreters</td>
+  </tr>
+  <tr>
+    <td>z.get(key)</td>
+    <td>Get object with identifier <code>key</code> from distributed resource pool of Zeppelin</td>
+  </tr>
+  <tr>
+    <td>z.remove(key)</td>
+    <td>Remove object with identifier <code>key</code> from distributed resource pool of Zeppelin</td>
+  </tr>
+  <tr>
+    <td>z.getAsDataFrame(key)</td>
+    <td>Get object with identifier <code>key</code> from distributed resource pool of Zeppelin and converted into pandas dataframe.
+    The object in the distributed resource pool must be table type, e.g. jdbc interpreter result.
+    </td>
+  </tr>
+  <tr>
+    <td>z.angular(name, noteId = None, paragraphId = None)</td>
+    <td>Get the angular object with identifier <code>name</code></td>
+  </tr>
+  <tr>
+    <td>z.angularBind(name, value, noteId = None, paragraphId = None)</td>
+    <td>Bind value to angular object with identifier <code>name</code></td>
+  </tr>
+  <tr>
+    <td>z.angularUnbind(name, noteId = None)</td>
+    <td>Unbind value from angular object with identifier <code>name</code></td>
+  </tr>
+  <tr>
+    <td>z.show(p)</td>
+    <td>Show python object <code>p</code> in Zeppelin, if it is pandas dataframe, it would be displayed in Zeppelin's table format,
+    others will be converted to string</td>
+  </tr>
+  <tr>
+    <td>z.textbox(name, defaultValue="")</td>
+    <td>Create dynamic form Textbox <code>name</code> with defaultValue</td>
+  </tr>
+  <tr>
+    <td>z.select(name, options, defaultValue="")</td>
+    <td>Create dynamic form Select <code>name</code> with options and defaultValue. options should be a list of Tuple(first element is key,
+    the second element is the displayed value) e.g. <code>z.select("f2",[("o1","1"),("o2","2")],"o1")</code></td>
+  </tr>
+  <tr>
+    <td>z.checkbox(name, options, defaultChecked=[])</td>
+    <td>Create dynamic form Checkbox `name` with options and defaultChecked. options should be a list of Tuple(first element is key,
+    the second element is the displayed value) e.g. <code>z.checkbox("f3", [("o1","1"), ("o2","2")],["o1"])</code></td>
+  </tr>
+  <tr>
+    <td>z.noteTextbox(name, defaultValue="")</td>
+    <td>Create note level dynamic form Textbox</td>
+  </tr>
+  <tr>
+    <td>z.noteSelect(name, options, defaultValue="")</td>
+    <td>Create note level dynamic form Select</td>
+  </tr>
+  <tr>
+    <td>z.noteCheckbox(name, options, defaultChecked=[])</td>
+    <td>Create note level dynamic form Checkbox</td>
+  </tr>
+  <tr>
+    <td>z.run(paragraphId)</td>
+    <td>Run paragraph</td>
+  </tr>
+  <tr>
+    <td>z.run(noteId, paragraphId)</td>
+    <td>Run paragraph</td>
+  </tr>
+  <tr>
+    <td>z.runNote(noteId)</td>
+    <td>Run the whole note</td>
+  </tr>
+</table>
 
-<p>Use IPython magic</p>
-<div class="highlight"><pre><code class="text language-text" data-lang="text">%python.ipython
+<h2>Python environments</h2>
 
-#python help
-range?
+<h3>Default</h3>
 
-#timeit
-%timeit range(100)
-</code></pre></div>
-<p>Use matplotlib </p>
-<div class="highlight"><pre><code class="text language-text" data-lang="text">%python.ipython
+<p>By default, PythonInterpreter will use python command defined in <code>zeppelin.python</code> property to run python process.
+The interpreter can use all modules already installed (with pip, easy_install...)</p>
 
+<h3>Conda</h3>
 
-%matplotlib inline
-import matplotlib.pyplot as plt
+<p><a href="http://conda.pydata.org/">Conda</a> is an package management system and environment management system for python.
+<code>%python.conda</code> interpreter lets you change between environments.</p>
 
-print(&quot;hello world&quot;)
-data=[1,2,3,4]
-plt.figure()
-plt.plot(data)
-</code></pre></div>
-<p>We also make <code>ZeppelinContext</code> available in IPython Interpreter. You can use <code>ZeppelinContext</code> to create dynamic forms and display pandas DataFrame.</p>
+<h4>Usage</h4>
+
+<ul>
+<li><p>get the Conda Information: </p>
+<div class="highlight"><pre><code class="text language-text" data-lang="text">%python.conda info
+</code></pre></div></li>
+<li><p>list the Conda environments: </p>
+<div class="highlight"><pre><code class="text language-text" data-lang="text">%python.conda env list
+</code></pre></div></li>
+<li><p>create a conda enviornment: </p>
+<div class="highlight"><pre><code class="text language-text" data-lang="text">%python.conda create --name [ENV NAME]
+</code></pre></div></li>
+<li><p>activate an environment (python interpreter will be restarted): </p>
+<div class="highlight"><pre><code class="text language-text" data-lang="text">%python.conda activate [ENV NAME]
+</code></pre></div></li>
+<li><p>deactivate</p>
+<div class="highlight"><pre><code class="text language-text" data-lang="text">%python.conda deactivate
+</code></pre></div></li>
+<li><p>get installed package list inside the current environment</p>
+<div class="highlight"><pre><code class="text language-text" data-lang="text">%python.conda list
+</code></pre></div></li>
+<li><p>install package</p>
+<div class="highlight"><pre><code class="text language-text" data-lang="text">%python.conda install [PACKAGE NAME]
+</code></pre></div></li>
+<li><p>uninstall package</p>
+<div class="highlight"><pre><code class="text language-text" data-lang="text">%python.conda uninstall [PACKAGE NAME]
+</code></pre></div></li>
+</ul>
 
-<p>e.g.</p>
+<h3>Docker</h3>
 
-<p>Create dynamic form</p>
-<div class="highlight"><pre><code class="text language-text" data-lang="text">z.input(name=&#39;my_name&#39;, defaultValue=&#39;hello&#39;)
-</code></pre></div>
-<p>Show pandas dataframe</p>
-<div class="highlight"><pre><code class="text language-text" data-lang="text">import pandas as pd
-df = pd.DataFrame({&#39;id&#39;:[1,2,3], &#39;name&#39;:[&#39;a&#39;,&#39;b&#39;,&#39;c&#39;]})
-z.show(df)
-</code></pre></div>
-<p>By default, we would use IPython in <code>%python.python</code> if IPython is available. Otherwise it would fall back to the original Python implementation.
-If you don&#39;t want to use IPython, then you can set <code>zeppelin.python.useIPython</code> as <code>false</code> in interpreter setting.</p>
+<p><code>%python.docker</code> interpreter allows PythonInterpreter creates python process in a specified docker container.</p>
+
+<h4>Usage</h4>
+
+<ul>
+<li><p>activate an environment</p>
+<div class="highlight"><pre><code class="text language-text" data-lang="text">%python.docker activate [Repository]
+%python.docker activate [Repository:Tag]
+%python.docker activate [Image Id]
+</code></pre></div></li>
+<li><p>deactivate</p>
+<div class="highlight"><pre><code class="text language-text" data-lang="text">%python.docker deactivate
+</code></pre></div></li>
+</ul>
 
+<p><br/>
+Here is an example</p>
+<div class="highlight"><pre><code class="text language-text" data-lang="text"># activate latest tensorflow image as a python environment
+%python.docker activate gcr.io/tensorflow/tensorflow:latest
+</code></pre></div>
 <h2>Technical description</h2>
 
 <p>For in-depth technical details on current implementation please refer to <a href="https://github.com/apache/zeppelin/blob/master/python/README.md">python/README.md</a>.</p>
 
-<h3>Some features not yet implemented in the Python Interpreter</h3>
+<h2>Some features not yet implemented in the vanilla Python interpreter</h2>
 
 <ul>
-<li>Interrupt a paragraph execution (<code>cancel()</code> method) is currently only supported in Linux and MacOs. 
-If interpreter runs in another operating system (for instance MS Windows) , interrupt a paragraph will close the whole interpreter. 
+<li>Interrupt a paragraph execution (<code>cancel()</code> method) is currently only supported in Linux and MacOs.
+If interpreter runs in another operating system (for instance MS Windows) , interrupt a paragraph will close the whole interpreter.
 A JIRA ticket (<a href="https://issues.apache.org/jira/browse/ZEPPELIN-893">ZEPPELIN-893</a>) is opened to implement this feature in a next release of the interpreter.</li>
 <li>Progression bar in webUI  (<code>getProgress()</code> method) is currently not implemented.</li>
-<li>Code-completion is currently not implemented.</li>
 </ul>
 
   </div>
@@ -525,11 +655,27 @@ A JIRA ticket (<a href="https://issues.a
 
       <hr>
       <footer>
-        <!-- <p>&copy; 2019 The Apache Software Foundation</p>-->
+        <!-- <p>&copy; 2020 The Apache Software Foundation</p>-->
       </footer>
     </div>
 
-    
+
+
+
+  <script type="text/javascript">
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-45176241-5', 'zeppelin.apache.org');
+  ga('require', 'linkid', 'linkid.js');
+  ga('send', 'pageview');
+
+</script>
+
+
+
   </body>
 </html>