-
-
Notifications
You must be signed in to change notification settings - Fork 645
fix(pip): set better defaults for the new target_platforms attr #3447
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
fix(pip): set better defaults for the new target_platforms attr #3447
Conversation
Summary of ChangesHello @aignas, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request focuses on refining the Highlights
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request introduces a behavioral fixup for default values related to target_platforms. The core change in python/private/pypi/hub_builder.bzl modifies the logic to default to the host platform ({os}_{arch}) when no target_platforms are specified, which is a more intuitive and safer default than implicitly targeting all platforms. The modifications in MODULE.bazel and docs/BUILD.bazel seem to be test-related changes to support this fixup. My review includes a couple of suggestions focused on improving maintainability and readability.
| target_platforms = [] if default_cross_setup else pip_attr.target_platforms, | ||
| # TODO @aignas 2025-12-09: flip or part to default to 'os_arch' after | ||
| # VERSION_NEXT_FEATURE is released | ||
| target_platforms = pip_attr.target_platforms or ([] if default_cross_setup else ["{os}_{arch}"]), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
While the logic is correct, this expression is a bit dense and can be hard to parse at a glance. For improved readability and maintainability, consider extracting this logic into a local variable before the _platforms call. This would make the logic for determining the target platforms more explicit.
For example:
default_target_platforms = [] if default_cross_setup else [\"{os}_{arch}\"]
final_target_platforms = pip_attr.target_platforms or default_target_platformsThen you can pass final_target_platforms to the function call.
84e97bb to
cd11e69
Compare
Fixup the default values for the
target_platformsso that theusers can actually switch it as per docs.
I have also taken the liberty to update all of the tests to better
reflect how we set things up for legacy and index-url setups. As
it is now, legacy
bzlmodwhl_library layout is much more similarto WORKSPACE, which makes the transition easier.
Work towards #2949