Debundle pyparsing #1290

Closed
wants to merge 9 commits into
from

3 participants

@Xarthisius

Hi,
I'd like to revisit the issue of bundling pyparsing [1],[2]. Recently I've encounter python project that did import matplotlib.pyparsing so it's getting slightly out of hand. My question: do original point of "pyparsing API being too fluid" still stands, were your patches merged? Upstream repository seems to be quiet at the moment. Also I've been using maplotlib with pyparsing-1.5.6 without any problems
Cheers,
Kacper
[1] http://www.mail-archive.com/matplotlib-devel@lists.sourceforge.net/msg05108.html
[2] https://bugs.gentoo.org/show_bug.cgi?id=260025

@mdboom
Matplotlib Developers member

Yes, the pyparsing API seems to have stabilized since that message was written, and we currently ship "vanilla" pyparsing 1.5.5. However:

1) This PR is far from complete -- matplotlib itself needs to be updated to depend on and use a globally installed pyparsing. Are you sure you have tested matplotlib with pyparsing 1.5.6 and all unit tests pass?

2) In the Windows and OS-X binaries, we ship third-party libraries to make installation easier. See how we handle dateutil and pytz. The same needs to be done here.

3) Ultimately, this should be done in the larger context of #1157. We don't have a good solution to that yet, but whatever it is needs to have no impact on those using the Windows and OS-X binaries.

@Xarthisius

Fair enough, I'll work on less intrusive solution. Perhaps, checking for system pyparsing and fallback to bundled one if former is not found?

@mdboom
Matplotlib Developers member

Yes -- that's what we do with dateutil and pytz at the moment.

@Xarthisius

Oh geez, I've made a mess... I wasn't aware that all my random commits will be subject to validation via Travis. Sorry for wasting your cycles.

@mdboom
Matplotlib Developers member

Don't worry about wasting our cycles -- you're saving a lot of our human cycles by working on this!

You may also be interested in MEP11 -- which began in part as a result of this PR -- and the associated discussion on the mailing list.

@pelson
Matplotlib Developers member

@mdboom & @Xarthisius - where does this sit with the new setup machinery? Is this now obsolete?

@mdboom
Matplotlib Developers member

@pelson: Thanks for pointing this out again. Yes, as of 1.3.0, pyparsing is unbundled and will be installed by pip if the user installs that way.

@mdboom mdboom closed this May 13, 2013
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment