Thanks to Thomas' help over at #6469, these wheels are passing all tests on a fresh install into travis-ci containers.
Olivier Grisel has installed and tested on his Ubuntu 14.04 machine. I have also installed and tested on a Debian Jessie VM.
I think these wheels are now ready to deploy on pypi. Do y'all agree? Is there anything else I should build into these wheels (see the build script link above)? Are there any other tests I / we can do?
We did get one complaint (numpy/numpy#7570) but that user was doing something rather weird in his setup (strip of the binaries). Somebody doing the same thing will hit the same problem when 1.5.2 comes out (the complaint was from someone pinning to an old numpy version in the hope that would always be source-only). On the other hand, having binaries for old releases on pypi makes it much easier to test against earlier versions. Maybe worth a straw poll on the list?
Well, I don't think we got any interesting information from straw poll, it's quite possible that no-one has tested the wheels. Any more thoughts here? I still have a preference for uploading the wheels, and I'm happy for you to make the call either way.
It seems 1.5.1 was shipped without manylinux wheels: https://pypi.python.org/pypi/matplotlib/1.5.1
Will 1.5.2 be shipped with manylinux wheels ? Or is there anything else that's blocking this that I could help with ?
I'm still advocating shipping a manylinux wheel for 1.5.1 - but I think someone has to pronounce on whether that should happen. Built wheels for testing at https://nipy.bic.berkeley.edu/manylinux .
Right - the wheels I built and uploaded at https://nipy.bic.berkeley.edu/manylinux are patched with a version of #6442. I thought that, given this should give no behavior change, and only affected how matplotlib gets its symbols from the relevant libraries, this might be acceptable as part of the wheel build process, but maybe that's a stretch.
When is 1.5.2 planned to be released?
The 1.5.2 milestone on github shows only 3 issues (including this one) on that milestone. If 1.5.2 is getting released in a few days, then it wouldn't matter if 1.5.1 wheels are uploaded or not ... as most users are going to download 1.5.2 from then on anyway.
My understanding of the use case is like we test against a very old version of numpy, down-stream to us projects what to test against old versions of mpl and the wheels would save them a whole bunch of CI time.
If we are going to do 1.4 and 1.3 wheels (which people should stop using, we do not fix bugs in those series anymore!) we should probably backport the tk fixes and do a new micro for each of them?
I think it's totally fair for you folks NOT to distribute 1.4 and 1.3 wheels and instead encourage people to move to more modern matplotlib versions. I just wanted to confirm that if I made them myself it would be okay.
For the next release, here's a humble plea to put up the wheels first, so that no-one accidentally hits a source install when they were expecting a wheel install, in the gap between the source and the wheel upload.
Activity
tacaswell commented on May 26, 2016
Given that a 1.5.2 release is imminent and the changes to support many wheels got backported, I would rather only ship the wheels for 1.5.2 onward.
Thank you for your tireless work on this.
tacaswell commented on May 26, 2016
My reasoning for not replacing old releases is the complaints numpy got for doing the same thing.
matthew-brett commented on May 26, 2016
We did get one complaint (numpy/numpy#7570) but that user was doing something rather weird in his setup (strip of the binaries). Somebody doing the same thing will hit the same problem when 1.5.2 comes out (the complaint was from someone pinning to an old numpy version in the hope that would always be source-only). On the other hand, having binaries for old releases on pypi makes it much easier to test against earlier versions. Maybe worth a straw poll on the list?
tacaswell commented on May 28, 2016
👍 to a straw poll. I would start with the matplotlib-devel.
matthew-brett commented on Jun 13, 2016
Well, I don't think we got any interesting information from straw poll, it's quite possible that no-one has tested the wheels. Any more thoughts here? I still have a preference for uploading the wheels, and I'm happy for you to make the call either way.
AbdealiLoKo commented on Jun 27, 2016
It seems 1.5.1 was shipped without manylinux wheels: https://pypi.python.org/pypi/matplotlib/1.5.1
Will 1.5.2 be shipped with manylinux wheels ? Or is there anything else that's blocking this that I could help with ?
jenshnielsen commented on Jun 27, 2016
1.5.2 should ship with manylinux wheels. The release of 1.5.1 predates the manylinux wheels
matthew-brett commented on Jun 27, 2016
I'm still advocating shipping a manylinux wheel for 1.5.1 - but I think someone has to pronounce on whether that should happen. Built wheels for testing at https://nipy.bic.berkeley.edu/manylinux .
jenshnielsen commented on Jun 28, 2016
Wouldn't it require adding #6442 to 1.5.1 then IMHO it can't be released as 1.5.1 but would have to be 1.5.1.1 or some such thing?
matthew-brett commented on Jun 28, 2016
Right - the wheels I built and uploaded at https://nipy.bic.berkeley.edu/manylinux are patched with a version of #6442. I thought that, given this should give no behavior change, and only affected how matplotlib gets its symbols from the relevant libraries, this might be acceptable as part of the wheel build process, but maybe that's a stretch.
jenshnielsen commented on Jun 28, 2016
The above is just my opinion others may feel differently. Ant to be clear I am very happy to see the wheels get published as soon as possible.
AbdealiLoKo commented on Jun 28, 2016
When is 1.5.2 planned to be released?
The 1.5.2 milestone on github shows only 3 issues (including this one) on that milestone. If 1.5.2 is getting released in a few days, then it wouldn't matter if 1.5.1 wheels are uploaded or not ... as most users are going to download 1.5.2 from then on anyway.
tacaswell commented on Jun 28, 2016
I intend to do the 1.5.2 release July 2.
AbdealiLoKo commented on Jun 28, 2016
That's 3-4 days away... My 2 cents: Users can stay without wheels for 4 days ^_^
6 remaining items
efiring commented on Jul 1, 2016
I don't understand--why distribute wheels for old versions? Is it really worth the effort?
tacaswell commented on Jul 1, 2016
My understanding of the use case is like we test against a very old version of numpy, down-stream to us projects what to test against old versions of mpl and the wheels would save them a whole bunch of CI time.
jtratner commented on Jul 1, 2016
I think it's totally fair for you folks NOT to distribute 1.4 and 1.3 wheels and instead encourage people to move to more modern matplotlib versions. I just wanted to confirm that if I made them myself it would be okay.
asreimer commented on Aug 18, 2016
A bit off topic, but just wondering if/when 1.5.2 will be shipped in pip? I see the release happened on github back on July 3rd. Cheers.
matthew-brett commented on Aug 18, 2016
tacaswell commented on Aug 18, 2016
I will do the source release tomorrow.
On Wed, Aug 17, 2016, 20:24 Matthew Brett notifications@github.com wrote:
matthew-brett commented on Aug 18, 2016
Thank you - that is very helpful.
matthew-brett commented on Aug 18, 2016
Will this be the source from the current tag v1.5.2 (commit 179de2b)?
tacaswell commented on Aug 18, 2016
Yes
On Wed, Aug 17, 2016 at 9:11 PM Matthew Brett notifications@github.com
wrote:
matthew-brett commented on Aug 18, 2016
OK to upload wheels today?
WeatherGod commented on Aug 18, 2016
Is it going to be tagged 1.5.2 or 1.5.3?
On Wed, Aug 17, 2016 at 9:53 PM, Matthew Brett notifications@github.com
wrote:
tacaswell commented on Aug 18, 2016
I am going to push up a 1.5.2 today as there seems to be demand for it and get to 1.5.3 when I get to it.
tacaswell commented on Aug 18, 2016
@matthew-brett The source is up, please close this when the wheels are up.
Sorry doing being so slow on my end.
matthew-brett commented on Aug 18, 2016
@tacaswell - no problem - wheels uploaded now.
$ pip install matplotlib Collecting matplotlib Downloading matplotlib-1.5.2-cp27-cp27mu-manylinux1_x86_64.whl (13.7MB) 100% |████████████████████████████████| 13.7MB 63kB/s Collecting numpy>=1.6 (from matplotlib) Downloading numpy-1.11.1-cp27-cp27mu-manylinux1_x86_64.whl (15.3MB) 100% |████████████████████████████████| 15.3MB 71kB/s Collecting python-dateutil (from matplotlib) Using cached python_dateutil-2.5.3-py2.py3-none-any.whl Collecting cycler (from matplotlib) Using cached cycler-0.10.0-py2.py3-none-any.whl Collecting pytz (from matplotlib) Downloading pytz-2016.6.1-py2.py3-none-any.whl (481kB) 100% |████████████████████████████████| 481kB 2.2MB/s Collecting pyparsing!=2.0.0,!=2.0.4,!=2.1.2,>=1.5.6 (from matplotlib) Downloading pyparsing-2.1.8-py2.py3-none-any.whl (54kB) 100% |████████████████████████████████| 61kB 8.1MB/s Collecting six>=1.5 (from python-dateutil->matplotlib) Using cached six-1.10.0-py2.py3-none-any.whl Installing collected packages: numpy, six, python-dateutil, cycler, pytz, pyparsing, matplotlib Successfully installed cycler-0.10.0 matplotlib-1.5.2 numpy-1.11.1 pyparsing-2.1.8 python-dateutil-2.5.3 pytz-2016.6.1 six-1.10.0For the next release, here's a humble plea to put up the wheels first, so that no-one accidentally hits a source install when they were expecting a wheel install, in the gap between the source and the wheel upload.