Title: bpo-31650: PEP 552 (Deterministic pycs) implementation by benjaminp · Pull Request #4575 · python/cpython · GitHub
Open Graph Title: bpo-31650: PEP 552 (Deterministic pycs) implementation by benjaminp · Pull Request #4575 · python/cpython
X Title: bpo-31650: PEP 552 (Deterministic pycs) implementation by benjaminp · Pull Request #4575 · python/cpython
Description: Python now supports checking bytecode cache up-to-dateness with a hash of the source contents rather than volatile source metadata. See the PEP for details. While a fairly straightforward idea, quite a lot of code had to be modified due to the pervasiveness of pyc implementation details in the codebase. Changes in this commit include: The core changes to importlib to understand how to read, validate, and regenerate hash-based pycs. Support for generating hash-based pycs in py_compile and compileall. Modifications to our siphash implementation to support passing a custom key. We then expose it to importlib through _imp. Updates to all places in the interpreter, standard library, and tests that manually generate or parse pyc files to grok the new format. Support in the interpreter command line code for long options like --check-hash-based-pycs. Tests and documentation for all of the above. https://bugs.python.org/issue31650
Open Graph Description: Python now supports checking bytecode cache up-to-dateness with a hash of the source contents rather than volatile source metadata. See the PEP for details. While a fairly straightforward idea, qui...
X Description: Python now supports checking bytecode cache up-to-dateness with a hash of the source contents rather than volatile source metadata. See the PEP for details. While a fairly straightforward idea, qui...
Opengraph URL: https://github.com/python/cpython/pull/4575
X: @github
Domain: github.com
| route-pattern | /:user_id/:repository/pull/:id/checks(.:format) |
| route-controller | pull_requests |
| route-action | checks |
| fetch-nonce | v2:c6e2ab1b-05ad-8259-94cb-6567417c7c12 |
| current-catalog-service-hash | 87dc3bc62d9b466312751bfd5f889726f4f1337bdff4e8be7da7c93d6c00a25a |
| request-id | D3AE:3410DA:21D4060:2C0F0D3:696B4EF2 |
| html-safe-nonce | a295a2b766e3a5a1ed63acfaa264151fea54080d5edec1c72d9b170d64cbbb69 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJEM0FFOjM0MTBEQToyMUQ0MDYwOjJDMEYwRDM6Njk2QjRFRjIiLCJ2aXNpdG9yX2lkIjoiNDM3ODc4NjM4MDU3Mzc4OTkzOCIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | 356f1b741db4323ddc6a148ec67072d0321633c73a71b00f774bb01f6c511f8f |
| hovercard-subject-tag | pull_request:154701167 |
| github-keyboard-shortcuts | repository,pull-request-list,pull-request-conversation,pull-request-files-changed,checks,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/python/cpython/pull/4575/checks |
| twitter:image | https://avatars.githubusercontent.com/u/219470?s=400&v=4 |
| twitter:card | summary_large_image |
| og:image | https://avatars.githubusercontent.com/u/219470?s=400&v=4 |
| og:image:alt | Python now supports checking bytecode cache up-to-dateness with a hash of the source contents rather than volatile source metadata. See the PEP for details. While a fairly straightforward idea, qui... |
| og:site_name | GitHub |
| og:type | object |
| hostname | github.com |
| expected-hostname | github.com |
| None | 5f99f7c1d70f01da5b93e5ca90303359738944d8ab470e396496262c66e60b8d |
| turbo-cache-control | no-preview |
| go-import | github.com/python/cpython git https://github.com/python/cpython.git |
| octolytics-dimension-user_id | 1525981 |
| octolytics-dimension-user_login | python |
| octolytics-dimension-repository_id | 81598961 |
| octolytics-dimension-repository_nwo | python/cpython |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 81598961 |
| octolytics-dimension-repository_network_root_nwo | python/cpython |
| turbo-body-classes | logged-out env-production page-responsive full-width full-width-p-0 |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 82560a55c6b2054555076f46e683151ee28a19bc |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width