Based on a CodeQL finding, it seems decimal logical types are probably broken and need testing with various encoding and decoding steps. I think:
1. Python decimal exponents are always negative, and avro schema scales are always positive, so the if exp > scale: raise check does not raise an exception.
2. If it did, it would raise the wrong exception, because it would fail to instantiate the exception class.