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

Dependencies on pillow and anaconda-project #49

Closed
mbargull opened this issue Nov 1, 2023 · 7 comments · Fixed by #53
Closed

Dependencies on pillow and anaconda-project #49

mbargull opened this issue Nov 1, 2023 · 7 comments · Fixed by #53
Labels

Comments

@mbargull
Copy link
Member

mbargull commented Nov 1, 2023

Comment:

In #36

anaconda-project>=0.9.1
pillow>=8.2

from https://github.com/Anaconda-Platform/anaconda-client/blob/1.11.1/requirements-extra.txt have been added as hard dependencies.

This is generally fine since it is common for conda-forge packages to ship optional dependencies by default.

In this case though, we drag in some unneeded/unwanted baggage for all our CI runs since our infrastructure depends on this packages.
Concrete, we have

  1. pillow itself which is a unreasonably large (over 40MB) package since Included tests make the package large pillow-feedstock#117 has not been resolved.
  2. anaconda-project (transitively) drags in 22 more dependencies (currently on linux-64 when creating a fresh environment):
    1. nearly all those dependencies are small,
    2. but it also includes pillow, i.e., see above,
    3. [EDIT] scratch that above; that was only due to anaconda-project depending on anaconda-client itself;
      so, we may just want to remove that cyclic dependency,
    4. and it includes the unneeded/unmaintained ruamel_yaml which I'd like to remove generally.

(As for the last point, I've opened a PR orthogonal to this issue to switch anaconda-project to ruamel.yaml at anaconda/anaconda-project#399 .)


Could we either remove this dependencies again or create a sub package anaconda-client-XXX which does not include those?

@jakirkham
Copy link
Member

@vshevchenko-anaconda would be interested to hear your thoughts here?

Also curious to know whether these dependencies could be softened upstream

@mbargull
Copy link
Member Author

(N.B.: If/when we do this, we have to coordinate this with @isuruf since it affects other infrastructure things he works on.)

@jakirkham
Copy link
Member

What are Pillow and Anaconda-Project used for?

Asking to understand how this would affect other things

@mbargull
Copy link
Member Author

What are Pillow and Anaconda-Project used for?

  • anaconda-project: uploading Anaconda projects.
  • pillow: converting/creating icons/thumbnails when inspecting conda packages/ipynbs or uploading ipynbs.

Those are comparatively niche uses so inclusion by default has less benefit in comparison to improved resource usage.
In case there's going to be demand for this, we can address this in future whilst ensuring the default use cases are not as negatively impacted.


For comparison, https://github.com/AnacondaRecipes/anaconda-client-feedstock/blob/9b0bfa3b9fec973b4911cf65efcb4e997d2c3db8/recipe/meta.yaml#L29 also does not include those by default.

@isuruf
Copy link
Member

isuruf commented Jun 29, 2024

Support for both will be removed in future anaconda.org as mentioned in the last meeting.

@mbargull
Copy link
Member Author

Ah, nice, thanks for mentioning that!
(Ha, I only joined the meeting after that has been discussed and didn't check the notes, whoops.)

@jakirkham
Copy link
Member

jakirkham commented Jun 29, 2024

Projects, notebooks, and environments are being removed

Don't recall them mentioning icons. That said, Idk whether these see much usage now

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

Successfully merging a pull request may close this issue.

3 participants