The answer to the question is: PEP-8 wants to make a recommendation and has decided that since spaces are more popular it will strongly recommend spaces over tabs.
Notes on PEP-8
PEP-8 says 'Use 4 spaces per indentation level.'
Its clear that this is the standard recommendation.
'For really old code that you don't want to mess up, you can continue to use 8-space tabs.'
Its clear that there are SOME circumstances when tabs can be used.
'Never mix tabs and spaces.'
This is a clear prohibition of mixing - I think we all agree on this. Python can detect this and often chokes. Using the -tt argument makes this an explicit error.
'The most popular way of indenting Python is with spaces only. The second-most popular way is with tabs only.'
This clearly states that both are used. Just to be ultra-clear: You should still never mix spaces and tabs in same file.
'For new projects, spaces-only are strongly recommended over tabs.'
This is a clear recommendation, and a strong one, but not a prohibition of tabs.
I can't find a good answer to my own question in PEP-8.
I use tabs, which I have used historically in other languages.
Python accepts source with exclusive use of tabs. That's good enough for me.
I thought I would have a go at working with spaces. In my editor, I configured a file type to use spaces exclusively and so it inserts 4 spaces if I press tab. If I press tab too many times, I have to delete the spaces! Arrgh! Four times as many deletes as tabs! My editor can't tell that I'm using 4 spaces for indents (although AN editor might be able to do this) and obviously insists on deleting the spaces one at a time.
Couldn't Python be told to consider tabs to be n spaces when its reading indentations?
If we could agree on 4 spaces per indentation and 4 spaces per tab and allow Python to accept this, then there would be no problems.
We should find win-win solutions to problems.