Great, thanks!
After a little more trial and error, I'm still not sure what the best option is. Here is the line I used for what I described above:
'poes': 1 - np.exp(-scen_info['EqRupture']['TimeSpan']*(1.0/scen_info['EqRupture'].get('ReturnPeriod', 100)))
But it gives a lot of significant digits for 500yr RP in 50 years instead of 0.1, as I would prefer. I can't think of a good way to generically round it to the appropriate number of decimal places (perhaps to one significant digit, e.g., 0.1 and 0.002)? For now I am hardcoding 0.1 into the backend script.