title: Creating a __version__ attribute for python packages without getting into trouble
body: <p>After reading the python documentation (<a href="http://www.python.org/dev/peps/pep-0396/">http://www.python.org/dev/peps/pep-0396/</a>) I was more confused than before about how to set the <code>__version__</code> attribute for packages appropriately. It is mentioned to put them into the <code>setup.py</code> file, which kind of confuses me: it would not be available as <code>my_package.__version__</code>, would it?</p>
  
  <p>I ended up to import the version attribute from a separate file.</p>
  
  <p>So my "version" file usually is </p>
  
  <pre><code>my_package/
      __init__.py
      my_module1/
          ...
      my_module2/
          ...
      my_module3/
          ...
      info/
          __init__.py
          version.py
              __version__ = '0.1.0'
  </code></pre>
  
  <p>and in the uppermost <code>__init__.py</code> I import the <code>__version__</code> attribute 
  from <code>info.version</code> :</p>
  
  <p><code>import __version__</code></p>
  
  <p>so that one can get version number via</p>
  
  <pre><code>my_package.__version__
  </code></pre>
  
  <p>I am just wondering if this is a "okay" approach, and if something speaks against doing it like this? I am looking forward to your opinions and suggestions!</p>