René's URL Explorer Experiment


Title: gh-131876: extract `_hashlib` helpers into a separate directory by picnixz · Pull Request #136995 · python/cpython · GitHub

Open Graph Title: gh-131876: extract `_hashlib` helpers into a separate directory by picnixz · Pull Request #136995 · python/cpython

X Title: gh-131876: extract `_hashlib` helpers into a separate directory by picnixz · Pull Request #136995 · python/cpython

Description: This is a clean rewrite of #135341. Issue: gh-131876

Open Graph Description: This is a clean rewrite of #135341. Issue: gh-131876

X Description: This is a clean rewrite of #135341. Issue: gh-131876

Opengraph URL: https://github.com/python/cpython/pull/136995

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:18c0ff66-7b89-0ace-1bac-1eeb6d0f6627
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idABE6:134C26:220DFE6:2D0BB4D:696B0E1F
html-safe-nonce28cdaff4e081b92c251d04daa52d95fe3ca9d942104cefdc8c7613503f240cfd
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJBQkU2OjEzNEMyNjoyMjBERkU2OjJEMEJCNEQ6Njk2QjBFMUYiLCJ2aXNpdG9yX2lkIjoiNTM2MDQ2NjI1MDU5ODkxMTUxOSIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmac12c28935d99023a610eca02560e68057f178a203a2e3fe4266f8502b73ea38e1
hovercard-subject-tagpull_request:2685433091
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///pull_requests/show/files
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/python/cpython/pull/136995/files
twitter:imagehttps://avatars.githubusercontent.com/u/10796600?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/10796600?s=400&v=4
og:image:altThis is a clean rewrite of #135341. Issue: gh-131876
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
None5f99f7c1d70f01da5b93e5ca90303359738944d8ab470e396496262c66e60b8d
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/python/cpython git https://github.com/python/cpython.git
octolytics-dimension-user_id1525981
octolytics-dimension-user_loginpython
octolytics-dimension-repository_id81598961
octolytics-dimension-repository_nwopython/cpython
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id81598961
octolytics-dimension-repository_network_root_nwopython/cpython
turbo-body-classeslogged-out env-production page-responsive full-width
disable-turbotrue
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release82560a55c6b2054555076f46e683151ee28a19bc
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/python/cpython/pull/136995/files#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython%2Fcpython%2Fpull%2F136995%2Ffiles
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub SparkBuild and deploy intelligent appshttps://github.com/features/spark
GitHub ModelsManage and compare promptshttps://github.com/features/models
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython%2Fcpython%2Fpull%2F136995%2Ffiles
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Ffiles&source=header-repo&source_repo=python%2Fcpython
Reloadhttps://github.com/python/cpython/pull/136995/files
Reloadhttps://github.com/python/cpython/pull/136995/files
Reloadhttps://github.com/python/cpython/pull/136995/files
python https://github.com/python
cpythonhttps://github.com/python/cpython
Please reload this pagehttps://github.com/python/cpython/pull/136995/files
Notifications https://github.com/login?return_to=%2Fpython%2Fcpython
Fork 33.9k https://github.com/login?return_to=%2Fpython%2Fcpython
Star 71.1k https://github.com/login?return_to=%2Fpython%2Fcpython
Code https://github.com/python/cpython
Issues 5k+ https://github.com/python/cpython/issues
Pull requests 2.1k https://github.com/python/cpython/pulls
Actions https://github.com/python/cpython/actions
Projects 31 https://github.com/python/cpython/projects
Security Uh oh! There was an error while loading. Please reload this page. https://github.com/python/cpython/security
Please reload this pagehttps://github.com/python/cpython/pull/136995/files
Insights https://github.com/python/cpython/pulse
Code https://github.com/python/cpython
Issues https://github.com/python/cpython/issues
Pull requests https://github.com/python/cpython/pulls
Actions https://github.com/python/cpython/actions
Projects https://github.com/python/cpython/projects
Security https://github.com/python/cpython/security
Insights https://github.com/python/cpython/pulse
Sign up for GitHub https://github.com/signup?return_to=%2Fpython%2Fcpython%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2Fpython%2Fcpython%2Fissues%2Fnew%2Fchoose
picnixzhttps://github.com/picnixz
python:mainhttps://github.com/python/cpython/tree/main
picnixz:refactor/hashlib/extract-helpers-135341https://github.com/picnixz/cpython/tree/refactor/hashlib/extract-helpers-135341
Conversation 15 https://github.com/python/cpython/pull/136995
Commits 11 https://github.com/python/cpython/pull/136995/commits
Checks 41 https://github.com/python/cpython/pull/136995/checks
Files changed https://github.com/python/cpython/pull/136995/files
Please reload this pagehttps://github.com/python/cpython/pull/136995/files
gh-131876: extract _hashlib helpers into a separate directory https://github.com/python/cpython/pull/136995/files#top
Show all changes 11 commits https://github.com/python/cpython/pull/136995/files
4e214fa explode `hashlib.h` into multiple files picnixz Jul 22, 2025 https://github.com/python/cpython/pull/136995/commits/4e214fa6be8eb7a1f547bfb2eb1c546162151d2c
854bf43 update usage of `hashlib.h` picnixz Jul 22, 2025 https://github.com/python/cpython/pull/136995/commits/854bf43ebcc86a5a7726b3f0e60ea8fa3aab4efe
e1d233e update build configuration picnixz Jul 22, 2025 https://github.com/python/cpython/pull/136995/commits/e1d233e6e8dfe365ba268798e6dc37fcb311e400
59b0cda blurb picnixz Jul 22, 2025 https://github.com/python/cpython/pull/136995/commits/59b0cda0b18ccd667a0302269e1c50590ac51606
4263688 remove code that is currently unused picnixz Jul 26, 2025 https://github.com/python/cpython/pull/136995/commits/42636888f368802781c59ab0cc8c8e0fe4869bdb
eb817fd cleanup imports picnixz Jul 26, 2025 https://github.com/python/cpython/pull/136995/commits/eb817fd57facb93a10845b314e578c73f843e61b
54a10b0 Merge remote-tracking branch 'upstream/main' into refactor/hashlib/ut… picnixz Jul 28, 2025 https://github.com/python/cpython/pull/136995/commits/54a10b0f0a8bc7dedde675fe476894acf68d939d
06d2c87 amend comments picnixz Jul 28, 2025 https://github.com/python/cpython/pull/136995/commits/06d2c87e7144de356570e5076d22417a57a3c0fe
a1a2f1b remove unused rules picnixz Jul 28, 2025 https://github.com/python/cpython/pull/136995/commits/a1a2f1bed381014ab194ab331dca3cd402af4b43
89c0e3c reduce exported scope picnixz Jul 28, 2025 https://github.com/python/cpython/pull/136995/commits/89c0e3c1888064c9fe74e5ed15135e896da11cfd
a0fa849 Windows is not happy picnixz Jul 28, 2025 https://github.com/python/cpython/pull/136995/commits/a0fa84954ae76c912fa5ba9b36fb52983e0267d4
Clear filters https://github.com/python/cpython/pull/136995/files
Please reload this pagehttps://github.com/python/cpython/pull/136995/files
Please reload this pagehttps://github.com/python/cpython/pull/136995/files
Makefile.pre.in https://github.com/python/cpython/pull/136995/files#diff-1f0a8db227d22005511b0d90f5339b97db345917b863954b3b3ccb9ec308767c
2025-07-22-14-47-45.gh-issue-131876.oaYEEP.rst https://github.com/python/cpython/pull/136995/files#diff-d8bbc519888f239f5548e82993cf9600b55abb4238705051428ae583bfba341e
hashlib_buffer.c https://github.com/python/cpython/pull/136995/files#diff-d1d256948ca8a53b39a35cbc41e8615d138da22bdf0b66dfe4749bf4de0e4e9a
hashlib_buffer.h https://github.com/python/cpython/pull/136995/files#diff-1cc8c47cdeff309c0d838d93137d3b7d5873fd632a65b7ce26e0e1a1d579c4a1
hashlib_fetch.h https://github.com/python/cpython/pull/136995/files#diff-c23756c70c455584d8fe2d6b2bdb501badbb12eb7462a585a5493cc562e4c209
hashlib_mutex.h https://github.com/python/cpython/pull/136995/files#diff-9c1491ee7512e94c43462e84813454a075ff34267fb3525cc8ceb3944f30da6d
_hashopenssl.c https://github.com/python/cpython/pull/136995/files#diff-b4fd2e5e447a6f18fb2508c350524c5cb1feed8ec92d70822eac54431ef71baf
blake2module.c https://github.com/python/cpython/pull/136995/files#diff-c7440bf2e8c27b17a856c469b7839a7c0bfd93008e3c4f553616df6f1c33d854
hashlib.h https://github.com/python/cpython/pull/136995/files#diff-e8424895dff15e8e31e7c80606bd1a276f51b1294398113f44884c5bab004034
hmacmodule.c https://github.com/python/cpython/pull/136995/files#diff-c1a0c4b200e7b9390d6af70efb2fd75fcce77c7bb63e26dd08946456fd6bf5f4
md5module.c https://github.com/python/cpython/pull/136995/files#diff-ebfb0d540ae88c7ff55b1372c04445f4163cfc7df845514d3077dfd25f000fa9
sha1module.c https://github.com/python/cpython/pull/136995/files#diff-f8380ad63c7d5ceeb8e7ca5cc706794c685955db0f4a639833ebcc12dd527b5f
sha2module.c https://github.com/python/cpython/pull/136995/files#diff-4f883f3d08bb004f53ca1cf434ba04d4d28f54d2833076af8e6e78596bcc954b
sha3module.c https://github.com/python/cpython/pull/136995/files#diff-8d15b65b0c06f6b2f51318fdcc4596e8e1e41fdb6af8c113c5f3d326e6b61077
_hashlib.vcxproj https://github.com/python/cpython/pull/136995/files#diff-8cc401e4077b0effec8fdb9cadb74f2129427860038ab8f628c17ad47635e594
_hashlib.vcxproj.filters https://github.com/python/cpython/pull/136995/files#diff-5b118872d940d68a11ce3254ad5c44dab440f6ce93f7f9f0e7c72370b7d5cfb4
pythoncore.vcxproj https://github.com/python/cpython/pull/136995/files#diff-4295039788386c2986b811f2a6b59cf088be59822b24b4f1243c9e9b184f65fb
pythoncore.vcxproj.filters https://github.com/python/cpython/pull/136995/files#diff-9e715828befc9c50c8b483b06d4923cda0db44f57d0c20e6a6d428ba60bfa0c5
configure https://github.com/python/cpython/pull/136995/files#diff-90d08e583c4c9c6f391b2ae90f819f600a6326928ea9512c9e0c6d98e9f29ac2
configure.ac https://github.com/python/cpython/pull/136995/files#diff-49473dca262eeab3b4a43002adb08b4db31020d190caaad1594b47f1d5daa810
https://github.com/python/cpython/blob/main/.github/CODEOWNERS#L84
Makefile.pre.inhttps://github.com/python/cpython/pull/136995/files#diff-1f0a8db227d22005511b0d90f5339b97db345917b863954b3b3ccb9ec308767c
View file https://github.com/picnixz/cpython/blob/a0fa84954ae76c912fa5ba9b36fb52983e0267d4/Makefile.pre.in
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/136995/{{ revealButtonHref }}
https://github.com/python/cpython/pull/136995/files#diff-1f0a8db227d22005511b0d90f5339b97db345917b863954b3b3ccb9ec308767c
https://github.com/python/cpython/pull/136995/files#diff-1f0a8db227d22005511b0d90f5339b97db345917b863954b3b3ccb9ec308767c
https://github.com/python/cpython/pull/136995/files#diff-1f0a8db227d22005511b0d90f5339b97db345917b863954b3b3ccb9ec308767c
https://github.com/python/cpython/pull/136995/files#diff-1f0a8db227d22005511b0d90f5339b97db345917b863954b3b3ccb9ec308767c
https://github.com/python/cpython/pull/136995/files#diff-1f0a8db227d22005511b0d90f5339b97db345917b863954b3b3ccb9ec308767c
https://github.com/python/cpython/pull/136995/files#diff-1f0a8db227d22005511b0d90f5339b97db345917b863954b3b3ccb9ec308767c
https://github.com/python/cpython/pull/136995/files#diff-1f0a8db227d22005511b0d90f5339b97db345917b863954b3b3ccb9ec308767c
https://github.com/python/cpython/pull/136995/files#diff-1f0a8db227d22005511b0d90f5339b97db345917b863954b3b3ccb9ec308767c
Misc/NEWS.d/next/Build/2025-07-22-14-47-45.gh-issue-131876.oaYEEP.rsthttps://github.com/python/cpython/pull/136995/files#diff-d8bbc519888f239f5548e82993cf9600b55abb4238705051428ae583bfba341e
View file https://github.com/picnixz/cpython/blob/a0fa84954ae76c912fa5ba9b36fb52983e0267d4/Misc/NEWS.d/next/Build/2025-07-22-14-47-45.gh-issue-131876.oaYEEP.rst
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/136995/{{ revealButtonHref }}
https://github.com/python/cpython/blob/main/.github/CODEOWNERS#L384
Modules/_hashlib/hashlib_buffer.chttps://github.com/python/cpython/pull/136995/files#diff-d1d256948ca8a53b39a35cbc41e8615d138da22bdf0b66dfe4749bf4de0e4e9a
View file https://github.com/picnixz/cpython/blob/a0fa84954ae76c912fa5ba9b36fb52983e0267d4/Modules/_hashlib/hashlib_buffer.c
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/136995/{{ revealButtonHref }}
https://github.com/python/cpython/blob/main/.github/CODEOWNERS#L384
Modules/_hashlib/hashlib_buffer.hhttps://github.com/python/cpython/pull/136995/files#diff-1cc8c47cdeff309c0d838d93137d3b7d5873fd632a65b7ce26e0e1a1d579c4a1
View file https://github.com/picnixz/cpython/blob/a0fa84954ae76c912fa5ba9b36fb52983e0267d4/Modules/_hashlib/hashlib_buffer.h
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/136995/{{ revealButtonHref }}
https://github.com/python/cpython/blob/main/.github/CODEOWNERS#L384
Modules/_hashlib/hashlib_fetch.hhttps://github.com/python/cpython/pull/136995/files#diff-c23756c70c455584d8fe2d6b2bdb501badbb12eb7462a585a5493cc562e4c209
View file https://github.com/picnixz/cpython/blob/a0fa84954ae76c912fa5ba9b36fb52983e0267d4/Modules/_hashlib/hashlib_fetch.h
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/136995/{{ revealButtonHref }}
https://github.com/python/cpython/blob/main/.github/CODEOWNERS#L384
Modules/_hashlib/hashlib_mutex.hhttps://github.com/python/cpython/pull/136995/files#diff-9c1491ee7512e94c43462e84813454a075ff34267fb3525cc8ceb3944f30da6d
View file https://github.com/picnixz/cpython/blob/a0fa84954ae76c912fa5ba9b36fb52983e0267d4/Modules/_hashlib/hashlib_mutex.h
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/136995/{{ revealButtonHref }}
https://github.com/python/cpython/blob/main/.github/CODEOWNERS#L387
Modules/_hashopenssl.chttps://github.com/python/cpython/pull/136995/files#diff-b4fd2e5e447a6f18fb2508c350524c5cb1feed8ec92d70822eac54431ef71baf
View file https://github.com/picnixz/cpython/blob/a0fa84954ae76c912fa5ba9b36fb52983e0267d4/Modules/_hashopenssl.c
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/136995/{{ revealButtonHref }}
https://github.com/python/cpython/pull/136995/files#diff-b4fd2e5e447a6f18fb2508c350524c5cb1feed8ec92d70822eac54431ef71baf
https://github.com/python/cpython/pull/136995/files#diff-b4fd2e5e447a6f18fb2508c350524c5cb1feed8ec92d70822eac54431ef71baf
https://github.com/python/cpython/pull/136995/files#diff-b4fd2e5e447a6f18fb2508c350524c5cb1feed8ec92d70822eac54431ef71baf
https://github.com/python/cpython/pull/136995/files#diff-b4fd2e5e447a6f18fb2508c350524c5cb1feed8ec92d70822eac54431ef71baf
https://github.com/python/cpython/pull/136995/files#diff-b4fd2e5e447a6f18fb2508c350524c5cb1feed8ec92d70822eac54431ef71baf
https://github.com/python/cpython/blob/main/.github/CODEOWNERS#L389
Modules/blake2module.chttps://github.com/python/cpython/pull/136995/files#diff-c7440bf2e8c27b17a856c469b7839a7c0bfd93008e3c4f553616df6f1c33d854
View file https://github.com/picnixz/cpython/blob/a0fa84954ae76c912fa5ba9b36fb52983e0267d4/Modules/blake2module.c
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/136995/{{ revealButtonHref }}
https://github.com/python/cpython/pull/136995/files#diff-c7440bf2e8c27b17a856c469b7839a7c0bfd93008e3c4f553616df6f1c33d854
https://github.com/python/cpython/pull/136995/files#diff-c7440bf2e8c27b17a856c469b7839a7c0bfd93008e3c4f553616df6f1c33d854
Please reload this pagehttps://github.com/python/cpython/pull/136995/files
Please reload this pagehttps://github.com/python/cpython/pull/136995/files
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.