I wouldn't call it heavy, but more complex instead.
Salt is astonishingly lightweight (at least before they started vendoring everything and I stopped using it) and extremely fast - due to its execution model it doesn't really matter whether you target 10 or 10000 nodes with a job.
pyinfra is just python that gets transpiled into ssh commands