The title is probably pretty bad and I'm sure something similar has been asked before, but I could not find a solution for this (also I'm new to python…).
I have several modules in one package (a kind of a toolkit), which I use in my projects. The structure looks like this:
from the_toolkit import matrix_kit
I had the same problem, and solved it by adding a leading underscore to all my imports. It doesn't look brilliant, but it achieves what you're after.
from __future__ import division as _division import numpy as _np import pandas as _pd
Only the stuff that starts without an underscore is imported when you import the module using from .. import *. or when you use tab-completion in IPython or spyder.