Choose Your Anaconda IDE Adventure: Jupyter, JupyterLab, or Apache Zeppelin
As humans we are faced with multiple choices every day. Every person is different: some people prefer Firefox while others like Chrome; some people prefer Python while others like R. Here at Anaconda, we abstain from engaging in language or IDE wars, and firmly believe our users shouldn’t have to compromise their preferences. That’s why we give you all the tools you need to be productive and let you choose the tools you prefer to get your work done. Here is a quick overview of the IDEs available in Anaconda Enterprise 5.2.2.
Fun fact: Did you know that Jupyter is a play on the words Julia, Python, and R? According to Project Jupyter co-founder Matthias Bussonnier, the name also is a nod to Galileo, who described his discovery of the Moons of Jupiter in his astronomical notebooks.
We at Anaconda are big fans of the Jupyter Notebook, an open-source, web-based IDE with deep cross-language integration that allows you to create and share documents containing live code, equations, visualizations, and narrative text. Data scientists and engineers love using Jupyter for data cleaning and transformation, statistical modeling, visualization, machine learning, deep learning, and much more. Jupyter Notebook’s format (ipynb) has become an industry standard and can be rendered in multiple IDEs, GitHub, and other places.
Jupyter has support for over 40 programming languages, including Python, R, Julia, and Scala. Notebooks can be shared easily with others, and your code can produce rich, interactive output, including HTML, images, videos, and custom MIME types. It allows you to leverage big data tools such as Spark and explore that same data with pandas, scikit-learn, TensorFlow, and ggplot2.
Jupyter has become an important part of the workflow for data scientists to process, analyze, and manipulate their data and draw insights from it in a pleasant and effective way. The open and standardized Jupyter notebook file format is designed to capture, display, and share natural language, code, and results in a self-contained and powerful computational narrative.
The latest project from the Jupyter team has been heralded as the next generation web-based interface for Project Jupyter, as it offers data scientists an innovative, customizable, and flexible environment for data science. JupyterLab puts together most of the instruments a data scientist needs, allowing window docking/combination and dynamic dashboard creation on demand.
JupyterLab is an interactive development environment for working with multiple notebooks in the same window, code editor, shells for multiple languages, data file viewers, terminals, and other custom dynamic components, and offers full support for Jupyter notebooks. It uses the same Jupyter Notebooks file format and Jupyter kernels, so all the notebooks you write in the classic Jupyter Notebook are fully compatible with JupyterLab.
When we introduced the newest version of our AI enablement platform Anaconda Enterprise last month, one of the biggest new benefits we were excited to announce is the addition of Apache Zeppelin notebooks. Like the Jupyter IDEs, Apache Zeppelin is an open-source, web-based IDE that supports interactive data ingestion, discovery, analytics, visualization, and collaboration, and also supports multiple languages.
Interactive browser-based notebooks enable data scientists to be more productive by developing, organizing, executing, and sharing data code and visualizing results without referring to the command line or needing the cluster details. Apache Zeppelin is integrated with distributed, general-purpose data processing systems, including Apache Spark for large-scale data processing and Apache Flink for stream processing. The notebook allows you to make beautiful, data-driven, interactive documents with Python, R, Scala, or SQL right in your browser.
Zeppelin includes support for more than 20 interpreters for data ingestion, discovery, and visualization, and is popular with data scientists and engineers and those running database queries on Spark/Hive and JDBC data sources.
Anaconda Gives You the Freedom to Choose
Apache Zeppelin joins Anaconda Enterprise’s existing support for Jupyter and JupyterLab IDEs, giving our users the flexibility and freedom to use their preferred IDE. Zeppelin also is fully integrated into Anaconda Enterprise’s source code control extensions, so that your work is easily checked in and you can safely collaborate without corrupting each others’ work.
So tell us, readers: Which IDE do you prefer? Are you a Jupyter fan? Or do you do a lot of Spark work on Zeppelin? Share with us on Twitter what IDEs you like to use and what you want to see next from Anaconda!