Auto-formatting similar to jetbrains ides?

How do you get nice auto formatting, as close to as the settings that jetbrains ides provide?

I am explicitly talking about python code here. More specifically just about deciding what (lists, dicts, parameters, function arguments, function definitions, …) and how they break and wrap, and how much they ident.

The style i need is

f(
    a,
    b,
)

i.e. one indent level, each parameter wraps onto a new line, closing bracket placed on same indent level on a new line.

I also explicitly don’t want the file to be auto formatted on save, only the selection should be formatted when I select it and hit the format key.

(I can accomplish similar results by using claude, though unfortunately still at lower speeds)