code: def wrap_paragraphs(text, ncols=80):
      """Wrap multiple paragraphs to fit a specified width.
  
      This is equivalent to textwrap.wrap, but with support for multiple
      paragraphs, as separated by empty lines.
  
      Returns
      -------
  
      list of complete paragraphs, wrapped to fill `ncols` columns.
      """
      paragraph_re = re.compile(r"\n(\s*\n)+", re.MULTILINE)
      text = dedent(text).strip()
      paragraphs = paragraph_re.split(text)[
          ::2
      ]  # every other entry is space
      out_ps = []
      indent_re = re.compile(r"\n\s+", re.MULTILINE)
      for p in paragraphs:
          # presume indentation that survives dedent is meaningful formatting,
          # so don't fill unless text is flush.
          if indent_re.search(p) is None:
              # wrap paragraph
              p = textwrap.fill(p, ncols)
          out_ps.append(p)
      return out_ps
  
imports: from __future__ import absolute_import
  import os
  import re
  import sys
  import textwrap
  from string import Formatter
  from IPython.testing.skipdoctest import skip_doctest_py3, skip_doctest
  from IPython.utils import py3compat
label_desc: Use image node_id 7 for calling a global function with example usage: wrap_paragraphs(text, ncols) and returns: out_ps