Skip to content

Require toolz & soften cytoolz dependency #11700

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

Merged
merged 3 commits into from
Aug 9, 2022
Merged

Conversation

jakirkham
Copy link
Member

@jakirkham jakirkham commented Aug 8, 2022

Description

As the codebase can benefit from cytoolz when present and still fallback to toolz when cytoolz is absent, would suggest softening the dependency here to just require toolz. This can be particularly helpful when supporting other Python implementations (like PyPy, etc.) since toolz is pure Python and should just work out-of-the-box. Thus this simplifies the process of bootstrapping a new Python implementation with Conda. Additionally if one or the other is faster for a Python implementation, this leaves it up to users to decide.

xref: #11698, #11589, conda/conda-build#4556
supersedes: #11699

Checklist - did you ...

  • Add a file to the news directory (using the template) for the next release's release notes?
  • Add / update necessary tests?
  • Add / update outdated documentation?

@jakirkham jakirkham requested a review from a team as a code owner August 8, 2022 19:02
@jakirkham
Copy link
Member Author

@travishathaway @kenodegard, would be interested in your feedback here 🙂

kenodegard
kenodegard previously approved these changes Aug 8, 2022
Copy link
Contributor

@kenodegard kenodegard left a comment

Choose a reason for hiding this comment

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

@jakirkham good idea!

dholth
dholth previously approved these changes Aug 8, 2022
jezdez
jezdez previously approved these changes Aug 8, 2022
@conda-bot conda-bot added the cla-signed [bot] added once the contributor has signed the CLA label Aug 8, 2022
@jakirkham jakirkham dismissed stale reviews from jezdez, dholth, and kenodegard via bcd24dd August 8, 2022 20:14
@jakirkham
Copy link
Member Author

Pushed a small tweak to the news entry since it sounds like we are ok with this change. Thanks all for taking a look 🙏

@kenodegard kenodegard enabled auto-merge (squash) August 8, 2022 20:23
@kenodegard
Copy link
Contributor

🤦🏼‍♂️ conda-build imports from cytoolz with a fallback to conda._vendor.toolz. This will need to be removed first, until that time, cytoolz needs to remain a hard dependency.

@jakirkham jakirkham mentioned this pull request Aug 8, 2022
3 tasks
@jakirkham
Copy link
Member Author

jakirkham commented Aug 8, 2022

Submitted PR ( conda/conda-build#4557 ) for corresponding conda-build updates

Nvm Ken beat me to it 😂 Please see PR ( conda/conda-build#4556 )

@jezdez
Copy link
Member

jezdez commented Aug 9, 2022

Okay, I've merged the conda-build fix, this is a bit of a mess, glad we fix this now :)

Copy link
Contributor

@kenodegard kenodegard left a comment

Choose a reason for hiding this comment

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

I still think we need to leave cytoolz as a hard dependency for a few releases (at least until the end of the year?), thoughts @jezdez?

As the codebase can benefit from `cytoolz` when present and still
fallback to `toolz` when `cytoolz` is absent, would suggest softening
the dependency here to just require `toolz`. This can be particularly
helpful when supporting other Python implementations (like PyPy, etc.)
since `toolz` is pure Python and should just work out-of-the-box. Thus
this simplifies the process of bootstrapping a new Python implementation
with Conda. Additionally if one or the other is faster for a Python
implementation, this leaves it up to users to decide.
Needed by `conda init --install`.
@kenodegard kenodegard merged commit bec287d into conda:main Aug 9, 2022
@jakirkham jakirkham deleted the req_toolz branch August 9, 2022 19:06
@jakirkham
Copy link
Member Author

Thanks Ken and Jannis for shepherding these through 🙂

@kenodegard
Copy link
Contributor

@jakirkham thanks for your help on all of these, waiting to see if the canary builds start passing again with this latest PR

@jakirkham
Copy link
Member Author

Please let me know what you find out

@github-actions github-actions bot added the locked [bot] locked due to inactivity label Aug 10, 2023
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Aug 10, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
cla-signed [bot] added once the contributor has signed the CLA locked [bot] locked due to inactivity
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

5 participants