This is very neat! Obviously it's not a magic drop-in, but still.
Relevant bit from the docs: http://pypy.readthedocs.org/en/latest/stm.html#transaction-t...
I mean, the whole purpose of asyncio is running non-blocking I/O in a single thread and delegate blocking CPU-bound executions to other threads (with the run_in_executor method), but it would be awesome to share the asyncio loop event between multiple threads. I don't know if this is possible though.
... followed by a few paragraphs of details about why it is "almost".[1]
Their caveats seem to match up to several of Guido van Rossum's reservations about PyPy back in 2012 (summary here [2])
In the last 3 years there have been significant improvements with PyPy3 and C extension support, so it's getting closer but I would imagine it will take a few more iterations to from "almost" to "definitely".
I personally believe in PyPy's long-term future, they've done amazing work and think it is worthwhile even if CPython remains the reference platform.
[1] http://doc.pypy.org/en/latest/faq.html#is-pypy-a-drop-in-rep...
[2] http://stackoverflow.com/questions/12867263/why-wasnt-pypy-i...