[SciPy-User] SciPy ecosystem and Python 3

Thomas Kluyver takowl@gmail....
Tue Jul 2 10:00:43 CDT 2013

On 2 July 2013 07:47, Ralf Gommers <ralf.gommers@gmail.com> wrote:

> Please keep in mind that it's much more important to you, as an active dev
> who cares about 3.x adoption, then to them. All newcomers are getting for
> now is some compatibility issues and strings they don't understand. On the
> upside they don't have to move a few years later, but the business case is
> thin.

I'm not just doing this to cheerlead Python 3 adoption. Many of us have
seen newcomers being confused by the split. I don't have references handy,
but I've heard about courses that have asked people to preinstall Python,
and despite careful instructions, people have turned up with a mixture of
Python 2 and Python 3, which then wastes valuable time while everyone gets
to the same starting point. Discussion sites see regular 'should I use 2 or
3' threads. And it's easy to imagine potential users who're evaluating
Python against alternative solutions, and get put off by the 2/3 split,
though we probably don't hear from them.

Again, I'm not saying that we should promote Python 3 now - there's still
some way to go. I'm trying to define how far it is, and how we can measure
it. You suggest we should wait until maybe 50% of existing users and devs
have switched. I wouldn't wait that long, because I think it's fine for new
users to change quicker than old users, but this is the sort of criterion I
want to discuss.

How would we go about estimating how many users/devs use Python 3? It can
seem like no-one is, but my conversations at SciPy, and bug reports on
IPython, suggest that that's not entirely true.

Christoph (& Josef said something similar)
> I think a webpage summarising Python version compatibility would be a
great resource.

That's an interesting idea. There are already sites out there which list
Python 3 support for PyPI packages, but there's certainly room for
something more detailed. Specifically, it could know about:
- Which minor Python versions does X support (e.g. 2.6, 2.7, 3.3)
- How has this support changed in recent releases of X
- Is X version y packaged for Python version z in

Is anybody interested in creating this and keeping it updated? We could use
PyPI classifiers as a starting point, but there would need to be extra
information layered on top of that.

However, we shouldn't overstate the importance of this for newcomers: you
know which field you're working in, but you often don't know which packages
you're going to need until you've already written quite a bit of code. So
you can't just look up the packages you'll need before you start with SciPy.

> I faced this two years ago when I starting working with numpy.  It was
> confusing.  However I quickly realized as a CS person what was going on.
> 2.7 was solid and mature.

Precisely. However, many of our target audience aren't CS people, and will
only see that they're being asked to use an 'old' version for some reason.

Also, the Py3 ecosystem is much more mature than it was two years ago. At
that time, it was easy to point to inarguably important packages like
matplotlib as a reason to start with Python 2. Today, that's still possible
in specific fields, but it's increasingly hard to find Python-2-only
packages that new SciPy users in general are likely to need.

Best wishes,
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.scipy.org/pipermail/scipy-user/attachments/20130702/1ad7b304/attachment.html 

More information about the SciPy-User mailing list