Skip to content

Install non-pure package dependencies with micropip #179

Closed
@juntyr

Description

@juntyr

I'd like to experiment with the following setup:

  • pure Python packages without patches (where installing with micropip works) are removed from the Pyodide distro

  • for packages inside the Pyodide distro, micropip refuses to install a separate version, even if the package isn't loaded yet, i.e. if the package is requested as a dependency it's either the Pyodide-built version or nothing (even for pure wheels, since they [may] contain patches)

  • micropip is used to install the dependencies (expect for unpackaged dynlib dependencies) of Pyodide-built packages (using the metadata as with any other wheel), so pure and unpatched dependencies are fetched from PyPi and non-pure or patches dependencies come from Pyodide as described above

Would it be possible to hack this together, if so could you give some pointers for the micropip side?

My motivation is that I want to explore allowing users to come with a requirements file and installing that. Any non-pure or patched packages would be "anchors" that cannot be overridden, but any pure package with overlapping constraints could be installed (and since pure packages would no longer be part of the Pyodide distro this group would be much larger).

Thanks for your help!

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