Although the Mindstorms line is discontinued, nowadays there's the Lego SPIKE Prime (it's marketed more towards classrooms). Like the Mindstorms EV3, you can program it with either a visual block language or MicroPython.

Also check out https://pybricks.com, which gives MicroPython support for more LEGO sets.

IMO https://pybricks.com/project/saving-lego-mindstorms/ is especially interesting.