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

PEP 751: A file format to list Python dependencies for installation reproducibility #3870

Merged
merged 59 commits into from
Jul 24, 2024

Conversation

brettcannon
Copy link
Member

@brettcannon brettcannon commented Jul 24, 2024

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
  • Python-Version set to valid (pre-beta) future Python version, if relevant
  • Any project stated in the PEP as supporting/endorsing/benefiting from the PEP formally confirmed such
  • Right before or after initial merging, PEP discussion thread created and linked to in Discussions-To and Post-History

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

Along the way also add more explanation as to why some things are included
…e-repo-package-url`

Also tweak Core Metadata 2.4 to be simpler by outright banning varying metadata
- Drop core metadata 2.4
- Suggest SHA-256 or better
- Suggest lockers set the simple Repo package URL
- Rearrange the order of some keys
Copy link
Member

@AA-Turner AA-Turner left a comment

Choose a reason for hiding this comment

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

A brief editorial review (I havent't looked at rejected ideas in great detail):

peps/pep-0751.rst Outdated Show resolved Hide resolved
peps/pep-0751.rst Outdated Show resolved Hide resolved
peps/pep-0751.rst Outdated Show resolved Hide resolved
peps/pep-0751.rst Outdated Show resolved Hide resolved
peps/pep-0751.rst Outdated Show resolved Hide resolved
peps/pep-0751.rst Outdated Show resolved Hide resolved
peps/pep-0751.rst Show resolved Hide resolved
peps/pep-0751.rst Outdated Show resolved Hide resolved
peps/pep-0751.rst Outdated Show resolved Hide resolved
peps/pep-0751.rst Outdated Show resolved Hide resolved
@AA-Turner AA-Turner added the new-pep A new draft PEP submitted for initial review label Jul 24, 2024
peps/pep-0751.rst Outdated Show resolved Hide resolved
peps/pep-0751.rst Outdated Show resolved Hide resolved
peps/pep-0751.rst Outdated Show resolved Hide resolved
peps/pep-0751.rst Outdated Show resolved Hide resolved
peps/pep-0751.rst Show resolved Hide resolved
peps/pep-0751.rst Outdated Show resolved Hide resolved
peps/pep-0751.rst Outdated Show resolved Hide resolved
peps/pep-0751.rst Outdated Show resolved Hide resolved
peps/pep-0751.rst Outdated Show resolved Hide resolved
peps/pep-0751.rst Outdated Show resolved Hide resolved
peps/pep-0751.rst Outdated Show resolved Hide resolved
peps/pep-0751.rst Outdated Show resolved Hide resolved
peps/pep-0751.rst Outdated Show resolved Hide resolved
peps/pep-0751.rst Outdated Show resolved Hide resolved
peps/pep-0751.rst Outdated Show resolved Hide resolved
peps/pep-0751.rst Outdated Show resolved Hide resolved
peps/pep-0751.rst Outdated Show resolved Hide resolved
peps/pep-0751.rst Outdated Show resolved Hide resolved
peps/pep-0751.rst Outdated Show resolved Hide resolved
peps/pep-0751.rst Outdated Show resolved Hide resolved
peps/pep-0751.rst Show resolved Hide resolved
peps/pep-0751.rst Outdated Show resolved Hide resolved
peps/pep-0751.rst Outdated Show resolved Hide resolved
peps/pep-0751.rst Outdated Show resolved Hide resolved
peps/pep-0751.rst Outdated Show resolved Hide resolved
brettcannon and others added 14 commits July 24, 2024 13:29
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
There were some questions around whether this being optional meant there was an actual tri-state, but I view "unset" as false-y.
@brettcannon
Copy link
Member Author

Thanks to everyone and the nearly 60 (!) review comments. I think I either accepted or answered everyone. If I missed something then let me know and I can fix it in a subsequent PR.

@brettcannon brettcannon merged commit 92634ee into python:main Jul 24, 2024
6 checks passed
@brettcannon brettcannon deleted the lock-file branch July 24, 2024 23:13
pauleveritt pushed a commit to pauleveritt/peps that referenced this pull request Aug 6, 2024
…eproducibility (python#3870)

Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
Co-authored-by: Carol Willing <carolcode@willingconsulting.com>
jimbaker added a commit to jimbaker/peps that referenced this pull request Aug 7, 2024
* Include three comments from @Carreau (drop two bullets, *args in example, explain *args.)

* Lambda-wrapped expressions use annotation scope

* Clarify use of annotation scope

* Mention what happens to named unicodes followed by text

* Use DecodedConcrete in assertion

* Rewrite why annotation scope is needed (#4)

* Rewrite why annotation scope is needed

* Minor copyediting

* PEP 747: Fix rules related to UnionType (T1 | T2). Contrast TypeExpr with TypeAlias. Apply other feedback. (python#3856)

* PEP 694: Fix typo (python#3859)

* PEP 2026: Update following discussion (python#3860)

Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>

* PEP 101: Remove outdated info and add new info (python#3863)

* PEP 101: Remove outdated info

* PEP 101: Update make command for running tests

* PEP 101: Replace '#python-dev and/or python-committers' with 'Discord and/or Discourse

* PEP 101: Add Hugo as 3.14 RM

* PEP 101: Add to PSRT

* PEP 11: Add Russell as an iOS contact (python#3865)

* Meta: Document the PEPs API (python#3864)

Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>

* PEP 719: Update for today's release of 3.13.0b4 (python#3868)

* PEP 740: Mark as Provisional (python#3848)

Signed-off-by: William Woodruff <william@yossarian.net>

* PEP 749: Add section on metaclasses (python#3847)

Co-authored-by: Carl Meyer <carl@oddbird.net>

* PEP 8: Update a Wikipedia link (python#3552)

* PEP 635: Minor typo fix in code sample (python#3871)

Looks like an unclosed f-string.

* PEP 751: A file format to list Python dependencies for installation reproducibility (python#3870)

Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
Co-authored-by: Carol Willing <carolcode@willingconsulting.com>

* PEP 743: Rewrite to hide (soft-)deprecated API (pythonGH-3869)

Co-authored-by: Victor Stinner <vstinner@python.org>

* PEP 751: Add Discussions-To and Post-History (python#3872)

* PEP 639: Incorporate the latest discussion feedback (python#3866)

* Remove the requirement of license-files defaults

* Cover all rejected subkeysideas in one paragraph

* Change the deprecation policy around classifiers

* Flatten the value of the license-files key, only globs are specified

* Update the Rejected ideas to match the current license-files proposal

---------

Co-authored-by: Miro Hrončok <miro@hroncok.cz>

* PEP 715: clarify what `[package.tool]` is (python#3873)

* PEP 665: Superseded-By: 751 (python#3875)

* PEP 751: update based on feedback (python#3877)

* PEP 751: update based on feedback

* Fix a section underline

* Include three comments from @Carreau (drop two bullets, *args in example, explain *args.)

* From Carol, move the point about import to the following paragraph.

* Per Carol: Remove paragraph about lifecycles as that is about *a* DSL, not DSLs in general.

---------

Signed-off-by: William Woodruff <william@yossarian.net>
Co-authored-by: pauleveritt <paul.everitt@jetbrains.com>
Co-authored-by: Jim Baker <jim.baker@python.org>
Co-authored-by: Lysandros Nikolaou <lisandrosnik@gmail.com>
Co-authored-by: David Foster <david@dafoster.net>
Co-authored-by: Barry Warsaw <barry@python.org>
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Co-authored-by: T. Wouters <thomas@python.org>
Co-authored-by: William Woodruff <william@yossarian.net>
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
Co-authored-by: Carl Meyer <carl@oddbird.net>
Co-authored-by: Lavrentiy Rubtsov <rnbsov@gmail.com>
Co-authored-by: Mariatta <Mariatta@users.noreply.github.com>
Co-authored-by: Brett Cannon <brett@python.org>
Co-authored-by: Carol Willing <carolcode@willingconsulting.com>
Co-authored-by: Petr Viktorin <encukou@gmail.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
Co-authored-by: Karolina Surma <33810531+befeleme@users.noreply.github.com>
Co-authored-by: Miro Hrončok <miro@hroncok.cz>
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.

5 participants