Or https://github.com/astral-sh/uv can replace both. Various features are tagged as "experimental", and I guess the api might change, but it seems to work already. I have high hopes for it eventually making python's fragmented package management issues go away.
Edit: Somebody's going to respond with the XKCD aren't they? I know about the XKCD and I nevertheless have high hopes for `uv`.
Looks like pyenv does the same thing as asdf, except only for python.
https://github.com/asdf-vm/asdf
And here's a list of everything it supports: https://github.com/asdf-vm/asdf-plugins/tree/master/plugins
Try a tool called `pyenv`. It's pretty great. I pair it with the package manager called `poetry`.