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

python_distribution editable installs in exports #18639

Merged
merged 33 commits into from
Apr 10, 2023

Commits on Apr 8, 2023

  1. naive PEP660

    cognifloyd committed Apr 8, 2023
    Configuration menu
    Copy the full SHA
    d1cfd68 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d36b839 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    49465d9 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    692afac View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    eb941f4 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    d15ecb4 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    b18f000 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    cfd7213 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    7a52ce0 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    6909550 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    d86a9a7 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    cec0583 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    750c562 View commit details
    Browse the repository at this point in the history
  14. refactor editable wheel passing and installation

    Installing the editable wheels via a pex was not effective.
    Using pex-tools to install two different pexes in the same venv
    caused conflicts with the __main__.py file. Using pex_path did
    not work because the editable wheel pex only had the editable
    wheels, not any of the dependencies. So, installing them in
    a pex was not effective.
    
    However, it does work to tell pex that the wheels are "sources".
    That way, pex just dumps them in the lib directory. Then, it
    was just a matter of adding the post-processing commands to
    move, install, and wrap up installation of the editable wheels.
    
    Even though we use pip to install the editable wheels, pants is
    both backend and frontend for PEP 660, because we generate the
    wheel (delegating dist-info generation to the external backend)
    and then install the wheel (delegating unpacking the wheel to
    pip). The final piece of complying with PEP-660 is to mark the
    install as an editable install via direct_url.json. We generate
    that when building the wheel, and then move it into place after
    pip has installed the editable wheels for us.
    
    One other method I considered was installing the editable
    wheels in the requirements pex. But I could not figure out how
    to combine EntireLockfile with additional wheel requirements.
    So, I punted and went merely passing the wheels as is via pex
    instead of attempting to install them in any pex.
    
    Finally, all of the export and local_dists_pep660 test pass!
    cognifloyd committed Apr 8, 2023
    Configuration menu
    Copy the full SHA
    f2b8b58 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    3557fac View commit details
    Browse the repository at this point in the history
  16. add [export].py-editables-in-resolves option

    This way people have to opt into including the editables (and therefore
    incurring the cost of finding/building/installing the PEP-660 wheels).
    cognifloyd committed Apr 8, 2023
    Configuration menu
    Copy the full SHA
    6357b85 View commit details
    Browse the repository at this point in the history
  17. typos

    cognifloyd committed Apr 8, 2023
    Configuration menu
    Copy the full SHA
    b65a079 View commit details
    Browse the repository at this point in the history
  18. fix option access

    cognifloyd committed Apr 8, 2023
    Configuration menu
    Copy the full SHA
    0aa9172 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    d5b3562 View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    2001e4f View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    b660c57 View commit details
    Browse the repository at this point in the history
  22. Configuration menu
    Copy the full SHA
    3f57983 View commit details
    Browse the repository at this point in the history
  23. adjust for moved rules

    cognifloyd committed Apr 8, 2023
    Configuration menu
    Copy the full SHA
    9c1df00 View commit details
    Browse the repository at this point in the history
  24. address review feedback

    cognifloyd committed Apr 8, 2023
    Configuration menu
    Copy the full SHA
    017dc7b View commit details
    Browse the repository at this point in the history
  25. reformat

    cognifloyd committed Apr 8, 2023
    Configuration menu
    Copy the full SHA
    d230ea5 View commit details
    Browse the repository at this point in the history
  26. Configuration menu
    Copy the full SHA
    0d95146 View commit details
    Browse the repository at this point in the history
  27. Configuration menu
    Copy the full SHA
    fb4fbcd View commit details
    Browse the repository at this point in the history
  28. Configuration menu
    Copy the full SHA
    26d0091 View commit details
    Browse the repository at this point in the history
  29. reformat and misc fixes

    cognifloyd committed Apr 8, 2023
    Configuration menu
    Copy the full SHA
    c50724e View commit details
    Browse the repository at this point in the history

Commits on Apr 9, 2023

  1. fix arg name

    cognifloyd committed Apr 9, 2023
    Configuration menu
    Copy the full SHA
    e4f0748 View commit details
    Browse the repository at this point in the history
  2. add deps

    cognifloyd committed Apr 9, 2023
    Configuration menu
    Copy the full SHA
    9090edf View commit details
    Browse the repository at this point in the history
  3. backend wrapper bugs

    cognifloyd committed Apr 9, 2023
    Configuration menu
    Copy the full SHA
    15fbc1e View commit details
    Browse the repository at this point in the history

Commits on Apr 10, 2023

  1. Configuration menu
    Copy the full SHA
    8250103 View commit details
    Browse the repository at this point in the history