Ruff.
MS LSP is also deprecated in favor of Microsoft's pylance AFAIK. I've never used Jedi much, but it's one of the older ones and not very comprehensive to my knowledge. Ruff is relatively new but they already have >800 rules and increasing. Ruff is by far the fastest too.
No thoughts on py-lsp.
Ah, just be sure to enable most (or all) rules with ruff, as the default rule sets are pretty relaxed.