Acredito que todo desenvolvedor que usa Python já deve ter o ipython instalado. É uma shell interativa que traz várias vantagens sob a que vem na instalação padrão do Python. Uma delas é autocompleta usando tabs.

Mas tem como configurar a shell padrão pra autocomplete com tabs, histórico (com seta pra cima), ou o que mais você quiser.

Antes do interpretador iniciar, ele lê a variável de ambiente PYTHONSTARTUP, e executa o conteúdo do arquivo pra onde ela aponta. Lá, você pode configurar algumas preferências pra o prompt.

Primeiro baixe esse arquivo: pbp.scripts. É um conjunto de códigos usados no livro Expert Python Programming, de onde eu tirei essa dica.

Dentro desse pacote, tem o script pythonstartup.py. Renomei ele para .pythonstartup e copie para sua pasta home. No meu caso, no OS X, ficou: /Users/igorsobreira/.pythonstartup

Depois é só setar a variável de ambiente apontando pra ele

$ export PYTHONSTARTUP=/Users/igorsobreira/.pythonstartup

Para esse export ser executado sempre que a shell do seu usuário iniciar, no OS X pode adicionar no arquivo ~/.profile. No linux, ~/.bash_profile.

Agora é só testar:

>>> import sys
>>> sys.<tab><tab>
...