#9082 introduced a nice new geometry manager, but now installing Matplotlib requires installing kiwisolver. Would it be possible to make this an optional dependency that is only needed for doing constrained layout stuff (especially since the layout stuff is experimental at the moment)?
On my machine at least it doesn't seem to come pre-compiled so builds it from a source distribution, which takes ~30 secs. It's not a massive issue, but keeping the install simple with minimum dependencies would be nice.
@tacaswell and @QuLogic discussed on gitter, and should be the final arbitrers. I have no idea how onerous this dependency is in the general install world, but it would be a shame from a usability point of view if it wasn't installed by default. e.g. its a lot easier to tell a user to try constrained_layout=True then to get them to pip intstall kiwisolver, etc etc after they have already installed matplotlib.
Looks like @matthew-brett is trying to get OSX wheels built for that? (nucleic/kiwi#44)
FWIW it is really easy to build a manylinux wheel (once you have a standard manylinux docker setup).
what's wrong with running pytest from their source folder? (yes, you may prefer being sure not to be accidentally importing something from the source tree, but it's a C-only package with no python component so indeed you won't be importing anything from the source tree (other than the tests))
@MatthieuDartiailh - I guess you're planning to keep updating these for new releases? I'm asking because it may well affect whether Matplotlib takes Kiwisolver as a dependency.
Yes I will keep updating those. Even though I have no short term plans for updates to this library. However should any bugs be found, I will try to address those and release in consequence.
Activity
jklymak commented on Feb 6, 2018
Is kiwisolver being a difficult install?
dstansby commented on Feb 6, 2018
On my machine at least it doesn't seem to come pre-compiled so builds it from a source distribution, which takes ~30 secs. It's not a massive issue, but keeping the install simple with minimum dependencies would be nice.
jklymak commented on Feb 6, 2018
@tacaswell and @QuLogic discussed on gitter, and should be the final arbitrers. I have no idea how onerous this dependency is in the general install world, but it would be a shame from a usability point of view if it wasn't installed by default. e.g. its a lot easier to tell a user to try constrained_layout=True then to get them to pip intstall kiwisolver, etc etc after they have already installed matplotlib.
anntzer commented on Feb 6, 2018
Looks like @matthew-brett is trying to get OSX wheels built for that? (nucleic/kiwi#44)
FWIW it is really easy to build a manylinux wheel (once you have a standard manylinux docker setup).
story645 commented on Feb 6, 2018
@jklymak it's also required for the tests...which are there own odd install set.
matthew-brett commented on Feb 6, 2018
@anntzer - yes I'm using multibuild which builds both OSX and manyinux wheels, as well as Windows wheels:
https://github.com/MacPython/kiwisolver-wheels
The sticking point is the issue you've pointed to.
anntzer commented on Feb 6, 2018
what's wrong with running pytest from their source folder? (yes, you may prefer being sure not to be accidentally importing something from the source tree, but it's a C-only package with no python component so indeed you won't be importing anything from the source tree (other than the tests))
story645 commented on Feb 6, 2018
I am running pytest from the source folder!
anntzer commented on Feb 6, 2018
I meant the kiwi tests (the issue mentioned by @matthew-brett in the kiwi repo).
matthew-brett commented on Feb 6, 2018
@anntzer - yes, that's not a bad idea in our case (where we do have the source repo to hand) - I'll give it a go.
QuLogic commented on Feb 7, 2018
kiwisolver is in Fedora now.
jklymak commented on Feb 7, 2018
Thanks a lot @QuLogic
matthew-brett commented on Feb 11, 2018
The Kiwisolver maintainer @MatthieuDartiailh has kindly put up wheels now:
https://pypi.org/project/kiwisolver/#files
@MatthieuDartiailh - I guess you're planning to keep updating these for new releases? I'm asking because it may well affect whether Matplotlib takes Kiwisolver as a dependency.
MatthieuDartiailh commented on Feb 11, 2018
Yes I will keep updating those. Even though I have no short term plans for updates to this library. However should any bugs be found, I will try to address those and release in consequence.
dstansby commented on Feb 11, 2018
I'm happy leaving this as a dependency in that case - thanks a lot @MatthieuDartiailh for making the wheels!
MatthieuDartiailh commented on Feb 11, 2018
You should rather thank @matthew-brett for setting up the whole infrastructure. Even the upload of the wheels is automated.
jamesshannon commented on Oct 21, 2018
FWIW kiwisolver takes a non-trivial amount of time (maybe 5 minutes) to compile & install on my power- and resource- constrained raspberry Pi.
matthew-brett commented on Oct 21, 2018
I believe there are wheels, for Python 3.5 : https://www.piwheels.hostedpi.com/simple/kiwisolver/