IPython provides a rich architecture for interactive computing with:
- A powerful interactive shell.
- A kernel for Jupyter.
- 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.
To get started with IPython in the Jupyter 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 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.
Jupyter and the future of IPython¶
IPython is a growing project, with increasingly language-agnostic components. IPython 3.x was the last monolithic release of IPython, containing the notebook server, qtconsole, etc. As of IPython 4.0, the language-agnostic parts of the project: the notebook format, message protocol, qtconsole, notebook web application, etc. have moved to new projects under the name Jupyter. IPython itself is focused on interactive Python, part of which is providing a Python kernel for Jupyter.
Announcements¶
- IPython 7.5: fixes to issues brought by 7.4, documentation changes and other minor updates (April 25, 2019)
- IPython 7.4: improvements to the completion system and miscellaneous fixes (March 21, 2019)
- IPython 7.3: several bugfixes, minor improvements and Python 3.8 support (February 18, 2019)
- IPython 7.2: minor bugfixes, improvements, and new configuration options (November 29, 2018)
- IPython 7.1: fixes to new features, internal refactoring, and fixes for regressions (October 27, 2018)
- IPython 7.0: major new features (September 27th, 2018). See the release notes for more information about what’s new.
- IPython 6.5: minor bugfixes and Python 3.7 compatibility (July 28, 2018)
- IPython 5.8: minor bugfixes (July 28, 2018)
- IPython 6.4 and IPython 5.7: minor bugfixes (May 10, 2018)
- IPython 6.3 and IPython 5.6: new features and bugfixes (April 2, 2018)
- IPython 6.0: This release, the first to require Python 3, integrates the Jedi library for completion. See the release notes for more information about what’s new.
- JupyterCon 2017: The first Jupyter Community Conference will take place in New York City on August 23-25 2017, along with a satellite training program on August 22-23. The Project Jupyter team has partnered with O’Reilly Media for this event; for more details, including submitting a talk, see the JupyterCon website.
- IPython 5.0: The release of IPython 5.0 brings a major revision of the
terminal interface, including syntax highlighting as you type and better
multiline editing, thanks to the
prompt_toolkit
library. See the release notes for more about the new features. - Book: Cyrille Rossant has published the second edition of the IPython minibook: Learning IPython for Interactive Computing and Data Visualization, for which Damian Avila was a technical reviewer. We thank Packt Publishing for donating a portion of the proceeds from this book to support IPython’s development.
- 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.
Citing IPython¶
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.