Well, I really hope that the PEP regarding frozendict will be accepted.
Especially due to the fact that the required changes are small.

With the recent projects like clojure-py, blog posts like 
http://goo.gl/bFB5x (Python becomes a platform), your pysandbox,
it became clear that people start evaluating Python on a different
level.  And for developing custom languages, deeply experimenting
with coroutines and who knows what else, frozendict is a missing 
concept in python's immutable types structure.

On 2012-03-20, at 8:32 AM, Victor Stinner wrote:

> pysandbox is a Python sandbox. By default, untrusted code executed in
> the sandbox cannot modify the environment (write a file, use print or
> import a module). But you can configure the sandbox to choose exactly
> which features are allowed or not, e.g. import sys module and read
> /etc/issue file.
> 
> http://pypi.python.org/pypi/pysandbox
> https://github.com/haypo/pysandbox/
> 
> Main changes since pysandbox 1.0.3:
> 
> - More modules and functions are allowed: math, random and time
> modules, and the compile() builtin function for example
> - Drop the timeout feature: it was not effective on CPU intensive
> functions implemented in C
> - (Read the ChangeLog to see all changes.)
> 
> pysandbox has known limitations:
> 
> - it is unable to limit memory or CPU
> - it does not protect against bugs (e.g. crash) or vulnerabilities in CPython
> - dict methods able to modify a dict (e.g. dict.update) are disabled
> to protect the sandbox namespace, but dict[key]=value is still
> accepted
> 
> It is recommanded to run untrusted code in a subprocess to workaround
> these limitations. pysandbox doesn't provide an helper yet.
> 
> pysandbox is used by an IRC bot (fschfsch) to evaluate a Python
> expression. The bot uses fork() and setrlimit() to limit memory and to
> implement a timeout.
> 
> https://github.com/haypo/pysandbox/wiki/fschfsch
> 
> --
> 
> The limitation on dict methods is required to deny the modification of
> the __builtins__ dictionary. I proposed the PEP 416 (frozendict) but
> Guido van Rossum is going to reject it. I don't see how to fix this
> limitation without modifying CPython.
> 
> http://www.python.org/dev/peps/pep-0416/
> 
> Victor
> _______________________________________________
> Python-Dev mailing list
> Python-Dev@python.org
> http://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe: 
> http://mail.python.org/mailman/options/python-dev/yselivanov.ml%40gmail.com

_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to