/F wrote: >>>> eval("{'name': 'Cleopatra'}", {"__builtins__": {}}) >{'name': 'Cleopatra'} > >the __builtins__ stuff is optional, but provides some protection >from evil data providers: Note that it isn't full protection. Consider eval("[0] * (2 ** 31)") which will cause most machines to run out of memory. Andrew dalke at acm.org