I have a package mypack with modules mod_a and mod_b in it. I intend the the package itself and mod_a to be imported free
mypack
mod_a
mod_b
The solution I've settled on is to create a sub-package 'private' and place all the modules I wish to hide in there. This way they stay stowed away, leaving mypack's module list cleaner and easier to parse.
To me, this doesn't look unpythonic either.