Replace pre-commit with prek

Feature Request / Improvement

prek is a reimagined version of pre-commit, built in Rust. It is designed to be a faster, dependency-free and drop-in alternative for it, while also providing some additional long-requested features.

Big python projects are already using it, such as: