Jupyter supports over 40 programming languages, including Python, R, Julia, and Scala.
Notebooks can be shared with others using email, Dropbox, GitHub and the Jupyter Notebook Viewer.
Your code can produce rich, interactive output: HTML, images, videos, LaTeX, and custom MIME types.
Leverage big data tools, such as Apache Spark, from Python, R and Scala. Explore that same data with pandas, scikit-learn, ggplot2, TensorFlow.
A multi-user version of the notebook designed for companies, classrooms and research labs
Manage users and authentication with PAM, OAuth or integrate with your own directory service system.
Deploy the Jupyter Notebook to thousands of users in your organization on centralized infrastructure on- or off-site.
Use Docker and Kubernetes to scale your deployment, isolate user processes, and simplify software installation.
Deploy the Notebook next to your data to provide unified software management and data access within your organization.
Jupyter Notebooks are an open document format based on JSON. They contain a complete record of the user's sessions and include code, narrative text, equations and rich output.
The Notebook communicates with computational Kernels using the Interactive Computing Protocol, an open network protocol based on JSON data over ZMQ and WebSockets.
Kernels are processes that run interactive code in a particular programming language and return output to the user. Kernels also respond to tab completion and introspection requests.