The EncodeDecimal function is called to make the decimal.Decimal object Json serializable but the round function under Python 3.3 doesn't return a serializable object - it returns another Decimal, so essentially you end up with an infinite loop of trying to repeatedly encode that decimal object.
The EncodeDecimal function is called to make the decimal.Decimal object Json serializable but the round function under Python 3.3 doesn't return a serializable object - it returns another Decimal, so essentially you end up with an infinite loop of trying to repeatedly encode that decimal object.
A simple type cast seems to fix it.