-
Notifications
You must be signed in to change notification settings - Fork 12
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
Provide a much higher level override for the resolver #185
Comments
@dhellmann if we just need to provide a way to override where the resolver looks, why not just allow fromager to accept multiple sdists URL? It seems to be easier than writing a plugin to just override the sdist server URL? |
That's not all we need. The pyarrow plugin needs to look for wheels upstream, not sdists, but the torch and vllm plugins need to essentially hard-code versions. |
Now that I think about do we really need a separate override for this? If the user wants to override the sdist server url then they can achieve that by defining def get_resolver_provider(
ctx: context.WorkContext,
req: Requirement,
sdist_server_url: str,
include_sdists: bool,
include_wheels: bool,
) -> resolver.PyPIProvider:
return default_resolver_provider(
ctx,
req,
sdist_server_url="whatever url"
include_sdists=False # whatever the user wants
include_wheels=True # whatever the user wants
) As for hardcoding the versions, it makes sense to override |
If the goal again is to reduce the duplicate code in plugins and if we believe that this will be a common case, then we will need to add additional fields to settings.yaml |
This is a good point. What if we ship with that function in fromager, maybe called |
They will still have to define |
Right now we can override an entire resolver to perform the same sort of resolution during source lookup by using a different source of truth for version info. We also need to provide a way to override resolution at a higher level, so that plugins can use the python package index resolver with a different server, so plugins can hard-code a version, or so plugins and resolve versions using pre-built wheels when sdists are not available.
The text was updated successfully, but these errors were encountered: