Wednesday, September 26, 2012

The coolest news is not about what we did in the past weeks, but what we will
do in the next: I am pleased to announce that Philip Jenvey has been
selected by the PyPy communitiy to be funded for his upcoming work on py3k,
thanks to your generous donations. He will start to work on it shortly, and he
will surely help the branch to make faster progress. I am also particularly
happy of this because Philip is the first non-core developer who is getting
paid with donations: he demonstrated over the past months to be able to work
effectively on PyPy, and so we were happy to approve his application for the
job. This means that anyone can potentially be selected in the future, the
only strict requirement is to have a deep interest in working on PyPy and to
prove to be able to do so by contributing to the project.

Back to the status of the branch. Most of the work since the last status
update has been done in the area of, guess what? Unicode strings. As usual,
this is one of the most important changes between Python 2 and Python 3, so
it's not surprising. The biggest news is that now PyPy internally supports
unicode identifiers (such as names of variables, functions, attributes, etc.),
whereas earlier it supported only ASCII bytes strings. The changes is still
barely visible from the outside, because the parser still rejects non-ASCII
identifiers, however you can see it with a bit of creativity:

Before the latest changes, you used to get question marks instead of the
proper name for the keyword argument. Although this might seem like a small
detail, it is a big step towards a proper working Python 3 interpreter and it
required a couple of days of headaches. A spin-off of this work is that now
RPython has better built-in support for unicode (also in the default branch):
for example, it now supports unicode string formatting (using the percent
operator) and the methods .encode/.decode('utf-8').

Other than that there is the usual list of smaller issues and bugs that got
fixed, including (but not limited to):

teach the compiler when to emit the new opcode DELETE_DEREF (and
implement it!)

detect when we use spaces and TABs inconsistently in the source code, as
CPython does

fix yet another bug related to the new lexically scoped exceptions (this
is the last one, hopefully)

port some of the changes that we did to the standard CPython 2.7 tests to
3.2, to mark those which are implementation details and should not be run on
PyPy

Finally, I would like to thank Amaury Forgeot d'Arc and Ariel Ben-Yehuda for
their work on the branch; among other things, Amaury recently worked oncpyext and on the PyPy _cffi_backend, while Ariel submitted a patch to
implement PEP 3138.

The coolest news is not about what we did in the past weeks, but what we will
do in the next: I am pleased to announce that Philip Jenvey has been
selected by the PyPy communitiy to be funded for his upcoming work on py3k,
thanks to your generous donations. He will start to work on it shortly, and he
will surely help the branch to make faster progress. I am also particularly
happy of this because Philip is the first non-core developer who is getting
paid with donations: he demonstrated over the past months to be able to work
effectively on PyPy, and so we were happy to approve his application for the
job. This means that anyone can potentially be selected in the future, the
only strict requirement is to have a deep interest in working on PyPy and to
prove to be able to do so by contributing to the project.

Back to the status of the branch. Most of the work since the last status
update has been done in the area of, guess what? Unicode strings. As usual,
this is one of the most important changes between Python 2 and Python 3, so
it's not surprising. The biggest news is that now PyPy internally supports
unicode identifiers (such as names of variables, functions, attributes, etc.),
whereas earlier it supported only ASCII bytes strings. The changes is still
barely visible from the outside, because the parser still rejects non-ASCII
identifiers, however you can see it with a bit of creativity:

Before the latest changes, you used to get question marks instead of the
proper name for the keyword argument. Although this might seem like a small
detail, it is a big step towards a proper working Python 3 interpreter and it
required a couple of days of headaches. A spin-off of this work is that now
RPython has better built-in support for unicode (also in the default branch):
for example, it now supports unicode string formatting (using the percent
operator) and the methods .encode/.decode('utf-8').

Other than that there is the usual list of smaller issues and bugs that got
fixed, including (but not limited to):

teach the compiler when to emit the new opcode DELETE_DEREF (and
implement it!)

detect when we use spaces and TABs inconsistently in the source code, as
CPython does

fix yet another bug related to the new lexically scoped exceptions (this
is the last one, hopefully)

port some of the changes that we did to the standard CPython 2.7 tests to
3.2, to mark those which are implementation details and should not be run on
PyPy

Finally, I would like to thank Amaury Forgeot d'Arc and Ariel Ben-Yehuda for
their work on the branch; among other things, Amaury recently worked oncpyext and on the PyPy _cffi_backend, while Ariel submitted a patch to
implement PEP 3138.

Wednesday, September 5, 2012

The next PyPy sprint will be in Cape Town, South Africa. It is a
public sprint, suitable for newcomers. It starts a couple of days
after PyCon South Africa, which is on the 4th and 5th of October.
This is a relatively unusual sprint in that it is hosted halfway
across the world from where most contributors live, so we plan to
spend some time during those two weeks doing sprinting and some time
doing touristy stuff. The goals for the sprint are general progress
and whatever people are interested in.

If there are newcomers, we'll run the usual introduction to hacking on
PyPy.

Location

The sprint will be held either in the apartment of fijal, which is in
Tamboerskloof, Cape Town, or in the offices of the Praekelt
Foundation, located in Woodstock, Cape Town. The Praekelt Foundation
has offered to host us, if needed.

Cape Town, as a very touristy place, has tons of accomodation ranging
in quality from good to amazing. Depending on the sprint location you
might need a car.

Good to Know

You probably don't need visa for South Africa -- consult Wikipedia.
South Africa is a lovely place with lots of stuff to do. You can see
penguins, elephants, lions and sharks all on one day (or better yet,
on multiple days).

There is a wide selection of good restaurants within a reasonable
distance of the sprint venue (depending on the venue, either walking
or driving).

The power plug is some weird derivative of an old-english standard,
but adapters are easily acquired.

Who's Coming?

If you'd like to come, please let us know when you will be arriving
and leaving, as well as what your interests are. We'll keep a list of
people which we'll update (or you can do so yourself if you have
bitbucket pypy commit rights).

Cheers,
fijal

Hello everyone!

The next PyPy sprint will be in Cape Town, South Africa. It is a
public sprint, suitable for newcomers. It starts a couple of days
after PyCon South Africa, which is on the 4th and 5th of October.
This is a relatively unusual sprint in that it is hosted halfway
across the world from where most contributors live, so we plan to
spend some time during those two weeks doing sprinting and some time
doing touristy stuff. The goals for the sprint are general progress
and whatever people are interested in.

If there are newcomers, we'll run the usual introduction to hacking on
PyPy.

Location

The sprint will be held either in the apartment of fijal, which is in
Tamboerskloof, Cape Town, or in the offices of the Praekelt
Foundation, located in Woodstock, Cape Town. The Praekelt Foundation
has offered to host us, if needed.

Cape Town, as a very touristy place, has tons of accomodation ranging
in quality from good to amazing. Depending on the sprint location you
might need a car.

Good to Know

You probably don't need visa for South Africa -- consult Wikipedia.
South Africa is a lovely place with lots of stuff to do. You can see
penguins, elephants, lions and sharks all on one day (or better yet,
on multiple days).

There is a wide selection of good restaurants within a reasonable
distance of the sprint venue (depending on the venue, either walking
or driving).

The power plug is some weird derivative of an old-english standard,
but adapters are easily acquired.

Who's Coming?

If you'd like to come, please let us know when you will be arriving
and leaving, as well as what your interests are. We'll keep a list of
people which we'll update (or you can do so yourself if you have
bitbucket pypy commit rights).

Tuesday, September 4, 2012

It's been a while since we posted a numpy work update, but I'm pleased to
inform you that work on it has been restarted. A lot of the work has been
done by Matti Picus, who is one of the newest contributors to the PyPy
project. None of the work below has been merged so far, it's work in progress:

Complex dtype support.

Fixing incompatibilities between numpy and pypy's version.

Refactoring numpypy to simplify the code and make it easier for new
contributors.

Reuse most of the numpy's pure python code without modifications.

Finishing this is also the plan for the next month.

Cheers,
fijal

Hello everyone.

It's been a while since we posted a numpy work update, but I'm pleased to
inform you that work on it has been restarted. A lot of the work has been
done by Matti Picus, who is one of the newest contributors to the PyPy
project. None of the work below has been merged so far, it's work in progress:

Complex dtype support.

Fixing incompatibilities between numpy and pypy's version.

Refactoring numpypy to simplify the code and make it easier for new
contributors.