title: How can I display argparse help information for parameters in argument subgroups?
body: <p><strong>I'm putting together an <code>argparse</code> parser where I want to have multiple levels of sub-grouping:</strong></p>
  
  <pre><code>Parser
  |
  |- Option A
  |- Option B
  |- Group 1
  |  |- Option 1.A
  |  |- Subgroup 1.2
  |     |- Mutually-Exclusive Group 1.2.1
  |     |  |- MEG Option 1.2.1.A
  |     |  |- MEG Option 1.2.1.B
  |     |- Mutually-Exclusive Group 1.2.2
  |     | ...
  |- Group 2
  | ...
  </code></pre>
  
  <p><strong>I've got it coded like the following, presently:</strong></p>
  
  <pre><code># Core parser
  prs = ap.ArgumentParser(...)
  
  # Compression and decompression groups
  gp_comp = prs.add_argument_group(title="compression options")
  gp_decomp = prs.add_argument_group(title="decompression options")
  
  # Thresholding subgroup within compression
  gp_thresh = gp_comp.add_argument_group(title="thresholding options")
  
  # Mutually exclusive subgroups for the compression operation
  meg_threshmode = gp_thresh.add_mutually_exclusive_group()
  #meg_threshvals = gp_thresh.add_mutually_exclusive_group() # Nothing added yet 
  
  # Argument for the filename (core parser)
  prs.add_argument('path', ...)
  
  # Argument to delete the source file; default is to keep (core)
  prs.add_argument('-d', '--delete', ...)
  
  # gzip compression level (compress)
  gp_comp.add_argument('-c', '--compress', ...)
  
  # gzip truncation level (compress)
  gp_comp.add_argument('-t', '--truncate', ...)
  
  # Absolute thresholding mode (compress -- threshold)
  meg_threshmode.add_argument('-a', '--absolute', ...)
  
  # Signed thresholding mode (compress -- threshold)
  meg_threshmode.add_argument('-s', '--signed', ...)
  
  # Data block output precision (decompress)
  gp_decomp.add_argument('-p', '--precision', ...)
  </code></pre>
  
  <p><strong>When I call my script with <code>--help</code>, I get the following:</strong></p>
  
  <pre><code>usage: h5cube.py [-h] [-d] [-c #] [-t #] [-a | -s] [-p #] path
  
  Gaussian CUBE (de)compression via h5py
  
  positional arguments:
    path                 path to .(h5)cube file to be (de)compressed
  
  optional arguments:
    -h, --help           show this help message and exit
    -d, --delete         delete the source file after (de)compression
  
  compression options:
    -c #, --compress #   gzip compression level for volumetric data (0-9,
                         default 9)
    -t #, --truncate #   gzip truncation width for volumetric data (1-15,
                         default 5)
  
  decompression options:
    -p #, --precision #  volumetric data block output precision (0-15, default
                         5)
  </code></pre>
  
  <p><strong>The help content for all of the 'group-level' parameters shows up just fine.</strong> However, the help for my sub-sub-group parameters <code>-a</code> and <code>-s</code> is missing. The options <em>are</em> being parsed, because it shows <code>[-a | -s]</code> in the signature, but their help isn't being displayed.</p>
  
  <p>Relocating <code>-a</code> and <code>-s</code> from their mutually-exclusive group up to <code>gp_thresh</code> doesn't help. The only difference is (naturally) that <code>-a</code> and <code>-s</code>show up separately in the signature:</p>
  
  <pre><code>usage: h5cube.py [-h] [-d] [-c #] [-t #] [-a] [-s] [-p #] path
  </code></pre>
  
  <p><strong>How can I make the help content display for <code>-a</code> and <code>-s</code>?</strong> I've looked through the whole of the <a href="https://docs.python.org/3/library/argparse.html" rel="nofollow"><code>argparse</code> help</a>, but haven't found anything that looks like a 'display depth' setting or whatever.  Would it work to set up sub-parsers? That seems like overkill, though....</p>
  
  <p>This is Python 3.5.1 on Windows 7 64-bit. The code in this state is <a href="https://github.com/bskinn/h5cube/tree/93fdad1e294622529a9810cf7a8b285632dab1f2" rel="nofollow">here</a> at my GitHub repo.</p>