My ZSH prompt in Python, with:
- A horizontal rule (as wide as the terminal) before each prompt (when scrolling this makes it easier to see where one command's output ends and the next command begins)
- Nicely truncated current working directory (like fish shell)
- Active virtualenv
- Git branch
- Non-zero exit status
- user@host only if connected over ssh