Skip to content
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

Split into matplotlib and matplotlib-base #178

Merged
merged 3 commits into from
Oct 3, 2018
Merged

Split into matplotlib and matplotlib-base #178

merged 3 commits into from
Oct 3, 2018

Conversation

marcelm
Copy link
Contributor

@marcelm marcelm commented Sep 20, 2018

This closes #2 by splitting matplotlib into a matplotlib and a matplotlib-core package:

  • matplotlib becomes a metapackage that depends on matplotlib-core and pyqt
  • matplotlib-core is the same as the previous matplotlib package, except that it does not depend on pyqt.

Due to the new backend fallback mechanism in Matplotlib 3.0.0, a user who choses to install matplotlib-core will get the TkAgg backend automatically.

Closes #2. Supercedes #157.

I have had little experience with multiple outputs and it took me a while to get it to work, so I’ll appreciate feedback. In particular, I am not sure whether it was necessary to rename build.sh. The problem was that it was called even when packaging the matplotlib-core subpackage, which failed because the script assumes the build dependencies are available.

Checklist

  • Used a fork of the feedstock to propose changes
  • Bumped the build number (if the version is unchanged)
  • Reset the build number to 0 (if the version changed)
  • Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
  • Ensured the license file is being packaged.

See also the discussion at
#2
@conda-forge-linter
Copy link

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@mingwandroid
Copy link

Could we use base instead of core, I only ask as there's some precedent for that (e.g. r-base).

recipe/meta.yaml Outdated
- mpl_toolkits
- pylab
outputs:
- name: matplotlib-core
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The first name above is ignored and we are using matplotlib-split just as a convention. That means you need a second output that is named matplolib that depends on matplolib-core and the optional dependencies.

Pinging @msarahan here who knows more about split packages.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, that's correct. See the numpy recipe for reference: https://github.com/AnacondaRecipes/numpy-feedstock/blob/master/recipe/meta.yaml

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hm, but running conda build locally definitely produced two packages, and they even worked as expected when I installed them into test environments. I used the implicit metapackages feature. Or do I misunderstand something?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If it works, you're fine. That has been fragile in the past, but hopefully we have it tested well enough now.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, thanks, then I’ll leave it for now.

@marcelm
Copy link
Contributor Author

marcelm commented Sep 20, 2018

I like -base also better and changed it.

@mingwandroid
Copy link

Thanks @marcelm.

@marcelm marcelm changed the title Split into matplotlib and matplotlib-core Split into matplotlib and matplotlib-base Sep 22, 2018
@marcelm
Copy link
Contributor Author

marcelm commented Oct 1, 2018

Here comes a friendly reminder that this PR is still open.

@ocefpaf
Copy link
Member

ocefpaf commented Oct 1, 2018

To avoid naming future naming issues with defaults I would appreciate @msarahan and @jjhelmus approvals here. (I guess we alreay have @mingwandroid's 😉)

@ocefpaf
Copy link
Member

ocefpaf commented Oct 3, 2018

Thanks @jjhelmus!

@ocefpaf ocefpaf merged commit 90e1c98 into conda-forge:master Oct 3, 2018
@marcelm marcelm deleted the metapackage branch October 3, 2018 12:38
@marcelm
Copy link
Contributor Author

marcelm commented Oct 3, 2018

Yay, thanks so much!

@ocefpaf
Copy link
Member

ocefpaf commented Oct 3, 2018

Yay, thanks so much!

Thank you for the PR! This was "in the works" since #2 but b/c matplotlib is so fundamental to the scientific stack we moved at a glacial pace here. Thanks for unlocking it!

marcelm added a commit to bioconda/bioconda-recipes that referenced this pull request Jan 27, 2020
The matplotlib package has been split into a matplotlib and matplotlib-base package a while ago, see conda-forge/matplotlib-feedstock#178 . The only difference is that matplotlib-base does not include on pyqt, reducing installation size significantly. Unless matplotlib’s PyQt backend is explicitly required, depending on matplotlib-base is sufficient.
BiocondaBot pushed a commit to bioconda/bioconda-recipes that referenced this pull request Jan 28, 2020
Merge PR #19985, commits were: 
 * Depend on matplotlib-base instead of matplotlib

The matplotlib package has been split into a matplotlib and matplotlib-base package a while ago, see conda-forge/matplotlib-feedstock#178 . The only difference is that matplotlib-base does not include on pyqt, reducing installation size significantly. Unless matplotlib’s PyQt backend is explicitly required, depending on matplotlib-base is sufficient.
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.

Split into meta packages
6 participants