Skip to content

META: Migrate to a conda compatible packages.json #791

@rth

Description

@rth

Currently pyodide has a very simple packages.json, and it would be helpful to add additional useful information (package versions, checksums, file sizes, python and emscripten versions, date of the build, etc).

Conda has a fairly well defined repodata.json (see e.g. another example here) and I would propose to just use that format as much as possible.

This has the advantage of an already existing standard. Also when one day conda package managers (e.g. mamba) are available in WebAssembly it might be possible to adapt them for dependency resolution of pyodide packages. cc @wolfv @SylvainCorlay

Currently the differences I see with the way conda packages work are,

  • pyodide packages are not necessarily compatible between releases, so for now there is 1 packages.json per pyoidide release (which also explains why the very simple dependency resolution that ignores versions is mostly sufficient)
  • there are 2 files (.js, .data) per package instead of 1, so we would probably need to use sha256_data and sha256_js keys

Also users can install pure python wheels from PyPi which poses its own challenges for dependency resolution.

This would a small step in the direction of a better integration with conda-forge (#38)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions