A package is a directory with a __init__.py
in it. The difference from a directory is that you can import it.
There isn't a "Python way" per se, but you'll find that it's a good idea to put all your modules in one package with a name related to the project.
Also, to follow the Python style guide, PEP8, the package and module names should be all lowercase. So, if we assume the project is called "Botond Statistics" your structure would be something like this:
botondstats/
indicators/
moving_averages.py
stochastics.py
strategies/
moving_averages_cross.py
example.py
You would then find the Stochastics class by doing
from botondstats.indicators.stochastics.Stochastics
(There are various ways to keep the structure but make imports shorter, but that's another question).
You can put this structure under src/
if you want to, but it's not necessary. I never do.
Instead I have a main directory:
BotondStatistics/
docs/
botonstats/ # the above structure
setup.py # Distutils/distribute configuration for packaging.
In this directory I also typically have a virtualenv so I actually also have bin/ lib/ et al. Development is typically done by running
./bin/python setup.py tests
As I use the Distrubute test runner to run the tests.
That's how I do it. :-)