title: Can I make a Python Module __init__.py callable?
body: <p>The documentation for <code>__init__.py</code> is quite hard to find. I can't find a place that explains all the things you can do in this file. The Python module documentation barely even mentions <code>__init__.py</code> nor that you can use <code>__all__</code> for <code>from module import *</code></p>
  
  <p>What I want is for my module to be callable like:</p>
  
  <p>main.py</p>
  
  <pre><code>import module
  
  module()
  </code></pre>
  
  <p>module/__ init __.py</p>
  
  <pre><code>def __call__(self):    # self here cause modules are loaded as objects?
      print 'callable'
  </code></pre>