Skip to content

Keep upip working when the package has several files per release #7295

Description

@aivarannamaa

Currently upip doesn't consider distribution packages, which have more than one file per release:

assert len(packages) == 1

In some cases the publishers might find it useful to provide different content for different targets under same distribution name. For example, only small part of https://pypi.org/project/Adafruit-Blinka/ is relevant on MicroPython target (thonny/thonny#1825 (comment)).

I suggest to remove the one file restriction from upip, so that it is able to work with specially made tar.gz even if there are other assets (eg. wheels) published under same release.

I can make the pull request.

For the context -- I started to work on a tool called minipip, which is inspired by micropip.py by @peterhinch, but supports also regular pip-installable packages. If upip becomes less strict about the number of files, then (in my vision) the community can start publishing libraries with separate assests for PC (py3 wheels), CircuitPython (eg. circuitpython6 and circuitpython7 wheels) and MicroPython (eg. micropython1 wheels for installing with pip and tar.gz for installing with upip).

This issue only considers tar.gz files, but you might want to look at aivarannamaa/minipip#5 for more ideas to ponder.

Activity

  1. changed the title [-]Keep upip working when the package has published several files per release[/-] [+]Keep upip working when the package has several files per release[/+] on May 22, 2021
  2. peterhinch commented on May 22, 2021

    @peterhinch
    Contributor

    The one caveat is to ensure that an enhanced upip is still effective on ESP8266 targets. As I understand it upip was significantly optimised to achieve this.

  3. aivarannamaa commented on Jan 7, 2022

    @aivarannamaa
    Author

    Related to #7067

  4. added a commit that references this issue on Dec 6, 2022
  5. aivarannamaa commented on Jul 12, 2024

    @aivarannamaa
    Author

    Closing, as upip is now history.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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