René's URL Explorer Experiment


Title: Start unifying uvloop & winloop together (WINDOWS SUPPORT) by Vizonex · Pull Request #736 · MagicStack/uvloop · GitHub

Open Graph Title: Start unifying uvloop & winloop together (WINDOWS SUPPORT) by Vizonex · Pull Request #736 · MagicStack/uvloop

X Title: Start unifying uvloop & winloop together (WINDOWS SUPPORT) by Vizonex · Pull Request #736 · MagicStack/uvloop

Description: A once seen os-gate is finally going to be lifted. I think it's pretty BS that we waited a decade but I'm here now to bring all of this nonsense to a close. I don't think it was fair to begin with. All I wanted to do was scrape websites with tor back in my day and at that time my computer was a 2 cpu laptop, to me making windows support wasn't just a goal but a statement that anything is possible if you put your mind to it. I have maintained my project winloop for around 3 years and I originally didn't want to bring windows parts here thinking that the chore or merging would be much more painful that I had anticipated. My reason for bringing my fixes for windows back here has to do with the maintenance nightmare/catchup game. With a part-time job clenching my neck along with other projects that I've wanted to explore I'm bringing all my research back here. To put my very first pypi library that I really cared about to a close. I want to give a huge thank you to @lschoe for helping me to unify different portions of code that I have originally written and another shoutout to everyone else who contributed to winloop. This work would not be possible without all of you. As soon as this passes I will be able to start safely decommissioning winloop and redirect my developers & users to uvloop again this should also make projects needing both winloop & uvloop obsolete cutting a bunch of unwanted headaches. In return I plan to help maintain the uvloop project. I believe that I can find new things to optimize in the future. fixes #14 fixes #536 fixes #652 Also feel free to close #62 as obsolete. WarningI want as much help and as many reviewers as I can get. Do whatever it takes to point me in the right direction and I will do my best to follow. Merging windows and posix together is a pain and we need to get start unifying a lot of posix-speific code if we want this to work. NoteUvloop should not be a library that doesn't allow windows to be used, there are people who still use windows on a daily basis, while I may not support Microsoft's business practices, having windows support will benefit everybody who has waited patiently for this and there are plenty of people who are using winloop to workaround this current problem. Having uvloop support windows is my endgame, this will in return cut the stress and burden that has been given and reduce the over all maintenance costs that winloop has had for me and the other maintainers of that project over the years.

Open Graph Description: A once seen os-gate is finally going to be lifted. I think it's pretty BS that we waited a decade but I'm here now to bring all of this nonsense to a close. I don't think it was fair to...

X Description: A once seen os-gate is finally going to be lifted. I think it's pretty BS that we waited a decade but I'm here now to bring all of this nonsense to a close. I don't think it...

Opengraph URL: https://github.com/MagicStack/uvloop/pull/736

X: @github

direct link

Domain: Github.com

route-pattern/:user_id/:repository/pull/:id/commits/:range(.:format)
route-controllerpull_requests
route-actioncommits
fetch-noncev2:7bf42989-d802-559a-2129-905b59bf2373
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-id9458:1E7BF7:5E335DF:616AB31:6A655A64
html-safe-nonceb36d0d90ed0896c7d6b8de1b2e2a5f254bd32c7d108898e4bf6230872499cd9c
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI5NDU4OjFFN0JGNzo1RTMzNURGOjYxNkFCMzE6NkE2NTVBNjQiLCJ2aXNpdG9yX2lkIjoiMjI3NTA4MDIwNDY2MTkwNjAyMCIsInJlZ2lvbl9lZGdlIjoic2VhIiwicmVnaW9uX3JlbmRlciI6InNlYSJ9
visitor-hmac2405489017eca5a8798c67f983e6398db91d0ed91e555dad6f59ba458c8ec6e9
hovercard-subject-tagpull_request:3412065127
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/commits
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/MagicStack/uvloop/pull/736/commits/d3c2b4a3b41d5713b39b743989348e791d6e0937
twitter:imagehttps://avatars.githubusercontent.com/u/114684698?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/114684698?s=400&v=4
og:image:altA once seen os-gate is finally going to be lifted. I think it's pretty BS that we waited a decade but I'm here now to bring all of this nonsense to a close. I don't think it was fair to...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
None52c76df668885aaff23b50bdca1fa1ea44ac9c1553e888ebc70ff1e4daa4625b
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/MagicStack/uvloop git https://github.com/MagicStack/uvloop.git
octolytics-dimension-user_id14324950
octolytics-dimension-user_loginMagicStack
octolytics-dimension-repository_id45766550
octolytics-dimension-repository_nwoMagicStack/uvloop
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id45766550
octolytics-dimension-repository_network_root_nwoMagicStack/uvloop
turbo-body-classeslogged-out env-production page-responsive
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release309153364422b3c499922d1a2a6404910a58ed8e
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://Github.com/MagicStack/uvloop/pull/736/commits/d3c2b4a3b41d5713b39b743989348e791d6e0937#start-of-content
https://Github.com/
Sign in https://Github.com/login?return_to=https%3A%2F%2Fgithub.com%2FMagicStack%2Fuvloop%2Fpull%2F736%2Fcommits%2Fd3c2b4a3b41d5713b39b743989348e791d6e0937
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
Code QualityEnforce quality at mergehttps://github.com/features/code-quality
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%2FMagicStack%2Fuvloop%2Fpull%2F736%2Fcommits%2Fd3c2b4a3b41d5713b39b743989348e791d6e0937
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%2Fcommits&source=header-repo&source_repo=MagicStack%2Fuvloop
Reloadhttps://Github.com/MagicStack/uvloop/pull/736/commits/d3c2b4a3b41d5713b39b743989348e791d6e0937
Reloadhttps://Github.com/MagicStack/uvloop/pull/736/commits/d3c2b4a3b41d5713b39b743989348e791d6e0937
Reloadhttps://Github.com/MagicStack/uvloop/pull/736/commits/d3c2b4a3b41d5713b39b743989348e791d6e0937
Please reload this pagehttps://Github.com/MagicStack/uvloop/pull/736/commits/d3c2b4a3b41d5713b39b743989348e791d6e0937
MagicStack https://Github.com/MagicStack
uvloophttps://Github.com/MagicStack/uvloop
Notifications https://Github.com/login?return_to=%2FMagicStack%2Fuvloop
Fork 612 https://Github.com/login?return_to=%2FMagicStack%2Fuvloop
Star 11.9k https://Github.com/login?return_to=%2FMagicStack%2Fuvloop
Code https://Github.com/MagicStack/uvloop
Issues 126 https://Github.com/MagicStack/uvloop/issues
Pull requests 30 https://Github.com/MagicStack/uvloop/pulls
Actions https://Github.com/MagicStack/uvloop/actions
Projects https://Github.com/MagicStack/uvloop/projects
Wiki https://Github.com/MagicStack/uvloop/wiki
Security and quality 0 https://Github.com/MagicStack/uvloop/security
Insights https://Github.com/MagicStack/uvloop/pulse
Code https://Github.com/MagicStack/uvloop
Issues https://Github.com/MagicStack/uvloop/issues
Pull requests https://Github.com/MagicStack/uvloop/pulls
Actions https://Github.com/MagicStack/uvloop/actions
Projects https://Github.com/MagicStack/uvloop/projects
Wiki https://Github.com/MagicStack/uvloop/wiki
Security and quality https://Github.com/MagicStack/uvloop/security
Insights https://Github.com/MagicStack/uvloop/pulse
Sign up for GitHub https://Github.com/signup?return_to=%2FMagicStack%2Fuvloop%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://Github.com/login?return_to=%2FMagicStack%2Fuvloop%2Fissues%2Fnew%2Fchoose
Vizonexhttps://Github.com/Vizonex
MagicStack:masterhttps://Github.com/MagicStack/uvloop/tree/master
Vizonex:windowshttps://Github.com/Vizonex/uvloop/tree/windows
Conversation 21 https://Github.com/MagicStack/uvloop/pull/736
Commits 35 https://Github.com/MagicStack/uvloop/pull/736/commits
Checks 25 https://Github.com/MagicStack/uvloop/pull/736/checks
Files changed https://Github.com/MagicStack/uvloop/pull/736/files
Please reload this pagehttps://Github.com/MagicStack/uvloop/pull/736/commits/d3c2b4a3b41d5713b39b743989348e791d6e0937
Start unifying uvloop & winloop together (WINDOWS SUPPORT) https://Github.com/MagicStack/uvloop/pull/736/commits/d3c2b4a3b41d5713b39b743989348e791d6e0937#top
Show all changes 35 commits https://Github.com/MagicStack/uvloop/pull/736/files
35b0fab start unifying uvloop & winloop together Vizonex Mar 17, 2026 https://Github.com/MagicStack/uvloop/pull/736/commits/35b0fabd5f91995b84e173bb84337dc686a9b976
6827264 Accomplishment: Uvloop now compiles on Windows Vizonex Mar 18, 2026 https://Github.com/MagicStack/uvloop/pull/736/commits/68272643655cd1edecadb5c7ef402e4e7b4bddd0
0bb1a68 cleanup errors.pyx comments Vizonex Mar 18, 2026 https://Github.com/MagicStack/uvloop/pull/736/commits/0bb1a68113b6a3f35d4ffdb094e714f75151017f
77bc6dc forgot about setup.py let's add it Vizonex Mar 18, 2026 https://Github.com/MagicStack/uvloop/pull/736/commits/77bc6dc56d42e14db040ab78803026c2fbc4c7b7
acd5a8b siginterrupt is not avalible on windows so make it optional Vizonex Mar 18, 2026 https://Github.com/MagicStack/uvloop/pull/736/commits/acd5a8b2152a9c7b5908205c07800689b5220029
994560c try placing __forking variables outside of system OS check Vizonex Mar 18, 2026 https://Github.com/MagicStack/uvloop/pull/736/commits/994560c1ea303fa8f9c3fb9c5c3f2e324b0edf7e
d3c2b4a windows doesn't have childwatchers so disable it Vizonex Mar 18, 2026 https://Github.com/MagicStack/uvloop/pull/736/commits/d3c2b4a3b41d5713b39b743989348e791d6e0937
898b310 add gil technqiue for windows to simulate forking Vizonex Mar 18, 2026 https://Github.com/MagicStack/uvloop/pull/736/commits/898b310b5cc7d1d1d783aea268246982578d6195
114ae18 add a non-deprecated packaging tool Vizonex Mar 18, 2026 https://Github.com/MagicStack/uvloop/pull/736/commits/114ae1838dc3d94ba5f5c5c186d6578f6513496f
4037ba8 start introducing windows to the testsuite Vizonex Mar 18, 2026 https://Github.com/MagicStack/uvloop/pull/736/commits/4037ba827253ef4121a8f14c93f287fe76545aad
7fb3f43 skip fork test in signals if windows Vizonex Mar 18, 2026 https://Github.com/MagicStack/uvloop/pull/736/commits/7fb3f43e008167eb29aaa51e11f52fb797aa1260
2ed0e62 merge more things from winloop on over to uvloop in test_signals Vizonex Mar 18, 2026 https://Github.com/MagicStack/uvloop/pull/736/commits/2ed0e62a81ac3d3e672cf2757f3aadd4257ba28f
46bc155 just port all the code over Vizonex Mar 18, 2026 https://Github.com/MagicStack/uvloop/pull/736/commits/46bc155b46ca2dcfe2b3d94a7df3559ba2923bbf
3d1fc4d merge more tests Vizonex Mar 18, 2026 https://Github.com/MagicStack/uvloop/pull/736/commits/3d1fc4d245612b2f50fb366d88c5cea3602fffa0
921370b merge both winloop & uvloop's error handling ways together Vizonex Mar 18, 2026 https://Github.com/MagicStack/uvloop/pull/736/commits/921370b12565bcc7346a6314fc92517eb28cd4c9
250a656 merge more tests Vizonex Mar 18, 2026 https://Github.com/MagicStack/uvloop/pull/736/commits/250a656908860f3f287efc848e1caf14928b76d7
a42c101 merge more of winloop into uvloop, add comment about streams returnin… Vizonex Mar 18, 2026 https://Github.com/MagicStack/uvloop/pull/736/commits/a42c1014a241aefec21878fc09d0c50d10f47632
aca987b force trigger workflow temporarly Vizonex Mar 18, 2026 https://Github.com/MagicStack/uvloop/pull/736/commits/aca987ba17dec904fa0ec3e71254ed5538c81701
d8eac6a Make All versions up to 3.12 work successfully. (#1) (Excluding Windo… Vizonex Mar 19, 2026 https://Github.com/MagicStack/uvloop/pull/736/commits/d8eac6ab04c37ee198be1eef70decada594c0973
9bd6dd6 temporary fix for working with windows in debug mode Vizonex Mar 20, 2026 https://Github.com/MagicStack/uvloop/pull/736/commits/9bd6dd65983af48874a2df9693e1e8ea516199cd
37e54a2 Merge branch 'windows' of https://github.com/Vizonex/uvloop into windows Vizonex Mar 20, 2026 https://Github.com/MagicStack/uvloop/pull/736/commits/37e54a246f16ffd980eb543caf8da6e6f0395aeb
297be3e All versions now work excluding debugs for windows in 3.13, 3.14 & 3.14t Vizonex Mar 20, 2026 https://Github.com/MagicStack/uvloop/pull/736/commits/297be3efd1ce064279ab0dd922a09be80c71dc79
3778759 Add __Pyx_MonitoringEventTypes_CyGen_count macro (#3) Vizonex Mar 21, 2026 https://Github.com/MagicStack/uvloop/pull/736/commits/37787597bc5282aa8a82627dce6ff93152c95484
2ccaf83 Fix subprocess_shell code (Windows Side) (#4) Vizonex Mar 21, 2026 https://Github.com/MagicStack/uvloop/pull/736/commits/2ccaf8324ab29cbd6f4636b178baed4b158645d4
0a35c9f Moved rest of the missing items back to stdlib.pxi (#6) Vizonex Mar 22, 2026 https://Github.com/MagicStack/uvloop/pull/736/commits/0a35c9f6927389f7d53edf59d0c79bf832b34c48
d3c79f2 update with suggestions made Vizonex Mar 24, 2026 https://Github.com/MagicStack/uvloop/pull/736/commits/d3c79f2d0a66dca343baab765be7e4a315380004
47ba5e1 swap test_write_buffer_full to skip via wrapper and reenable testing … Vizonex Apr 6, 2026 https://Github.com/MagicStack/uvloop/pull/736/commits/47ba5e1e5ef9984c1b901ec50492a9370f2ae504
d90e020 fix test_pipes.py format Vizonex Apr 6, 2026 https://Github.com/MagicStack/uvloop/pull/736/commits/d90e020f0becf527119d61e916fbc605759c74d1
7a2ddc5 Merge branch 'master' into windows Vizonex Jun 5, 2026 https://Github.com/MagicStack/uvloop/pull/736/commits/7a2ddc5e9d8c3cf30fa7cf9cfa0971fe658e347c
6388dc6 reformat tests Vizonex Jun 5, 2026 https://Github.com/MagicStack/uvloop/pull/736/commits/6388dc610f4bf16457cb7c810de7656e1d73fc31
55ed79c skip test_create_sock_cancel_fd_leak for now... (#8) Vizonex Jun 5, 2026 https://Github.com/MagicStack/uvloop/pull/736/commits/55ed79c1e0fb0c77d87b92f76312a98724f1b343
1a9f29e Add Windows debug Makefile workaround. (#9) Vizonex Jun 27, 2026 https://Github.com/MagicStack/uvloop/pull/736/commits/1a9f29eb51fc6fe2424459e27c0e1b8dffef3543
a0663f6 CX freeze bugfix windows (#11) Vizonex Jul 1, 2026 https://Github.com/MagicStack/uvloop/pull/736/commits/a0663f6e612a6959e04e7caaed34b079617ed6c5
67df390 Tcp Test Fix (#12) Vizonex Jul 3, 2026 https://Github.com/MagicStack/uvloop/pull/736/commits/67df390b0be13b53cfa12afe913ea4bcf7c374e8
a4c2eff Merge branch 'master' into windows Vizonex Jul 14, 2026 https://Github.com/MagicStack/uvloop/pull/736/commits/a4c2eff70f96281d9a77122f42b655ec2f57715b
Clear filters https://Github.com/MagicStack/uvloop/pull/736/commits/d3c2b4a3b41d5713b39b743989348e791d6e0937
Please reload this pagehttps://Github.com/MagicStack/uvloop/pull/736/commits/d3c2b4a3b41d5713b39b743989348e791d6e0937
Please reload this pagehttps://Github.com/MagicStack/uvloop/pull/736/commits/d3c2b4a3b41d5713b39b743989348e791d6e0937
Prev https://Github.com/MagicStack/uvloop/pull/736/commits/994560c1ea303fa8f9c3fb9c5c3f2e324b0edf7e
Next https://Github.com/MagicStack/uvloop/pull/736/commits/898b310b5cc7d1d1d783aea268246982578d6195
Please reload this pagehttps://Github.com/MagicStack/uvloop/pull/736/commits/d3c2b4a3b41d5713b39b743989348e791d6e0937
https://Github.com/Vizonex
Vizonexhttps://Github.com/MagicStack/uvloop/commits?author=Vizonex
uvloop/_testbase.pyhttps://Github.com/MagicStack/uvloop/pull/736/commits/d3c2b4a3b41d5713b39b743989348e791d6e0937#diff-23442418a7f45a49ff1d261f37aadda00d56fa0fba5117ab2e022102b9306a09
View file https://Github.com/MagicStack/uvloop/blob/d3c2b4a3b41d5713b39b743989348e791d6e0937/uvloop/_testbase.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://Github.com/MagicStack/uvloop/pull/736/commits/{{ revealButtonHref }}
https://Github.com/MagicStack/uvloop/pull/736/commits/d3c2b4a3b41d5713b39b743989348e791d6e0937#diff-23442418a7f45a49ff1d261f37aadda00d56fa0fba5117ab2e022102b9306a09
https://Github.com/MagicStack/uvloop/pull/736/commits/d3c2b4a3b41d5713b39b743989348e791d6e0937#diff-23442418a7f45a49ff1d261f37aadda00d56fa0fba5117ab2e022102b9306a09
https://Github.com/MagicStack/uvloop/pull/736/commits/d3c2b4a3b41d5713b39b743989348e791d6e0937#diff-23442418a7f45a49ff1d261f37aadda00d56fa0fba5117ab2e022102b9306a09
https://Github.com/MagicStack/uvloop/pull/736/commits/d3c2b4a3b41d5713b39b743989348e791d6e0937#diff-23442418a7f45a49ff1d261f37aadda00d56fa0fba5117ab2e022102b9306a09
Please reload this pagehttps://Github.com/MagicStack/uvloop/pull/736/commits/d3c2b4a3b41d5713b39b743989348e791d6e0937
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.