title: Import * include submodules
body: <p>I have a directory structure that looks like this:</p>
  
  <pre><code>scripts/
      __init__.py
      filepaths.py
      Run.py
      domains/
          __init__.py
          topspin.py
          tiles.py
          hanoi.py
          grid.py
  </code></pre>
  
  <p>I would like to say:</p>
  
  <pre><code>from scripts import *
  </code></pre>
  
  <p>and get the stuff that is in filepaths.py but also get the things that are in hanoi.py</p>
  
  <p>The outer <code>__init__.py</code> contains:</p>
  
  <pre><code>__all__ = ['filepaths','Run','domains','hanoi']
  </code></pre>
  
  <p>I can't figure out how to get the inner files to be included in that list.  Putting hanoi by itself gets this error:</p>
  
  <pre><code>Traceback (most recent call last):
    File "&lt;stdin&gt;", line 1, in &lt;module&gt;
  AttributeError: 'module' object has no attribute 'hanoi'
  </code></pre>
  
  <p>Putting domains.hanoi gets this error message:</p>
  
  <pre><code>Traceback (most recent call last):
    File "&lt;stdin&gt;", line 1, in &lt;module&gt;
  AttributeError: 'module' object has no attribute 'domains.hanoi'
  </code></pre>
  
  <p>The last reasonable guess I could come up with is putting scripts.domains.hanoi which gets this error message:</p>
  
  <pre><code>Traceback (most recent call last):
    File "&lt;stdin&gt;", line 1, in &lt;module&gt;
  AttributeError: 'module' object has no attribute 'scripts.domains.hanoi'
  </code></pre>
  
  <p>How do you get the all list to include things that are in subdirectories?</p>