Agreed, and I'm a big Python fan myself, I didn't mean to bash the language.
Somewhere between cool MIT dorm room side project and serious company there is a point where it's time to ditch it and reimplement it in in something that performs better.
Another drawback of it being Python is that when it is causing the fans to spin, I can't inspect what's going on with Activity Monitor's sampler. It's all opaque nameless Python stack frames.
If there's one specific bottleneck (ex: hashing files) then that's a prime candidate for Cython[2] or the plain CPython C-API.
Even when you have dropbox restricted to a small folder with _no IO events at all_ it's still constantly working, which is the real problem and entirely an optimization/design problem.
[1]: https://github.com/gorakhargosh/watchdog
[2]: https://cython.org/
[3]: https://docs.python.org/3/c-api/index.html
[t]: ... except when forced to use kqueue or polling