So, I'm pretty happy with my .vimrc config for Python - except I started leaving off the .py suffix for scripts and now vim has no idea that the file I'm editing is a Python file.
Clarification: I've confirmed that vim knows I'm editing a python file using :echo &filetype which reports back 'python'.
So, the real question is how to assign python-specific behavior when I'm currently using file extensions for this purpose (see below). Can that be driven with filetype? Does one need both?
Regarding the lack of suffixes - my code is only intended for unix hosts, where this is commonplace, and I like hiding the implementation details so I could hypothetically change the implementation later.
Here's a fraction of my .vimrc:
au BufRead,BufNewFile *py,*pyw set tabstop=4
au BufRead,BufNewFile *.py,*pyw set shiftwidth=4
au BufRead,BufNewFile *.py,*.pyw set expandtab
au BufRead,BufNewFile *.py,*pyw set softtabstop=4
au BufRead,BufNewFile *.py,*.pyw set textwidth=79