IPython provides a rich architecture for interactive computing with:
- Powerful interactive shells (terminal and Qt-based).
- A browser-based notebook with support for code, text, mathematical expressions, inline plots and other rich media.
- Support for interactive data visualization and use of GUI toolkits.
- Flexible, embeddable interpreters to load into your own projects.
- Easy to use, high performance tools for parallel computing.
While the focus of the project is Python, our architecture is designed in a language-agnostic way to facilitate interactive computing in any language. An interactive kernel speaks to clients such as the terminal or web notebook via a well-specified protocol, and all features of a kernel are available to all clients. We ship the official IPython kernel, but kernels for other languages such as Julia and Haskell are actively developed and used. Additionally, the IPython kernel supports multi-language integration, letting you for example mix Python code with Cython, R, Octave, and scripting in Bash, Perl or Ruby.
To get started with the IPython Notebook, see our official example collection. Our notebook gallery is an excellent way to see the many things you can do with IPython while learning about a variety of topics, from basic programming to advanced statistics or quantum mechanics.
To learn more about IPython, you can watch our videos and screencasts, download our talks and presentations, or read our extensive documentation. IPython is open source (BSD license), and is used by a range of other projects; add your project to that list if it uses IPython as a library, and please don’t forget to cite the project.
IPython supports Python 2.7 and 3.3 or newer. Our older 1.x series supports Python 2.6 and 3.2.
- Book: Cyrille Rossant has published the IPython Interactive Computing and Visualization Cookbook, an advanced-level guide to IPython for data science, and the sequel of his previous book on IPython. We thank Packt Publishing for donating a portion of the proceeds from this book to support IPython’s development.
- IPython 2.3: A security and bugfix release for IPython 2.x, released 1st October 2014.
- IPython 2.0: We are proud to announce the availability of IPython 2.0, a major new release including HTML widgets and multi-directory navigation. Install it now, or read about the changes in the release notes.
- O’Reilly Book: Mining the Social Web is an open source data science project and book that features nearly 130 examples with IPython Notebook and a Vagrant-powered virtual machine environment. You can preview all of the example notebooks from its GitHub repository on IPython’s Notebook Viewer here.
- Microsoft donates $100,000 to IPython: in August 2013, Microsoft contributed $100,000 to support the continued development of IPython.
- Book: Cyrille Rossant has published the first IPython-focused book: Learning IPython for Interactive Computing and Data Visualization, for which Matthias Bussonnier was a technical reviewer. We thank Packt Publishing for donating a portion of the proceeds from this book to support IPython’s development.
- FSF Award: Fernando Perez was awarded the 2012 Award for the Advancement of Free Software for the creation of IPython and his work in the Scientific Python community. More details.
- Roadmap to 1.0 and beyond: IPython 1.0 is coming mid-July 2013. See the grant which is funding the bulk of the work, as well as our roadmap for achieving the grant’s objectives. Read on for more details.
- Sloan Foundation grant: IPython has been awarded a $1.15 million grant from the Alfred P. Sloan Foundation. This will support several core developers, allowing them to focus on building the IPython Notebook into a tool for open, collaborative, reproducible scientific computing. We’ll also be bringing developers together for two sprints each year in California. See more details.
Several of the authors of IPython are connected with academic and scientific research, so it is important for us to be able to show the impact of our work in other projects and fields.
If IPython contributes to a project that leads to a scientific publication, please acknowledge this fact by citing the project. You can use this ready-made citation entry.