Friday, November 2, 2012

Py3k status update #7

This is the seventh status update about our work on the py3k branch, which
we can work on thanks to all of the people who donated to the py3k
proposal
.

The biggest news is that this month Philip started to work on py3k in parallel
to Antonio. As such, there was an increased amount of activity.

The py3k buildbots now fully translate the branch every night and run the
Python standard library tests.

We currently pass 160 out of approximately 355 modules of CPython's standard
test suite, fail 144 and skip approximately 51.

Some highlights:

  • dictviews (the objects returned by dict.keys/values/items) has been greatly
    improved, and now they full support set operators
  • a lot of tests has been fixed wrt complex numbers (and in particular the
    __complex__ method)
  • _csv has been fixed and now it correctly handles unicode instead of bytes
  • more parser fixes, py3k list comprehension semantics; now you can no longer
    access the list comprehension variable after it finishes
  • 2to3'd most of the lib_pypy modules (pypy's custom standard lib
    replacements/additions)
  • py3-enabled pyrepl: this means that finally readline works at the command
    prompt, as well as builtins.input(). pdb seems to work, as well as
    fancycompleter to get colorful TAB completions :-)
  • py3 round
  • further tightening/cleanup of the unicode handling (more usage of
    surrogateescape, surrogatepass among other things)
  • as well as keeping up with some big changes happening on the default branch
    and of course various other fixes.

Finally, we would like to thank Amaury Forgeot d'Arc for his significant
contributions.

cheers,
Philip&Antonio

11 comments:

Arne Babenhauserheide said...

Very cool!

Thank you for your work!

Anonymous said...

Great work!

Anonymous said...

thanks for sharing.

Arne Babenhauserheide said...

How do I compile/translate it for testing the py3k branch?

How much optimization is already possible?

Antonio Cuni said...

@arne: you can just use the usual translate.py command inside the py3k branch.
Or download one of the nightly builds:
http://buildbot.pypy.org/nightly/py3k/

however, note that:
- JIT is not enabled (yet)
- no focus has been put on performances (yet :)) so it is probably slower than even the non-jitted python2

Anonymous said...

when will pypy-2.0 be available ?

Anonymous said...

when will pypy-2.0 be avaliable ?

Maciej Fijalkowski said...

2.0 beta 1 - today. 2.0 final - no date yet.

Anonymous said...

looking forward to see the release note of pypy-2.0 b1

Arne Babenhauserheide said...

@antonio: for me the translate with goal pypy (interpreter) did not work, so I asked.

I’ll try again. Thanks!

Antonio Cuni said...

@arne: it's surely possible that translation is broken at some revision, it's all work in progress :). If you go to the nightly build page, you can see which for which revision translation did work