page_title: IPython
section_title: Parallel computing
hierarchical_section_title: IPython / Parallel computing
caption_attribution_description: English: Architectural view of IPython parallel machinery
context_page_description: IPython 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.
  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.
context_section_description: 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. This architecture abstracts out parallelism, enabling IPython to support many different styles of parallelism 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.
  IPython frequently draws from SciPy stack libraries like NumPy and SciPy, often installed alongside one of many Scientific Python distributions. IPython provides integration with some libraries of the SciPy stack, notably matplotlib, producing inline graphs when in 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.
caption: Architectural View of IPython's parallel machinery
exif: {}