[Matplotlib-devel] supported python versions

Daniele Nicolodi daniele at grinta.net
Mon Sep 28 10:51:22 CEST 2015

On 27/09/15 21:49, Thomas Caswell wrote:
> We already have this 'know to work with' vs 'supported' distinction,
> this is the current state of python 3.2 support.  We don't test on it,
> my response to 3.2 specific bugs is 'upgrade', but if we get reasonable,
> non-destructive patches they will get merged (which we have done, around
> the 1.4 release, after we dropped 3.2, we merged some patches
> from Christoph Gohlke which fixed 3.2 on windows). 
> The reality is that we should have had this discussion 6-12 months ago
> (sorry OceanWolf), instead of on the cusp of a release, and currently
> master (and hence both the 1.5.0 and 2.0 releases) _will_ work with
> py2.6 and py3.3 because we are currently testing on them.  There is
> consensus in the core developers that we will not support py2.6/3.3
> going forward so the question is what to do about the upcoming
> releases.

I agree that this discussion would have been better when the 1.5 and 2.0
releases were planned, but I don't see much of a problem in defining
things now, as not disruptive changes have been made to the codebase.

I agree that dropping support for python 2.6 and 3.3 is the way to go.
What I'm objecting is the "labeling" you are suggesting both in the
sense of the "supported" vs "known to work with" terminology and with
release numbers.

As Nathaniel pointed out it does not make much sense to drop support for
python 2.6 and 3.3 in a micro/patch level release. I think it makes much
more sense to plan to have a 2.1 release after 2.0 in which new features
could be added and old python versions support removed. Then 2.0 becomes
a bugfix only branch. I haven't looked at the code, but I believe that
the only difference between 1.5 and 2.0 are the style defaults, so, if
there is demand, I don't see a problem to also backport bugfixes to the
1.5 branch and release 1.5 series bugfixes.

>  The options are:
>  - do not document at all that as far as we know 1.5/2.0 will work on on
> py2.6
>  - document that as far as we know mpl does work on py2.6, but are
> making no commitment to make sure that stays true.  

There is another option:

 - keep supporting python 2.6 and 3.3 on 1.5 and 2.0 and drop support on
2.1 where new development that can benefit from new python features
should happen

> Danielle: If you are volunteering to maintain 1.5.x/2.0.x branches which
> back ports bug fixes in a 2.6 compatibly that would be great, otherwise
> given the limited resources the project currently has, that is not
> something we can.

I can try to contribute a bit, but, as I was trying to explain above,
I'm not opposing to drop support for old python releases, but merely to
the labeling and wording.

> I have already linked to this article is this thread, but once more for
> good measure:
> http://www.curiousefficiency.org/posts/2015/04/stop-supporting-python26.html

As the work to make 1.5 and 2.0 releases work with python 2.6 and 3.3
has already been done, I don't think this article is much relevant to
the discussion. I'm all in favor of not keeping python 2.6 support, and
I don't think that anyone that uses python 3 is stuck with an old python
3.3. But given that we already have the support for those release,
please keep it and drop it in a future release.


More information about the Matplotlib-devel mailing list