View Issue Details

IDProjectCategoryView StatusLast Update
0002421FreeCADMerge requestpublic2016-01-27 23:55
Reporterblacey Assigned Toblacey  
PrioritynormalSeverityminorReproducibilityN/A
Status closedResolutionfixed 
Product Version0.16 
Target Version0.16Fixed in Version 
Summary0002421: Upgrade to matplotlib 1.5.0 or greater
DescriptionPlot.py depends upon matplotlib and currently uses the 1.4.3 API however 1.5.x was released in October of 2015 and they are preparing release 2.0. Furthermore, in order to build on OS X, we have to revert to 1.4.3 by cloning a home-brew repo and checking out a specific home-brew commit that is obviated if we simply move to a newer version of matplotlib - recommendation is 1.5.x or greater.
Additional InformationThe proposed changes:

1) Modify Plot.py to use the matplotlib 1.5.x API (a one-line import change only)
2) In accordance with cmake conventions, modify CMakeLists to specify version 1.5.0 in the find_package() for matplotlib
3) Extend the matplotlib cmake module to support find_package version requirements
TagsNo tags attached.
FreeCAD Information

Relationships

related to 0002414 closedblacey Implement continuous integration for Mac OS X builds 

Activities

blacey

2016-01-27 04:55

developer   ~0006759

It appears that .travis.yml on master does not currently include matplotlib when building... Need to also add sudo apt-get install -y python-matplotlib to .travis.yml.

blacey

2016-01-27 17:10

developer   ~0006762

During regression testing on Ubuntu, I discovered that common linux package managers do not offer matplotlib libraries newer than version 1.3.1 so I have changed the implementation to dynamically import the appropriate matplotlib api versus requiring the newer matplotlib version 1.5.1 or greater.

More details on the change can be found here - http://forum.freecadweb.org/viewtopic.php?f=10&t=13944

blacey

2016-01-27 21:44

developer   ~0006763

Yorik, I'm assigning this to you so you can merge the resulting pull request https://github.com/FreeCAD/FreeCAD/pull/82

Pretty simple and benign change that I regressed on OS X and Linux.

Let me know if you have any questions or if I should follow some other process because this is my first FreeCAD CR and pull request.

Related Changesets

FreeCAD: master 9f907f5d

2016-01-27 07:30:42

blacey

Details Diff
Upgraded Plot module to comply with matplotlib 1.5.x API

Plot.py will check the version of matplotlib imported using the
distutils.version.StrictVersion class. If the version is less
than 1.5.0, it will import the legacy gt4agg NavigationToolbar
from matplotlib, otherwise the 1.5.x version.

Resolves 0002421
Affected Issues
0002421
mod - .travis.yml Diff File
mod - src/Mod/Plot/Plot.py Diff File

Issue History

Date Modified Username Field Change
2016-01-27 04:01 blacey New Issue
2016-01-27 04:01 blacey Status new => assigned
2016-01-27 04:01 blacey Assigned To => blacey
2016-01-27 04:01 blacey Relationship added related to 0002414
2016-01-27 04:55 blacey Note Added: 0006759
2016-01-27 04:55 blacey Status assigned => acknowledged
2016-01-27 17:10 blacey Note Added: 0006762
2016-01-27 21:43 blacey Assigned To blacey => yorik
2016-01-27 21:43 blacey Status acknowledged => assigned
2016-01-27 21:44 blacey Note Added: 0006763
2016-01-27 23:55 blacey Changeset attached => FreeCAD Master master 9f907f5d
2016-01-27 23:55 blacey Assigned To yorik => blacey
2016-01-27 23:55 blacey Status assigned => closed
2016-01-27 23:55 blacey Resolution open => fixed