Question: I want to rewrite parts of an opensource project. This includes renaming methods. How can I do that efficiently in emacs across the whole project?

I would rather not use hacks such as search and replace in every buffer.

Answer: 
You can use [swiper](https://github.com/abo-abo/swiper)

1. Run `M-x swiper-all` type your regex, it will list all results, you can move with up/down to see a preview for each result.
2. Now press `M-q` and it will ask you what you want to replace the matches with, type it and press enter.
3. It will now walk you through an interactive replace, you can use y/n/! on each, y to replace, n to skip, and ! to replace all without asking.
`M-x project-find-regexp` could help, followed by typing `r` in the xref buffer.

It's not a "real" refactoring, but well along the lines of other answers here.

Or use and LSP client, such as `eglot` or `lsp-mode`, along with a suitable LSP server such as `pyls`. Those offer smarter rename operations.