PyPy 5.0 Released
morepypy.blogspot.com
morepypy.blogspot.com
* We are not against working on Python 3 - it just happens that there is a lot of interest these days in things like numerics, warmup improvements and C extensions that we want to focus on.
* We essentially exhausted Py3k pot. I personally think it delivered what it promised, despite being short on the funding goals. It's crazy what level of expectations people have with crowdfunding - it's really difficult to find someone to deliver a big, multi-year project for 60k, even outside the states.
* We're closely watching py3k adoption - since we're always a few releases behind, we'll probably do a 3.5 after CPython 3.6 is out, but it all depends on good will of volunteers, who I have no control over.
* Money can easily change focus, but it would need to be a significant enough amount to actually commit to delivering a fast and compliant PyPy 3.5, not 5 or 10k
I hope this clear some things up, those opinions are my own and not necesarilly represent everybody in the pypy project
EDIT: there is just over 8k USD left in the py3k pot. At $60 USD/h (official SFC rate) it's 146h. That's not enough to even fix the inefficiencies in the current version. We hope to use it to get to version 3.3
Why not start a fund for 3.5 (or whatever is next)?
What exactly are the inefficiencies in PyPy3?
As the sibling comment mentions: Maybe now is the time to try for another funding run for py3 support? A lot of frameworks and libraries have been ported, and a lot of new code is being written for py3. Perhaps there'd also be real interest from people that now look at pypy as "just" "performance enhancement for legacy py2" to see py3 on the pypy platform?
In my personal opinion the speed gains of pypy aren't really all that interesting (other than perhaps, in the sense that it enables more code in python rather than c etc). But rpython+pypy as a framework for language development in general, and as a host for python in particular (along with the work on cffi) are really great aspects of pypy.
And while anyone can get rolling with rpython and implement their own toy prolog/brainfuck/whatever -- other benefits from running python on pypy will remain out of reach for those that for various reasons are targeting py3.
Then, maybe we could do another funding run to get mercurial ported to py3, later ;-)
At any rate, I love the work that is being done on pypy, and I certainly think it doesn't make sense to devout resources to py3 "just because new"; I believe free software development works best when driven by stakeholders. But I think the fact that "pypy doesn't really work for py3 also drives some people away from pypy that might otherwise contribute in various ways to help push py3 support further.
I understand that the major sponsors of PyPy are interested in the python 2.7, but not updating it for 1.5 years seems like they have abandoned it.
Catching up as in PyPy's support for it or as in adoption of the language?
[0] https://blogs.msdn.microsoft.com/pythonengineering/2016/03/0...
From a later comment by a dev...
"We spent the py3k budget (almost all of it) on delivering pypy 3.2."
Even the link you shared shows the pot is down to $8222. Hopefully that will increase, but I don't know what would be required to get support for later Python versions.
Plus Python 2 has been updated many times in the past decade so it's not a maintainance based motivation.
Personally I code against Python 2. There just hasn't been enough motivation to learn 3 and make sure all my third party libraries work with it.
At least adding the same improvements that were added to the 2.7 interpreter would put a bit of confidence in that. Most libraries also support up until CPython3.3, which as far as I know is mostly caused by the fact that the "u" string prefix is allowed again. So just adding that and keeping the core up to date with the PyPy2.7 releases would make it usable.
This could very well inspire other devs to add support for the other features that they are missing from later releases CPython3 releases.
FWIW, almost all of the applications I've written in Python over the past 4 years have been Py3. I'd like to use PyPy on them.
I don't blame him, pypy has always had a money problem (hence crowdfunding etc etc).
fwiw, lack of PyPy support is one of the most common reasons I hear for people being leery of Python 3. Of course the people using PyPy aren't the people excited to move to Python 3, if they're effectively mutually exclusive.
Myself as an hpc user of python (this pretty much sounds like an oxymoron at this point) in deep learning, I would be much more interested in having solid numpy and c extensions support (tensorflow / theano maybe?) than python 3, and I feel that many people feel the same way. The only reason to use PyPy is performance; making it very compatible with the other main source of performance gains in python (c/c++/fortran extensions) feels like a strong priority/ a no brainer
I get a free speedup for my non-numpy/scipy projects and that's flipping awesome. The 2.7 and 3.2 support is just fine for my needs. Your focus on the C API emulation seems totally appropriate to me.
If numpy and friends worked well on pypy, IMO there'd be little reason left to use CPython.
I mainly use Scikit Learn, theano, numpy and pandas; is PyPy able to work with the above, and likely to give any speedups at this stage?
What you're saying is that major number will change with time, not based on some groundbreaking updates. How am I supposed to know if I should be careful when upgrading from version 12 to version 14? Were there massive changes in between? All I know now is that half a year has gone by since last time I updated. Why would I care about that? Yeah, sure, I can read changelog for _every_ _single_ _library_ _and_ _tool_... Really? </rant>
EDIT: other than that, congrats on a new release. ;)
Summary
Given a version number MAJOR.MINOR.PATCH, increment the:
MAJOR version when you make incompatible API changes, MINOR version when you add functionality in a backwards-compatible manner, and PATCH version when you make backwards-compatible bug fixes.
Personally I really hate how everyone (especially web browsers) blindly copies what Google comes up with, without putting much thought into it, whether it is UI changes, versioning or behavior changes.
In the unlikely case that a new release causes code that worked in a previous release to fail, it's simply exposing a bug in either the new or old release.
http://morepypy.blogspot.com/2015/10/pypy-400-released-jit-w...
Also see fijal (one of the core pypy devs) commenting in this thread about the pypy devs not putting much work into supporting Python 3 right now.