-
Notifications
You must be signed in to change notification settings - Fork 7
feat: add pypi to conda mapping #33
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
base: main
Are you sure you want to change the base?
Conversation
|
Thanks a lot for this @nichmor! It seems to me like this would be a lot simpler (in my mind at least) as a table instead of a mapping, as per #11 (comment). So for PyPI→conda-forge For the conda-forge→PyPI This way you only need one schema and it serves both mappings. Also, when you parse published conda-forge packages, you simply need to add rows to the master table. What do you think? |
|
Oh wow, thanks soooooo much everyone for taking into account my feedback, it really means a lot to me!!! 🙏 I believe that this will make it so much easier to use universally. |
|
So this PR expanded by a lot, because of the functionality I needed to test things. Based on the previous work by @nichmor, @wolfv and the suggestions by @maresb . I did a lot of work on this branch together with CLAUDE. And basically setup a new pipeline to do the conversion, also added a small explorer to have a rich cli to explore the mappings. We also modified the README to include all of this new information. The pipelines have also been merged into a templated one, I've triggered this in CI so that the PyPI mappings are now actually online behind the Next up, we made a full integration test with an in-memory s3, so that we can verify that the pipelines keep working. Finally, we added a When all this is merged I want to add a small marimo example for @maresb that he can use to explore the RelationTable as well. |
The PyPI - Conda name mapping that maps a PyPI package to it's known Conda counterpart.
This only works for packages that are available on the conda channels that it references.
This is available at
https://conda-mapping.prefix.dev/pypi-to-conda-v0/{channel}/{pypi-normalized-name}.jsonwhere the channel is the name of the channel and the{pypi-normalized-name}is the normalized name of the package on PyPI.Example:
for
requestswe can usehttps://conda-mapping.prefix.dev/pypi-to-conda-v0/conda-forge/requests.json, which will give you the corresponding json.The schema will be saved at this location:
https://conda-mapping.prefix.dev/pypi-to-conda-v0/conda-forge/schema/schema.json