One class per module? Sounds like you've been programming in Java (or
C#) for too long :)
But skipping the package structure for a moment you can simplify your
use of the Timer class by changing your imports:
from engine.timer.timer import Timer
t = Timer()
OR
from engine.timer import timer
t = timer.Timer()
Ok, back to package structure. In Python putting 1 class per module
basically means you're adding an extra level of nesting beyond the
equivalent structure in languages like Java and C# that require you to
create a new file per-class.
In Java defining "engine/timer/Timer.java" you'd get an
"engine.timer.Timer" class.
As you saw in Python defining Timer in "engine/timer/timer.py" the
class is now "engine.timer.timer.Timer".
Dropping that extra level by combining the classes in engine.timer into
a single module will simplify things.
-- Matt Good