tree a8fbb02a94056da4b228e7afe0fe39f1caaf9a20
parent 30fc3f99b5fa50e0dc99ef0465c0b1ae89fb9212
author Richard Levasseur <rlevasseur@google.com> 1728338597 -0700
committer GitHub <noreply@github.com> 1728338597 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJnBFq0CRC1aQ7uu5UhlAAAjEEQAJ7PVV80NRBXf708B3WN3Tqo
 pBnsZTzw6emzdmTH/eNlPay48rwMc3MBmsNigGchTp/QQDtiw+e/ef5tRWmJiU6o
 XmbTV64bpO0+xS/IDTX3IqWQFip1cMkAinMwFvzWYjGj9A9Tgs2X6aj4JfjjdR3+
 a0GPhwQhqgV5FuWL2eUvqwt5+XNMKmFAoabrT/NOnR+hSsi9EO7KG3YdToiwfgpd
 YEeMdsR7t1xfBGuc+X7pjnE4iRi4rq7pcDnkSQA7mz26abSmEtXEEo0PAUIDPA3w
 FPeGjDDoKe3h8RNoWkcEMEA6wUzdB3TtNDxjZ10avvWTQZ4oyj9VeZc1uimDrt/b
 uIGzPAeC4NmIhAKHhY6qiOusF4ZdwlrHT4KGfVRKMad+modKhPwUDcKTcKEFfCjK
 vlFXoKB5EuGcaijob1kJoPaQcPQo+qhsb6hTZ488AnRSbWIomymb6Qg+Vsqui2ol
 YqP5kv7jsXRxSqmQH3i80LyA3cVOMxRs/ec0BGzg+VLX8JueRGuyEcWxTXiiNDMe
 1ZiyEQSznPRwqg+MsMZiI+USKMI5lo6uPKvnffYoQ2zoFUp1xqO/xI3U+6VKrcdD
 tt8SoiFbXdRCW2LtrXFBNqbyyqtQ2d5OIA16OfQuK9j6GFISFEzsan+0LhrazJp5
 izHUjQjFe4yo9wlnx/fg
 =lHE3
 -----END PGP SIGNATURE-----
 

feat: add public API for analysis-phase logic (#2252)

This adds a public API for rules (i.e. analysis-phase code) to use code
from rules_python.
The main motivation for this is so that users can propagate PyInfo
without having to know
all the fields of PyInfo and implement the merging logic. With upcoming
PRs adding additional
fields to PyInfo, this becomes much more important.

The way the API is exposed is through a target. There are three reasons
for this:
1. It avoids loading phase costs when the implementation of the API
functions change.
Within Google, this makes changes to rules_python much cheaper and
easier to submit
and revert. This also allows us to worry less about the loading-phase
impact of
   our code.
2. Because a target can have dependencies, it allows us to hide some
details
from users. For example, if we want a flag to affect behavior, we can
add it to the
API target's attributes; users don't have to add it to their rule's
attributes
3. By having the API take the user's `ctx` as an argument, it allows us
to capture it
and use it as part of future API calls (this isn't used now, but gives
us
   flexibility in the future).

Work towards https://github.com/bazelbuild/rules_python/issues/1647