title: One class per file causes double names in python
body: <p>So I have a small project of my own in Python which I want to regularly use. It is, at the moment, composed of two classes, let's call them class <code>Aclass</code> and <code>Bclass</code>.</p>
  
  <p>The amount of code in both classes combined is large. So large that I do not want to <em>have</em> to have them in one file, so I create one file for each. I put the first into the file <code>aclass.py</code>, the second into <code>bclass.py</code> so my structure now looks something like this:</p>
  
  <pre><code>my_project/
    aclass.py
    bclass.py
    __init__.py
  </code></pre>
  
  <p>What I want is to be able to call my project from python and have the classes ready, like so:</p>
  
  <pre><code>import my_project
  a_instance = my_project.Aclass()
  b_instance = my_project.Bclass()
  </code></pre>
  
  <p>At the moment, what I have to do is</p>
  
  <pre><code>import my_project
  a_instance = my_project.aclass.Aclass()
  </code></pre>
  
  <p>Which, if you ask me, is redundant. In the question:</p>
  
  <p><a href="https://stackoverflow.com/questions/19010969/avoid-double-typing-class-names-in-python">Avoid double typing class names in python</a></p>
  
  <p>I saw an advice to put </p>
  
  <pre><code>from aclass import Aclass
  from bclass import Bclass
  </code></pre>
  
  <p>into the <code>__init__.py</code> file, but this causes confusion, because if I do that, I can create an instance of my class either by writing </p>
  
  <pre><code>import my_project
  a_instance = my_project.Aclass()
  </code></pre>
  
  <p>or by writing </p>
  
  <pre><code>import my_project
  a_instance = my_project.aclass.Aclass()
  </code></pre>
  
  <p>I find this solution ugly, because not only does it "double" the functions (creating both <code>aclass.Aclass()</code> and <code>Aclass()</code>, but it also means that any instance of the class Aclass will now be, in Python's eyes, </p>
  
  <pre><code>&lt;class my_project.aclass.Aclass at ******************&gt;
  </code></pre>
  
  <p>instead of </p>
  
  <pre><code>&lt;class my_project.Aclass at ******************&gt;
  </code></pre>
  
  <h2>which it is in the natural project structure.</h2>
  
  <p>Thus, my question is this:</p>
  
  <p>Is there a solution to my problem in which <code>Aclass</code> will be located directly inside the <code>my_project</code> package without writing the class into the <code>__init__</code> file?</p>