fbpx
Wikipedia

IPython

IPython (Interactive Python) is a command shell for interactive computing in multiple programming languages, originally developed for the Python programming language, that offers introspection, rich media, shell syntax, tab completion, and history. IPython provides the following features:

  • Interactive shells (terminal and Qt-based).
  • A browser-based notebook interface with support for code, text, mathematical expressions, inline plots and other media.
  • Support for interactive data visualization and use of GUI toolkits.
  • Flexible, embeddable interpreters to load into one's own projects.
  • Tools for parallel computing.
IPython
IPython Shell
Original author(s)Fernando Perez[1]
Developer(s)Brian E. Granger, Min Ragan-Kelley, Paul Ivanov, Thomas Kluyver, Matthias Bussonnier
Initial release2001; 22 years ago (2001)[1]
Stable release
8.3.0[2]  / 29 April 2022; 8 months ago (29 April 2022)
Repository
  • github.com/ipython/ipython
Written inPython, JavaScript, CSS, HTML
Operating systemCross-platform
TypeShell
LicenseBSD
Websiteipython.org 

IPython is a NumFOCUS fiscally sponsored project.[3]

Parallel computing

 
Architectural View of IPython's parallel machinery

IPython is based on an architecture that provides parallel and distributed computing. IPython enables parallel applications to be developed, executed, debugged and monitored interactively, hence the I (Interactive) in IPython.[4] This architecture abstracts out parallelism, enabling IPython to support many different styles of parallelism[5] including:

  • Single program, multiple data (SPMD) parallelism
  • Multiple program, multiple data (MPMD) parallelism
  • Message passing using MPI
  • Task parallelism
  • Data parallelism
  • Combinations of these approaches
  • Custom user defined approaches

With the release of IPython 4.0, the parallel computing capabilities were made optional and released under the ipyparallel python package. And most of the capabilities of ipyparallel are now covered by more mature libraries like Dask.

IPython frequently draws from SciPy stack[6] libraries like NumPy and SciPy, often installed alongside one of many Scientific Python distributions.[6] IPython provides integration with some libraries of the SciPy stack, notably matplotlib, producing inline graphs when used with the Jupyter notebook. Python libraries can implement IPython specific hooks to customize rich object display. SymPy for example implements rendering of mathematical expressions as rendered LaTeX when used within IPython context, and Pandas dataframe use an HTML representation.[7]

Other features

IPython allows non-blocking interaction with Tkinter, PyGTK, PyQt/PySide and wxPython (the standard Python shell only allows interaction with Tkinter). IPython can interactively manage parallel computing clusters using asynchronous status callbacks and/or MPI. IPython can also be used as a system shell replacement.[8] Its default behavior is largely similar to Unix shells, but it allows customization and the flexibility of executing code in a live Python environment.

End of Python 2 support

IPython 5.x (Long Time Support) series is the last version of IPython to support Python 2. The IPython project pledged to not support Python 2 beyond 2020[9] by being one of the first projects to join the Python 3 Statement, the 6.x series is only compatible with Python 3 and above. It is still possible though to run an IPython kernel and a Jupyter Notebook server on different Python versions allowing users to still access Python 2 on newer version of Jupyter.

Project Jupyter

 
Old IPython Notebook interface

In 2014, Fernando Pérez announced a spin-off project from IPython called Project Jupyter.[10] IPython continued to exist as a Python shell and kernel for Jupyter, but the notebook interface and other language-agnostic parts of IPython were moved under the Jupyter name.[11][12] Jupyter is language agnostic and its name is a reference to core programming languages supported by Jupyter, which are Julia, Python, and R.[13]

Jupyter Notebook (formerly IPython Notebook) is a web-based interactive computational environment for creating, executing, and visualizing Jupyter notebooks. It is similar to the notebook interface of other programs such as Maple, Mathematica, and SageMath, a computational interface style that originated with Mathematica in the 1980s.[14] It supports execution environments (aka kernels) in dozens of languages. By default Jupyter Notebook ships with the IPython kernel, but there are over 100 Jupyter kernels as of May 2018.

In the media

IPython has been mentioned in the popular computing press and other popular media,[15][14] and it has a presence at scientific conferences.[16] For scientific and engineering work, it is often presented as a companion tool to matplotlib.[17]

Grants and awards

Beginning 1 January 2013, the Alfred P. Sloan Foundation announced that it would support IPython development for two years.[18]

On 23 March 2013, Fernando Perez was awarded the Free Software Foundation Advancement of Free Software award for IPython.

In August 2013, Microsoft made a donation of $100,000 to sponsor IPython's continued development.[19]

In January 2014, it won the Jolt Productivity Award[20] from Dr. Dobb's in the category of coding tools. In July 2015, the project won a funding of $6 million from Gordon and Betty Moore Foundation, Alfred P. Sloan Foundation and Leona M. and Harry B. Helmsley Charitable Trust.[21]

In May 2018, it was awarded the 2017 ACM Software System Award.[22] It is the largest team to have won the award.[23]

See also

References

  1. ^ a b "The IPython notebook: a historical retrospective". Fernando Perez Blog. 8 January 2012.
  2. ^ https://pypi.org/project/ipython/8.3.0/; retrieved: 22 May 2022.
  3. ^ "NumFOCUS Sponsored Projects". NumFOCUS. Retrieved 25 October 2021.
  4. ^ Helen, Shen (2014). "Interactive notebooks: Sharing the code". Nature. 515 (7525): 151–152. Bibcode:2014Natur.515..151S. doi:10.1038/515151a. PMID 25373681.
  5. ^ "Using IPython for Parallel computing - IPython docs".
  6. ^ a b "SciPy Stack".
  7. ^ "Printing — SymPy 1.1 documentation". docs.sympy.org. Retrieved 11 April 2018.
  8. ^ McKinney, Wes (2012). "Chapter 3". Python for Data Analysis. ISBN 978-1-449-31979-3.
  9. ^ "Release of IPython 5.0 – Jupyter Blog". Jupyter Blog. 8 July 2016. Retrieved 11 April 2018.
  10. ^ "Project Jupyter // Speaker Deck".
  11. ^ "The Notebook, Qt console and a number of other pieces are now parts of Jupyter". 17 October 2021.
  12. ^ "The Big Split™". 28 August 2017.
  13. ^ "Jupyter Logo · jupyter/Design Wiki".
  14. ^ a b Somers, James. "The Scientific Paper Is Obsolete". The Atlantic. Retrieved 10 April 2018.
  15. ^ Koziol, Conrad (12 September 2005). . NewsForge. Archived from the original on 7 June 2012. Retrieved 14 June 2012.
  16. ^ "IPython Presentations".
  17. ^ Pérez, Fernando; Granger, Brian E. (2007). (PDF). Computing in Science & Engineering. 9 (3): 21–29. Bibcode:2007CSE.....9c..21P. doi:10.1109/MCSE.2007.53. S2CID 16637923. Archived from the original (PDF) on 2 June 2010. Retrieved 30 July 2015.
  18. ^ . Archived from the original on 5 March 2016. Retrieved 12 December 2012.
  19. ^ "IPython Announcement".
  20. ^ "Jolt Productivity Award write-up in Dr. Dobb's".
  21. ^ "$6M for UC Berkeley and Cal Poly to expand and enhance open-source software for scientific computing and data science". Retrieved 13 August 2015.
  22. ^ "Recent Software System Award News".
  23. ^ "Jupyter receives the ACM Software System Award".

External links

  • Official website  
  • Inline graphs
  • Project Jupyter

ipython, implementation, python, under, framework, ironpython, interactive, python, command, shell, interactive, computing, multiple, programming, languages, originally, developed, python, programming, language, that, offers, introspection, rich, media, shell,. For the implementation of Python under the NET Framework see IronPython IPython Interactive Python is a command shell for interactive computing in multiple programming languages originally developed for the Python programming language that offers introspection rich media shell syntax tab completion and history IPython provides the following features Interactive shells terminal and Qt based A browser based notebook interface with support for code text mathematical expressions inline plots and other media Support for interactive data visualization and use of GUI toolkits Flexible embeddable interpreters to load into one s own projects Tools for parallel computing IPythonIPython ShellOriginal author s Fernando Perez 1 Developer s Brian E Granger Min Ragan Kelley Paul Ivanov Thomas Kluyver Matthias BussonnierInitial release2001 22 years ago 2001 1 Stable release8 3 0 2 29 April 2022 8 months ago 29 April 2022 Repositorygithub wbr com wbr ipython wbr ipythonWritten inPython JavaScript CSS HTMLOperating systemCross platformTypeShellLicenseBSDWebsiteipython wbr org IPython is a NumFOCUS fiscally sponsored project 3 Contents 1 Parallel computing 2 Other features 3 End of Python 2 support 4 Project Jupyter 5 In the media 6 Grants and awards 7 See also 8 References 9 External linksParallel computing Edit Architectural View of IPython s parallel machinery IPython is based on an architecture that provides parallel and distributed computing IPython enables parallel applications to be developed executed debugged and monitored interactively hence the I Interactive in IPython 4 This architecture abstracts out parallelism enabling IPython to support many different styles of parallelism 5 including Single program multiple data SPMD parallelism Multiple program multiple data MPMD parallelism Message passing using MPI Task parallelism Data parallelism Combinations of these approaches Custom user defined approachesWith the release of IPython 4 0 the parallel computing capabilities were made optional and released under the ipyparallel python package And most of the capabilities of ipyparallel are now covered by more mature libraries like Dask IPython frequently draws from SciPy stack 6 libraries like NumPy and SciPy often installed alongside one of many Scientific Python distributions 6 IPython provides integration with some libraries of the SciPy stack notably matplotlib producing inline graphs when used with the Jupyter notebook Python libraries can implement IPython specific hooks to customize rich object display SymPy for example implements rendering of mathematical expressions as rendered LaTeX when used within IPython context and Pandas dataframe use an HTML representation 7 Other features EditIPython allows non blocking interaction with Tkinter PyGTK PyQt PySide and wxPython the standard Python shell only allows interaction with Tkinter IPython can interactively manage parallel computing clusters using asynchronous status callbacks and or MPI IPython can also be used as a system shell replacement 8 Its default behavior is largely similar to Unix shells but it allows customization and the flexibility of executing code in a live Python environment End of Python 2 support EditIPython 5 x Long Time Support series is the last version of IPython to support Python 2 The IPython project pledged to not support Python 2 beyond 2020 9 by being one of the first projects to join the Python 3 Statement the 6 x series is only compatible with Python 3 and above It is still possible though to run an IPython kernel and a Jupyter Notebook server on different Python versions allowing users to still access Python 2 on newer version of Jupyter Project Jupyter EditMain article Jupyter This section may rely excessively on sources too closely associated with the subject potentially preventing the article from being verifiable and neutral Please help improve it by replacing them with more appropriate citations to reliable independent third party sources October 2016 Learn how and when to remove this template message Old IPython Notebook interface In 2014 Fernando Perez announced a spin off project from IPython called Project Jupyter 10 IPython continued to exist as a Python shell and kernel for Jupyter but the notebook interface and other language agnostic parts of IPython were moved under the Jupyter name 11 12 Jupyter is language agnostic and its name is a reference to core programming languages supported by Jupyter which are Julia Python and R 13 Jupyter Notebook formerly IPython Notebook is a web based interactive computational environment for creating executing and visualizing Jupyter notebooks It is similar to the notebook interface of other programs such as Maple Mathematica and SageMath a computational interface style that originated with Mathematica in the 1980s 14 It supports execution environments aka kernels in dozens of languages By default Jupyter Notebook ships with the IPython kernel but there are over 100 Jupyter kernels as of May 2018 In the media EditIPython has been mentioned in the popular computing press and other popular media 15 14 and it has a presence at scientific conferences 16 For scientific and engineering work it is often presented as a companion tool to matplotlib 17 Grants and awards EditBeginning 1 January 2013 the Alfred P Sloan Foundation announced that it would support IPython development for two years 18 On 23 March 2013 Fernando Perez was awarded the Free Software Foundation Advancement of Free Software award for IPython In August 2013 Microsoft made a donation of 100 000 to sponsor IPython s continued development 19 In January 2014 it won the Jolt Productivity Award 20 from Dr Dobb s in the category of coding tools In July 2015 the project won a funding of 6 million from Gordon and Betty Moore Foundation Alfred P Sloan Foundation and Leona M and Harry B Helmsley Charitable Trust 21 In May 2018 it was awarded the 2017 ACM Software System Award 22 It is the largest team to have won the award 23 See also Edit Free and open source software portal Computer programming portalPython programming language Electronic lab notebook SageMath Project JupyterReferences Edit a b The IPython notebook a historical retrospective Fernando Perez Blog 8 January 2012 https pypi org project ipython 8 3 0 retrieved 22 May 2022 NumFOCUS Sponsored Projects NumFOCUS Retrieved 25 October 2021 Helen Shen 2014 Interactive notebooks Sharing the code Nature 515 7525 151 152 Bibcode 2014Natur 515 151S doi 10 1038 515151a PMID 25373681 Using IPython for Parallel computing IPython docs a b SciPy Stack Printing SymPy 1 1 documentation docs sympy org Retrieved 11 April 2018 McKinney Wes 2012 Chapter 3 Python for Data Analysis ISBN 978 1 449 31979 3 Release of IPython 5 0 Jupyter Blog Jupyter Blog 8 July 2016 Retrieved 11 April 2018 Project Jupyter Speaker Deck The Notebook Qt console and a number of other pieces are now parts of Jupyter 17 October 2021 The Big Split 28 August 2017 Jupyter Logo jupyter Design Wiki a b Somers James The Scientific Paper Is Obsolete The Atlantic Retrieved 10 April 2018 Koziol Conrad 12 September 2005 Introducing IPython NewsForge Archived from the original on 7 June 2012 Retrieved 14 June 2012 IPython Presentations Perez Fernando Granger Brian E 2007 IPython A System for Interactive Scientific Computing PDF Computing in Science amp Engineering 9 3 21 29 Bibcode 2007CSE 9c 21P doi 10 1109 MCSE 2007 53 S2CID 16637923 Archived from the original PDF on 2 June 2010 Retrieved 30 July 2015 Announcement in scipy mailing list Archived from the original on 5 March 2016 Retrieved 12 December 2012 IPython Announcement Jolt Productivity Award write up in Dr Dobb s 6M for UC Berkeley and Cal Poly to expand and enhance open source software for scientific computing and data science Retrieved 13 August 2015 Recent Software System Award News Jupyter receives the ACM Software System Award External links EditOfficial website Inline graphs Project Jupyter Retrieved from https en wikipedia org w index php title IPython amp oldid 1133784016, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.