conda / ceps

Conda Enhancement Proposals
Creative Commons Zero v1.0 Universal
19 stars 24 forks source link

CEP repodata state/info #48

Open dholth opened 1 year ago

dholth commented 1 year ago

Updates with edits, haven't heard back from @wolfv in a while, so making a PR directly to main branch.

wolfv commented 1 year ago

Hey @dholth thanks for pushing this further. Since we're reviewing the awesome implementation in rattler, I was wondering: we're storing two blake2 hashes now, and don't need to exactly match up the repodata.json formatting because of that?

dholth commented 1 year ago

Yes. Although we could format repodata.json in exactly the same way as conda-index, that formatting is not guaranteed. Instead, we store the hash that the server found when creating the patches, and the hash of what we wrote to disk. We save time by not reformatting and the server can change its formatting.

For example the anaconda.org channels don't pretty-format (but also don't have a way to provide jlap diffs).

We could consider adopting a formal json canonicalization scheme in the future.

wolfv commented 1 year ago

Thanks for the clarification. I think it'd be nice if the hashes match up but maybe we can fix that another time? Idk

dholth commented 1 year ago

Yes, we could do that in the future but in the meantime we are allowed to change this code https://github.com/conda/conda-index/blob/main/conda_index/index/__init__.py#L825-L833 without breaking clients.