Skip to content

Debundle pyparsing #1290

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 9 commits into from
Closed

Debundle pyparsing #1290

wants to merge 9 commits into from

Conversation

Xarthisius
Copy link
Contributor

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
Copy link
Member

mdboom commented Sep 20, 2012

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 Use automatic dependency installation #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
Copy link
Contributor Author

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
Copy link
Member

mdboom commented Sep 20, 2012

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

@Xarthisius
Copy link
Contributor Author

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
Copy link
Member

mdboom commented Oct 8, 2012

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
Copy link
Member

pelson commented May 13, 2013

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

@mdboom
Copy link
Member

mdboom commented May 13, 2013

@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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants