A discrete event simulation framework that uses Python