Also written up at jane.berlin/www/articles/python2modules.html
— this is the Python 3 update to the module/package example described there, showing how
__init__.py and __all__ work for organizing a package into modules.
A small package (mathematical_functions) with a powers module inside it, split across
base.py (square, cube) and sums.py (sum of squares, sum of cubes — built on top of base.py),
tied together with __all__ in powers/__init__.py so from mathematical_functions.powers import *
pulls in both.
python3 program.py