IPython Notebook (.ipynb) is a JSON-based file format used for creating and sharing interactive computational documents. Developed by Project Jupyter, it combines live code, equations, visualizations, and narrative text in a single document. Each notebook consists of cells that can contain code (Python, R, Julia), markdown text, mathematical equations, and rich media outputs, enabling reproducible and interactive data science workflows.
Supports multiple programming languages, enables interactive code execution, allows inline visualization, facilitates easy sharing and collaboration, integrates with version control systems, supports rich media embedding, and provides a comprehensive environment for computational storytelling.
Large file sizes with complex notebooks, potential security risks when sharing notebooks with embedded code, performance limitations with very large datasets, compatibility challenges across different Jupyter versions, and potential rendering inconsistencies between different notebook platforms.
Widely used in data science, scientific computing, machine learning, and academic research. Researchers and developers use IPython Notebooks for exploratory data analysis, creating interactive tutorials, documenting research processes, sharing computational narratives, developing and testing machine learning models, and creating executable programming demonstrations across multiple disciplines.