Skip to content

Conversation

@fridex
Copy link
Owner

@fridex fridex commented Jan 25, 2023

No description provided.

hugovk and others added 14 commits January 19, 2023 16:39
Most notably, I've removed "channels" from the PEP.
The SVG image in the "Mind the Gap" section (pep-0495-gap.svg) was incorrect.
It is essentially the same as the the SVG image in the "In the Gap" section (pep-0495-fold.svg).
This is a bug that dates back to the original commit on
2015-08-30 (814d372)
that uploaded the both the PNG and SVG versions of the Fold and Gap images.
The PNG version of the Gap image is correct, but the SVG version is incorrect.

The replacement SVG image attached in this PR is a manual recreation
of the PNG version of the Gap image that was deleted on 2022-04-23.
It is not exactly the same, but I think it is close enough.
* Rename `--without-gil` to `--disable-gil`.

Suggested by Inada Naoki.

* Add two sections to "Rejected Ideas":

 - Why Not Deprecate ``PyDict_GetItem`` in Favor of ``PyDict_FetchItem``?
 - Why Not Use PEP 683 Immortalization?

* Expand on Python build modes
…2981)

After python#2972, when building dirhtml,
we need to re-add the initial / for the links to PEPs
in the Replaces/Superseded-By/Requires headers.
…ython#2977)

* Use #121212 for dark theme bgcolor

* Use #1111111 for dark theme bgcolor

Co-authored-by: C.A.M. Gerlach <[email protected]>

Co-authored-by: C.A.M. Gerlach <[email protected]>
…on#2964)

Enforce the use of virtual environments and establish a conventional
name for the virtual environment directory.

Co-authored-by: Pradyun Gedam <[email protected]>
Co-authored-by: Jelle Zijlstra <[email protected]>
Co-authored-by: C.A.M. Gerlach <[email protected]>
Co-authored-by: Zak Johnson <[email protected]>
pep-9999.rst Outdated

This PEP describes a way to record provenance of Python packages installed.
This record is created by an installer and is available to users in a form of a
JSON file ``direct_url.json`` in ``.dist-info`` directory. This PEP extends
Copy link
Owner Author

Choose a reason for hiding this comment

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

Maybe it would worth to have this renamed:

Suggested change
JSON file ``direct_url.json`` in ``.dist-info`` directory. This PEP extends
JSON file ``provenance.json`` in ``.dist-info`` directory. This PEP extends

pep-9999.rst Outdated
The JSON document is stating the following entries:

* ``archive_info.hash`` MUST be present with a value of ``<hash-algorithm>=<expected-hash>``,
currently supported hash algorithm is only ``sha256``.

Choose a reason for hiding this comment

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

Could we also add blake2b-256? That is what PEP 458 plans to use after discussion with PyPA folks.

Copy link
Owner Author

Choose a reason for hiding this comment

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

Sounds reasonable, I'm not sure how the archive_info.hash should look like in such a case as <hash-algorithm> is directly part of its value (maybe comma separated?). This might also open discussion how it should look like in already existing support for direct_url.json.

pep-9999.rst Outdated
@@ -0,0 +1,89 @@
PEP: 9999
Title: Recording provenance of installed packages

Choose a reason for hiding this comment

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

On second thought, maybe we shouldn't call it "provenance", which is a bit overloaded. Maybe "installation reports" is better. Better yet, maybe it could even be a new type of in-toto attestation.

Copy link
Owner Author

Choose a reason for hiding this comment

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

On second thought, maybe we shouldn't call it "provenance", which is a bit overloaded. Maybe "installation reports" is better.

Installation report can be confused with pip's installation reports.

Better yet, maybe it could even be a new type of in-toto attestation.

Maybe we could add this directly to PEP as an example of usage, beside SBOM already mentioned.

`PEP-610 <https://peps.python.org/pep-0610/>`_.


Motivation
Copy link

@trishankatdatadog trishankatdatadog Jan 26, 2023

Choose a reason for hiding this comment

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

One important thing from our discussion: what does this proposal give you that installation reports already don't? One may argue that installation reports are too verbose and too specific to the OS/Python versions. However, I think the more significant philosophical difference is that you want these reports/provenance to be produced by default, since most end-users are not going to go through the trouble to explicitly produce them unless compelled. However, even if these reports are produced by default, the problem remains that old applications/containers are going to be missing these reports.

The other issue is whether something higher-level like Hatch might be better suited to producing this information, because then you can associate applications with packages.

Fidget-Spinner and others added 3 commits January 28, 2023 14:24
* Updates based on feedback

Adds explanation of handling `bin/` directory, or how we are not
trying to replace the existing virtual environments.

* Updates grammar based on feedback
@fridex fridex force-pushed the pip-provenance branch 7 times, most recently from 9218129 to b040c1d Compare January 30, 2023 20:10
Co-authored-by: C.A.M. Gerlach <[email protected]>
Co-authored-by: Hugo van Kemenade <[email protected]>
@fridex
Copy link
Owner Author

fridex commented Mar 13, 2023

Closing, replaced with #2.

@fridex fridex closed this Mar 13, 2023
@fridex fridex deleted the pip-provenance branch March 13, 2023 18:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.