René's URL Explorer Experiment


Title: bpo-28053: Complete and fix custom reducers in multiprocessing. by pablogsal · Pull Request #9959 · python/cpython · GitHub

Open Graph Title: bpo-28053: Complete and fix custom reducers in multiprocessing. by pablogsal · Pull Request #9959 · python/cpython

X Title: bpo-28053: Complete and fix custom reducers in multiprocessing. by pablogsal · Pull Request #9959 · python/cpython

Description: This PR tries to complete and fix the implementation of the custom reducer classes in multiprocessing. Important I have marked the PR as DO-NOT-MERGE because I have still several doubts about the previous implemented API, regarding the AbstractReducer base class and the methods that the user needs to implement and how the rest of the library interacts with multiprocessing.reducer. For example: I am not sure multiprocessing.reducer.dumps and multiprocessing.reducer.register are needed outside the ForklingPickler class and how that interacts with the ABC. I am not sure the AbstractReducer is implemented completely (there is no abstract methods marked). This PR is a draft implementation of the complete API, tests and documentation so we can discuss how to implement these correctly in a better way. https://bugs.python.org/issue28053

Open Graph Description: This PR tries to complete and fix the implementation of the custom reducer classes in multiprocessing. Important I have marked the PR as DO-NOT-MERGE because I have still several doubts about the p...

X Description: This PR tries to complete and fix the implementation of the custom reducer classes in multiprocessing. Important I have marked the PR as DO-NOT-MERGE because I have still several doubts about the p...

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

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:c98c3659-4ec8-fd96-4652-fb8469a09b79
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idB302:26C4F1:4C1988:656BD0:6A52D622
html-safe-nonce1020871e76d67a33acd9975e231249ccccc72b3663bbffa67f2192f8b222b8ac
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJCMzAyOjI2QzRGMTo0QzE5ODg6NjU2QkQwOjZBNTJENjIyIiwidmlzaXRvcl9pZCI6IjMzMzQ5MDcyMTkzODQ5MTU0OTAiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ==
visitor-hmac0a8059a516cd87da98bda41fa7d2f374b6b9bb20268700dcb2b9063c81ef8532
hovercard-subject-tagpull_request:224117012
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/9959/files
twitter:imagehttps://avatars.githubusercontent.com/u/11718525?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/11718525?s=400&v=4
og:image:altThis PR tries to complete and fix the implementation of the custom reducer classes in multiprocessing. Important I have marked the PR as DO-NOT-MERGE because I have still several doubts about the p...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
Noneb9a586c06a05a7a86fc7e3f4dbd03e42f6869085879aa184aa6369456dbd50fb
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
release07a982c1d40157c619b364352b704c3ce66bb332
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/python/cpython/pull/9959/files#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython%2Fcpython%2Fpull%2F9959%2Ffiles
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub Copilot appDirect agents from issue to mergehttps://github.com/features/ai/github-app
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
View all resourceshttps://github.com/resources
GitHub SponsorsFund open source developershttps://github.com/open-source/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/open-source/accelerator
GitHub Starshttps://stars.github.com
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/enterprise/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%2F9959%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/9959/files
Reloadhttps://github.com/python/cpython/pull/9959/files
Reloadhttps://github.com/python/cpython/pull/9959/files
Please reload this pagehttps://github.com/python/cpython/pull/9959/files
python https://github.com/python
cpythonhttps://github.com/python/cpython
Please reload this pagehttps://github.com/python/cpython/pull/9959/files
Notifications https://github.com/login?return_to=%2Fpython%2Fcpython
Fork 35k https://github.com/login?return_to=%2Fpython%2Fcpython
Star 73.8k 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.3k https://github.com/python/cpython/pulls
Actions https://github.com/python/cpython/actions
Projects https://github.com/python/cpython/projects
Security and quality 0 https://github.com/python/cpython/security
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 and quality 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
pablogsalhttps://github.com/pablogsal
python:mainhttps://github.com/python/cpython/tree/main
pablogsal:bpo28053https://github.com/pablogsal/cpython/tree/bpo28053
Conversation 91 https://github.com/python/cpython/pull/9959
Commits 13 https://github.com/python/cpython/pull/9959/commits
Checks 0 https://github.com/python/cpython/pull/9959/checks
Files changed https://github.com/python/cpython/pull/9959/files
Please reload this pagehttps://github.com/python/cpython/pull/9959/files
bpo-28053: Complete and fix custom reducers in multiprocessing. https://github.com/python/cpython/pull/9959/files#top
Show all changes 13 commits https://github.com/python/cpython/pull/9959/files
da4f1be bpo-28053: Complete and fix custom reducers in multiprocessing. pablogsal Oct 18, 2018 https://github.com/python/cpython/pull/9959/commits/da4f1be7c877a931ea7e522715bdffb2f5f3cbb6
48e14a0 Simplify the interface and use convenience functions pablogsal Dec 9, 2018 https://github.com/python/cpython/pull/9959/commits/48e14a0547706f63e46dbe3ea28391ebcb8dac64
7f537c1 Fix some typos and add new test for custom reducers pablogsal Mar 16, 2019 https://github.com/python/cpython/pull/9959/commits/7f537c19bcf17c2711665bccfabab8a40dd4821d
890f9ad Implement per-context reducers pablogsal Mar 17, 2019 https://github.com/python/cpython/pull/9959/commits/890f9ad74e681fce210fc6c01ce85f3a3fd90607
ed8ff52 Implement tests for custom contexts pablogsal Mar 23, 2019 https://github.com/python/cpython/pull/9959/commits/ed8ff52600a469cfbc48b03e897a7038c4c259e7
8b52a54 Make reducer default to None at class level pablogsal Mar 23, 2019 https://github.com/python/cpython/pull/9959/commits/8b52a548e321485dfb3a17c7a6faae99d244e1f4
49a5804 Fix doc reference pablogsal Mar 23, 2019 https://github.com/python/cpython/pull/9959/commits/49a5804111843aded9803a4e9762bbaa5baea94b
ac779f9 Add docstrings to the test classes pablogsal Mar 23, 2019 https://github.com/python/cpython/pull/9959/commits/ac779f91866059af6a90cbdfb58ed1c9bb76b964
8a18400 Add context to Process classes && revert back to use get_pickler_class pablogsal Mar 23, 2019 https://github.com/python/cpython/pull/9959/commits/8a184007e09fe5f9519cd44186c76cff19138300
7db88ac Adress feedback and add custom context for Listener/Clients pablogsal May 27, 2019 https://github.com/python/cpython/pull/9959/commits/7db88acfa9e684eb12a77fa946b126f822a59eeb
f20e142 Provide and document a base class (AbstractPickler) for custom picklers pablogsal May 27, 2019 https://github.com/python/cpython/pull/9959/commits/f20e142586be9f96288cecb0b00da78cc4fa1c81
210b1dc Try to simplify tests pablogsal May 27, 2019 https://github.com/python/cpython/pull/9959/commits/210b1dc864c0865d92f94b6889b44390d5fb4e02
5a7132f Try to pass down the context manually to Process· pablogsal May 28, 2019 https://github.com/python/cpython/pull/9959/commits/5a7132f2c47ad51780eea67c460459cb2c8107dc
Clear filters https://github.com/python/cpython/pull/9959/files
Please reload this pagehttps://github.com/python/cpython/pull/9959/files
Please reload this pagehttps://github.com/python/cpython/pull/9959/files
multiprocessing.rst https://github.com/python/cpython/pull/9959/files#diff-2cf07acf4f2d547e93e35c6a4ba2ee818e991b54e88da4a904ee0a49acb99eb3
connection.py https://github.com/python/cpython/pull/9959/files#diff-2c54a007d7fe1d9ac5ca008fe2d054394c39a4f521eea2cb580101a284d7b7ec
context.py https://github.com/python/cpython/pull/9959/files#diff-68368c7bc63449f34e9b6e6f13715852f23061c0bf6497b1a9691c0860943f49
forkserver.py https://github.com/python/cpython/pull/9959/files#diff-8d5185659419cdf73e93f59cf3941dfe1c523d9e1310e349b4d4afe3b63cb66d
heap.py https://github.com/python/cpython/pull/9959/files#diff-dd0232fd86c236b18cda99195801c3b6bb6e6a1e09c6c8889ebed663c4c854f5
managers.py https://github.com/python/cpython/pull/9959/files#diff-9e59d8c837ebf181d34af715ac88bb8a4b6141ec18b703cef2c3c8136391abf7
popen_fork.py https://github.com/python/cpython/pull/9959/files#diff-987f24caa2ffbe521a904960fa8d359de6562cc519ed58a4f0521e80d06a35d2
popen_forkserver.py https://github.com/python/cpython/pull/9959/files#diff-17b27dd11561cbd2c4f30b56fc23fc61eb689c4a800e12dfc25ce552f9150f18
popen_spawn_posix.py https://github.com/python/cpython/pull/9959/files#diff-5f06efa6433d283b73277f6f102c8a0a0feac951e71c72f952a89cbfcd21413d
popen_spawn_win32.py https://github.com/python/cpython/pull/9959/files#diff-5da4b9804b675cab86b1a1fc6009ce993001a750b75d852501cac25b9ef2c9ff
process.py https://github.com/python/cpython/pull/9959/files#diff-95e01a1db1003c313b93ab726870bc6ddaa916f28479bb17fea2331fb8b5ac7f
queues.py https://github.com/python/cpython/pull/9959/files#diff-ac78ddc352ec78ebe64a4ab3b7ffd9e41f91291b3b856fb2e30849c118f68935
reduction.py https://github.com/python/cpython/pull/9959/files#diff-853bf5349bc9ab4e84bca3b7b45738b0c8c71cbc3cf3163c3e3eab200f629ab0
resource_sharer.py https://github.com/python/cpython/pull/9959/files#diff-5f5237ae3f8dd6ce631a732edd482e337214db5e03b7d1bdbe0a4c865dd65ea4
spawn.py https://github.com/python/cpython/pull/9959/files#diff-3612bea8104783e1f08635ddc3244cdde48e5b3b1339d4357abe5b78807834bc
_test_multiprocessing.py https://github.com/python/cpython/pull/9959/files#diff-c3db62f7c1928499afd71830c22c8bb8f56843a4533cecf69137973d73c489fc
2018-12-09-19-20-12.bpo-28053.JiOeSY.rst https://github.com/python/cpython/pull/9959/files#diff-69cdeec0f61a458b50e7fd6b687f05387965878c68882f85f75f4d32abf4f739
https://github.com/python/cpython/blob/main/.github/CODEOWNERS#L530
Doc/library/multiprocessing.rsthttps://github.com/python/cpython/pull/9959/files#diff-2cf07acf4f2d547e93e35c6a4ba2ee818e991b54e88da4a904ee0a49acb99eb3
View file https://github.com/pablogsal/cpython/blob/5a7132f2c47ad51780eea67c460459cb2c8107dc/Doc/library/multiprocessing.rst
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/9959/{{ revealButtonHref }}
https://github.com/python/cpython/pull/9959/files#diff-2cf07acf4f2d547e93e35c6a4ba2ee818e991b54e88da4a904ee0a49acb99eb3
pitrouhttps://github.com/pitrou
May 27, 2019https://github.com/python/cpython/pull/9959/files#r287881991
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/python/cpython/pull/9959/files
pablogsalhttps://github.com/pablogsal
May 27, 2019https://github.com/python/cpython/pull/9959/files#r287889972
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/python/cpython/pull/9959/files
pitrouhttps://github.com/pitrou
May 27, 2019https://github.com/python/cpython/pull/9959/files#r287881866
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/python/cpython/pull/9959/files
pitrouhttps://github.com/pitrou
May 27, 2019https://github.com/python/cpython/pull/9959/files#r287883541
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/python/cpython/pull/9959/files
pablogsalhttps://github.com/pablogsal
May 27, 2019https://github.com/python/cpython/pull/9959/files#r287889882
Please reload this pagehttps://github.com/python/cpython/pull/9959/files
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/python/cpython/pull/9959/files
pablogsalhttps://github.com/pablogsal
May 27, 2019https://github.com/python/cpython/pull/9959/files#r287890208
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/python/cpython/pull/9959/files
pablogsalhttps://github.com/pablogsal
May 27, 2019https://github.com/python/cpython/pull/9959/files#r287891695
Please reload this pagehttps://github.com/python/cpython/pull/9959/files
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/python/cpython/pull/9959/files
pitrouhttps://github.com/pitrou
May 27, 2019https://github.com/python/cpython/pull/9959/files#r287881946
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/python/cpython/pull/9959/files
pablogsalhttps://github.com/pablogsal
May 27, 2019https://github.com/python/cpython/pull/9959/files#r287889792
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/python/cpython/pull/9959/files
Please reload this pagehttps://github.com/python/cpython/pull/9959/files
Please reload this pagehttps://github.com/python/cpython/pull/9959/files
Please reload this pagehttps://github.com/python/cpython/pull/9959/files
https://github.com/python/cpython/pull/9959/files#diff-2cf07acf4f2d547e93e35c6a4ba2ee818e991b54e88da4a904ee0a49acb99eb3
https://github.com/python/cpython/blob/main/.github/CODEOWNERS#L531
Lib/multiprocessing/connection.pyhttps://github.com/python/cpython/pull/9959/files#diff-2c54a007d7fe1d9ac5ca008fe2d054394c39a4f521eea2cb580101a284d7b7ec
View file https://github.com/pablogsal/cpython/blob/5a7132f2c47ad51780eea67c460459cb2c8107dc/Lib/multiprocessing/connection.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/9959/{{ revealButtonHref }}
https://github.com/python/cpython/pull/9959/files#diff-2c54a007d7fe1d9ac5ca008fe2d054394c39a4f521eea2cb580101a284d7b7ec
https://github.com/python/cpython/pull/9959/files#diff-2c54a007d7fe1d9ac5ca008fe2d054394c39a4f521eea2cb580101a284d7b7ec
https://github.com/python/cpython/pull/9959/files#diff-2c54a007d7fe1d9ac5ca008fe2d054394c39a4f521eea2cb580101a284d7b7ec
https://github.com/python/cpython/pull/9959/files#diff-2c54a007d7fe1d9ac5ca008fe2d054394c39a4f521eea2cb580101a284d7b7ec
https://github.com/python/cpython/pull/9959/files#diff-2c54a007d7fe1d9ac5ca008fe2d054394c39a4f521eea2cb580101a284d7b7ec
https://github.com/python/cpython/pull/9959/files#diff-2c54a007d7fe1d9ac5ca008fe2d054394c39a4f521eea2cb580101a284d7b7ec
https://github.com/python/cpython/pull/9959/files#diff-2c54a007d7fe1d9ac5ca008fe2d054394c39a4f521eea2cb580101a284d7b7ec
https://github.com/python/cpython/pull/9959/files#diff-2c54a007d7fe1d9ac5ca008fe2d054394c39a4f521eea2cb580101a284d7b7ec
https://github.com/python/cpython/pull/9959/files#diff-2c54a007d7fe1d9ac5ca008fe2d054394c39a4f521eea2cb580101a284d7b7ec
https://github.com/python/cpython/pull/9959/files#diff-2c54a007d7fe1d9ac5ca008fe2d054394c39a4f521eea2cb580101a284d7b7ec
https://github.com/python/cpython/pull/9959/files#diff-2c54a007d7fe1d9ac5ca008fe2d054394c39a4f521eea2cb580101a284d7b7ec
https://github.com/python/cpython/pull/9959/files#diff-2c54a007d7fe1d9ac5ca008fe2d054394c39a4f521eea2cb580101a284d7b7ec
https://github.com/python/cpython/pull/9959/files#diff-2c54a007d7fe1d9ac5ca008fe2d054394c39a4f521eea2cb580101a284d7b7ec
https://github.com/python/cpython/pull/9959/files#diff-2c54a007d7fe1d9ac5ca008fe2d054394c39a4f521eea2cb580101a284d7b7ec
https://github.com/python/cpython/pull/9959/files#diff-2c54a007d7fe1d9ac5ca008fe2d054394c39a4f521eea2cb580101a284d7b7ec
https://github.com/python/cpython/pull/9959/files#diff-2c54a007d7fe1d9ac5ca008fe2d054394c39a4f521eea2cb580101a284d7b7ec
https://github.com/python/cpython/pull/9959/files#diff-2c54a007d7fe1d9ac5ca008fe2d054394c39a4f521eea2cb580101a284d7b7ec
https://github.com/python/cpython/pull/9959/files#diff-2c54a007d7fe1d9ac5ca008fe2d054394c39a4f521eea2cb580101a284d7b7ec
https://github.com/python/cpython/pull/9959/files#diff-2c54a007d7fe1d9ac5ca008fe2d054394c39a4f521eea2cb580101a284d7b7ec
https://github.com/python/cpython/pull/9959/files#diff-2c54a007d7fe1d9ac5ca008fe2d054394c39a4f521eea2cb580101a284d7b7ec
https://github.com/python/cpython/pull/9959/files#diff-2c54a007d7fe1d9ac5ca008fe2d054394c39a4f521eea2cb580101a284d7b7ec
https://github.com/python/cpython/pull/9959/files#diff-2c54a007d7fe1d9ac5ca008fe2d054394c39a4f521eea2cb580101a284d7b7ec
Please reload this pagehttps://github.com/python/cpython/pull/9959/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.