Skip to content

Load repodata from historically used channels (as stored in PrefixData) #52

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 6 commits into from
Sep 29, 2022

Conversation

jaimergp
Copy link
Contributor

Closes conda/conda#11790


I am not sure whether we should go this way, though. I think it's a good idea, but we also need to enable this on conda/conda, mamba and micromamba for better compatibility across the ecosystem.

Authenticated channels are the only blocker here, but it can be either worked around or handled gracefully with good errors.

See https://github.com/conda/conda/issues/11790
"""
with make_temp_env("conda-forge::xz", "python") as prefix:
output = check_output(
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Note we need a whole subprocess here because libmamba prints to STDERR directly, and that won't be intercepted with our naïve in-process capturing mechanisms.

@jaimergp jaimergp changed the title Load channels prefixdata Load repodata from historically used channels (as stored in PrefixData) Sep 13, 2022
Copy link
Member

@jezdez jezdez left a comment

Choose a reason for hiding this comment

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

LGTM in general, just a minor note about hard-coding the pseudo channel names. Thank you @jaimergp!

# skip if the channel has authentication info, because
# it might cause issues with expired tokens and what not
continue
if record.channel.name in ("@", "<develop>", "pypi"):
Copy link
Member

Choose a reason for hiding this comment

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

Do you know if we have a definite list of these pseudo channel names in conda that we don't have to hard-code it here?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I checked but I couldn't find it. Looks like they were added as needed for edge cases found during the development of orthogonal features. @ is for virtual channels, <develop> seems to come from pip install -e and pypi is found for pip install that do not have a conda-meta entry, as far as I can understand.

@jezdez jezdez merged commit 4e3f788 into main Sep 29, 2022
@jezdez jezdez deleted the load-channels-prefixdata branch September 29, 2022 15:57
@jaimergp
Copy link
Contributor Author

@jezdez Should we port this over to conda/conda?

@jaimergp jaimergp mentioned this pull request Jan 19, 2023
2 tasks
@github-actions github-actions bot added the locked [bot] locked due to inactivity label Oct 1, 2023
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Oct 1, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
locked [bot] locked due to inactivity
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Libmamba: Package is not available from channel. Solve job will fail.
2 participants