Динамическая природа языка усложняет анализ типов автозаполнения, поэтому качество различных средств завершения, упомянутых выше, сильно варьируется.
Хотя это не совсем то, что вы просили, оболочка ipython очень хороша для исследовательской работы. Когда я работаю с новым модулем, я склонен тянуть его в ipython и тыкать в него. Перепробовав большинство решений, упомянутых выше (хотя прошло уже много лет с Wing), средства завершения ipython неизменно становятся более надежными. Два основных инструмента для исследования - это заполнение табуляции и добавление вопросительного знака к имени модуля / функции, чтобы получить текст справки, например ::
In [1]: import sqlalchemy
In [2]: sqlalchemy.s #tab completion
sqlalchemy.schema sqlalchemy.select sqlalchemy.sql sqlalchemy.subquery
In [2]: sqlalchemy.select? #Shows docstring
In [3]: sqlalchemy.select?? #Shows method source
In [4]: edit sqlalchemy.select #opens the source in an editor