Interactive Brokers is very good. It has the benefit of having a very good python interface and a decent R interface. If Python or R is your analytics engine, IB can be a great choice.
I've always wanted to use IB, but once I saw that I couldn't use special characters in my password on signup, I decided it was a no-go, haha.
Never realized that ... very strange! But, I have very little confidence in passwords these days. I prefer 2FA much more. Thankfully .. in India .. most things of value need a second authentication via an SMS OTP code