Most of the build process is in Rust[0], but something needs to kick it off: instead of assuming/requiring that install the correct version of Rust (for the right platform) themselves and then invoke cargo in the right place to get the build manager, there's a relatively short Python script[1] that does all of that automatically. Python works well because it's everywhere, and it's already a dependency of the build process (LLVM needs it).
[0]: https://github.com/rust-lang/rust/tree/b30eff7ba72a78e31acd6...
[1]: https://github.com/rust-lang/rust/blob/b30eff7ba72a78e31acd6...