8000 PEP 710: Recording the provenance of installed packages by fridex · Pull Request #3076 · python/peps · GitHub
[go: up one dir, main page]

Skip to content

PEP 710: Recording the provenance of installed packages #3076

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& 8000 rdquo;, 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

Merged
merged 29 commits into from
Apr 3, 2023

Conversation

fridex
Copy link
Contributor
@fridex fridex commented Mar 27, 2023

Based on discussion in this thread, opening this pull-request with a draft PEP.

@CAM-Gerlach: Just for the others' benefit (and to cross-reference them), this was originally submitted as PR #2988 , but later withdrawn, revised and re-submitted here.


📚 Documentation preview 📚: https://pep-previews--3076.org.readthedocs.build/

Signed-off-by: Fridolin Pokorny <fridolin.pokorny@datadoghq.com>
@fridex fridex requested a review from a team as a code owner March 27, 2023 19:47
@Rosuav
Copy link
Contributor
Rosuav commented Mar 27, 2023

PEP 710 is available.

@fridex fridex changed the title PEP 9999: Recording provenance of installed packages PEP 710: Recording provenance of installed packages Mar 27, 2023
@fridex
Copy link
Contributor Author
fridex commented Mar 27, 2023

PEP 710 is available.

Thanks, renamed to PEP-710.

Signed-off-by: Fridolin Pokorny <fridolin.pokorny@datadoghq.com>
@brettcannon
Copy link
Member

Please include an update to CODEOWNERS so Donald gets updates to the PEP.

@brettcannon brettcannon requested a review from dstufft March 27, 2023 23:10
Signed-off-by: Fridolin Pokorny <fridolin.pokorny@datadoghq.com>
Copy link
Member
@CAM-Gerlach CAM-Gerlach left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Standard reminder: You can directly apply all the suggestions you want in one go by going to Files changed -> Clicking Add to batch on each suggestion -> When done, clicking Commit

Basic requirements (all PEP Types)

  • Read and followed PEP 1 & PEP 12
  • File created from the latest PEP template
  • PEP has next available number, & set in filename (pep-NNNN.rst), PR title (PEP 123: <Title of PEP>) and PEP header
  • Title clearly, accurately and concisely describes the content in 79 characters or less
  • Core dev/PEP editor listed as Author or Sponsor, and formally confirmed their approval
  • Author, Status (Draft), Type and Created headers filled out correctly
  • PEP-Delegate, Topic, Requires and Replaces headers completed if appropriate
  • Required sections included
    • Abstract (first section)
    • Copyright (last section; exact wording from template required)
  • Code is well-formatted (PEP 7/PEP 8) and is in code blocks, with the right lexer names if non-Python
  • PEP builds with no warnings, pre-commit checks pass and content displays as intended in the rendered HTML
  • Authors/sponsor added to .github/CODEOWNERS for the PEP

Standards Track requirements

  • PEP topic discussed in a suitable venue with general agreement that a PEP is appropriate
  • Suggested sections included (unless not applicable)
    • Motivation
    • Rationale
    • Specification
    • Backwards Compatibility
    • Security Implications
    • How to Teach This
    • Reference Implementation
    • Rejected Ideas
    • Open Issues
  • Right before or after initial merging, PEP discussion thread created and linked to in Discussions-To and Post-History

Copy link
Member
@CAM-Gerlach CAM-Gerlach left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FWIW, this is pretty huge improvement over last time; thanks @fridex and everyone who contributed! Other than a grab-bag of requested fixes (nearly all one-click suggestions), I only have a handful of higher-level comments/missing pieces, most if not all of which should be fairly straightforward to add.

Higher-level comments for after suggestions are applied:

  • I suggest include a brief Rationale section describing the reasoning behind the approach chosen in this PEP, and/or a brief history of the discussions that led to this PEP being proposed
  • A security implication section should at least briefly mention the security benefits to this proposal, and any potential issues it may have
  • A one-line "How to teach this" section could simply state that this metadata is intended for tools and is not directly visible to end users.
  • A Reference Implementation section should highlight and link the PRs you've already prepared (sort of similar to what you previously put in the "References" section instead
  • By standard convention, Backward Compatibility goes directly after the specification, not at the very end after Rejected Ideas and Open Issues

@CAM-Gerlach CAM-Gerlach changed the title PEP 710: Recording provenance of installed packages PEP 710: Recording the provenance of installed packages Mar 28, 2023
@CAM-Gerlach CAM-Gerlach added the new-pep A new draft PEP submitted for initial review label Mar 28, 2023
Fridolín Pokorný and others added 2 commits March 28, 2023 12:00
Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>
Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>
Fridolín Pokorný added 2 commits March 28, 2023 12:17
Minor formatting fixes
Signed-off-by: Fridolin Pokorny <fridolin.pokorny@datadoghq.com>
@CAM-Gerlach
Copy link
Member

Just for the others' benefit (and to cross-reference them), this was originally submitted as PR #2988 , but later withdrawn, revised and re-submitted here.

Signed-off-by: Fridolin Pokorny <fridolin.pokorny@datadoghq.com>
Fridolín Pokorný and others added 3 commits March 28, 2023 17:57
Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>
Signed-off-by: Fridolin Pokorny <fridolin.pokorny@datadoghq.com>
Signed-off-by: Fridolin Pokorny <fridolin.pokorny@datadoghq.com>
Signed-off-by: Fridolin Pokorny <fridolin.pokorny@datadoghq.com>
Fridolin Pokorny added 3 commits March 30, 2023 13:29
Signed-off-by: Fridolin Pokorny <fridolin.pokorny@datadoghq.com>
Signed-off-by: Fridolin Pokorny <fridolin.pokorny@datadoghq.com>
Signed-off-by: Fridolin Pokorny <fridolin.pokorny@datadoghq.com>
Copy link
Member
@CAM-Gerlach CAM-Gerlach left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great job adding a detailed and complete Rationale section; thanks! I have some textual copyedits, fixes and refinements on that, but otherwise this is looking pretty good to go on my end, pending final review and approval from @dstufft and any other subject-matter experts. Thanks!

Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>
@fridex
Copy link
Contributor Author
fridex commented Mar 30, 2023

Great job adding a detailed and complete Rationale section; thanks! I have some textual copyedits, fixes and refinements on that, but otherwise this is looking pretty good to go on my end, pending final review...

Thanks for suggestions! I planned to include the mentioned research on possible clash with provenance_url.json file. I can find some time to make it later today or tomorrow if it is still relevant.

EDIT: done in de7cf45

Fridolin Pokorny added 6 commits March 31, 2023 11:19
Signed-off-by: Fridolin Pokorny <fridolin.pokorny@datadoghq.com>
Signed-off-by: Fridolin Pokorny <fridolin.pokorny@datadoghq.com>
Signed-off-by: Fridolin Pokorny <fridolin.pokorny@datadoghq.com>
Signed-off-by: Fridolin Pokorny <fridolin.pokorny@datadoghq.com>
Signed-off-by: Fridolin Pokorny <fridolin.pokorny@datadoghq.com>
Copy link
Member
@CAM-Gerlach CAM-Gerlach left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Various suggestions on the added content (many related to removing an unnecessarily-complex layer of link indirection, as well as some grammar and other textual fixes), as well as a couple broader comments—most notably, I recommend moving the comprehensive tool survey to an appendix (as described in more detail in a comment below). Thanks!

Fridolín Pokorný and others added 2 commits March 31, 2023 17:48
Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>
Signed-off-by: Fridolin Pokorny <fridolin.pokorny@datadoghq.com>
@pradyunsg
Copy link
Member

Given that this is being extensively reviewed, wanna mark this as ready for review? ;)

Copy link
Member
@CAM-Gerlach CAM-Gerlach left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a couple last small syntax fixes (as suggestions); otherwise LGTM from me! Thanks so much for your patience and hard work on this, @fridex !

Also, just BTW—after much testing, I was able to isolate an edge-case issue with our code where the References section in your PEP wasn't being properly hidden, due to containing reference names that duplicate/shadow implicit section title references (which isn't a problem, so long as you don't use them...one more reason not to). I've submitted PR #3083 to take care of that (which isn't a blocker to merging this one).

Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>
@fridex
Copy link
Contributor Author
fridex commented Apr 2, 2023

Just a couple last small syntax fixes (as suggestions); otherwise LGTM from me! Thanks so much for your patience and hard work on this, @fridex !

Thanks to you, the PEP is on a whole different level! Thank you very much for your time, suggestions and fixes.

Copy link
Member
@CAM-Gerlach CAM-Gerlach left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM as a PEP editor; thanks again for all your hard work on this @fridex , and the many others who contributed so far! I'll leave it to @dstufft for his review as the sponsor and subject matter expert.

@CAM-Gerlach
Copy link
Member

Thanks to you, the PEP is on a whole different level!

You're most welcome! But to be fair, I'd say there was a many-level difference between when the PEP was first submitted and now, which was thanks to your work and that of the others who advised you on it. So, thank you!

Copy link
Member
@dstufft dstufft left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks great to me!

@dstufft
Copy link
Member
dstufft commented Apr 2, 2023

Process Note: I can sync up with @fridex this week to merge this and update the post history and make the post.

@fridex
Copy link
Contributor Author
fridex commented Apr 3, 2023

I'd say there was a many-level difference between when the PEP was first submitted and now, which was thanks to your work and that of the others who advised you on it. So, thank you!

Definitely, it was great collaboration effort so far! I tried to capture everyone who contributed in some way in the Acknowledgements section of the PEP -- if there is anyone missing, please don't hesitate to add her/him. Thanks to all!

(BTW it is sad the Acknowledgement section is one of the last ones in the PEP template.)

@dstufft dstufft merged commit 0c6f86f into python:main Apr 3, 2023
@fridex fridex deleted the provenance-pep branch April 3, 2023 14:55
------

The installation logic in `Poetry`_ depends on the
``installer.modern-installer`` configuration option (`see docs
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

installer.modern-installation

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new-pep A new draft PEP submitted for initial review
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants
0