Skip to content
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

Support for combining sources/indexes #9156

Open
samskiter opened this issue Mar 14, 2024 · 2 comments
Open

Support for combining sources/indexes #9156

samskiter opened this issue Mar 14, 2024 · 2 comments
Labels
kind/feature Feature requests/implementations status/triage This issue needs to be triaged

Comments

@samskiter
Copy link

Issue Kind

Brand new capability

Description

Indexes such as piwheels exist to provide builds of python packages for additional platforms/architectures that are not provided by PyPI.

When using these with Pip, it is common to add them as an additional 'source' for wheels. Pip will search all provided indexes until it finds a wheel that it can install.

Poetry, on the other hand, will only record a single source per package when creating the lock file. This causes 2 issues:

  1. Cross-architecture installations
    • It is impossible to generate a lock file that can be used on two architectures, where one is provided for by piwheels and the other is provided for by pypi
  2. Complex single architecture installations
    • Some packages are found on one index, but happen not to be installable on that architecture - so a single architecture needs to pull from 2 indexes, but some those packages are available on both.

Impact

Poetry is largely unusable on Raspberry Pi:

#9145

Workarounds

Using markers and iterating

@samskiter samskiter added kind/feature Feature requests/implementations status/triage This issue needs to be triaged labels Mar 14, 2024
@dimbleby
Copy link
Contributor

we don't need both this and #9145, please close one or the other

@neersighted
Copy link
Member

I haven't checked yet to see if this is a duplicate; I suspect it is. That being said, the way Poetry treats each source as distinct instead of blending them together is a big differentiator from pip, and a major feature for most users.

I do think there is potentially some interesting possibilities to create a 'combined' source from one or more repo definitions (and indeed, perhaps some form of ordering makes sense there as well?) -- certainly with a lot of the sources refactoring that has happened recently (as well as PEP 658 support), this is a lot more practical than it was in the past.

It will also introduce potential complicates with e.g. metadata consistency validation and other features we want to add, so I think we should tread carefully in any case.

And if anyone can check if this issue is a duplicate/we just need to update discussion in an existing issue, it would be appreciated!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature Feature requests/implementations status/triage This issue needs to be triaged
Projects
None yet
Development

No branches or pull requests

3 participants