title: having multiples clasess in a module in a package in Python?
body: <p>I'm having trouble understanding packages in Python. In particular, is it possible to have multiple classes in a module in a package in Python. For example:</p>
  
  <pre><code>Kitchen/            Top-level package
      __init__.py     Initialize the package kitchen
      Fridge.py       module Fridge.py
          Food        This is a class in module Fridge
          Temperature This is another class in module Fridge
      Recipe.py
          BeefStake   This is a class in module Recipe.py
  </code></pre>
  
  <p>In the <code>__init__.py</code>, the code will be:</p>
  
  <pre><code>from Fridge import Food, Temperature
  from Recipe import BeefStake
  __all__ = ['Fridge', 'Recipe']
  </code></pre>
  
  <p>Then I would create an instance of the Temperature class by</p>
  
  <pre><code>from Kitchen import *
  f = Food()
  T = Temperature()
  </code></pre>
  
  <p>I tried this, and only making <code>f = Food()</code> works. The other one showed up an error, something like <code>NameError: name 'Temperature' is not defined</code></p>
  
  <p>If anyone knows if it is possible to have 2 classes like this in a module in a package in Python. If so, what could be the problem in this approach?</p>