With wxPython a password field could be created as:  
wx.TextCtrl(frm, -1, '', style=wx.TE_PASSWORD )
I'm wondering if there is a way to dynamically change this password field into a normal textctrl, such that user could see what the password is.
I'm not aware of a way to dynamically change the style flags on the text control widget after creation. Some widgets allow this sort of thing on some OSes and some do not. You could just create two text controls with the second one in normal mode and hide it. Then when you want to toggle, you grab the password-protected version's value and hide it, give the value to the normal one and show it. You'll probably need to call Layout() at the end as well.
how to make wxpython password textctrl show chars?