Implement Windows support
To-do:
- [ ]
test_create_connection_ssl_1hangs - [ ] a bunch of DNS tests fail (likely different error messages)
- [ ] one of UDP tests is failing
Major things:
- [ ] Implement a separate
handles/process.pyxfor Windows which would use only standard libuv APIs for stdin/out/err. - [ ] Need new
uv_udp_connect()API for proper UDP support.
External PRs:
- [x] https://github.com/libuv/libuv/pull/1150
Rebased agains the current master branch.
Hi, what is the current situation with Windows support?
Is the problem with msvc and if so, could mingw64-w64 used to circumvent those problems?
I'am happy to help, but not sure where to start.
ps We are using this package with https://github.com/stan-dev/httpstan
Hi Yuri, I understand that you are super busy, but I myself & as I see lots of people, are not able and have not the skills to make it work on Windows. I would like to kindly ask you to finally, easily make it possible to install this package on Windows 64 bit systems. Lots of people are looking for it. Thanks
Lots of people are looking for it.
Maybe, but there's no good reason for that. Do you have a good reason?
Vanilla asyncio works perfectly fine on Windows, there's no benefit of running uvloop except better performance. And not that many people deploy Python on Windows these days. Besides, Windows now has Linux subsystem, you can run uvloop there.
Porting uvloop to Windows is also blocked on libuv -- there's a bunch of work we need to do there (libuv) before we can do it here (uvloop). Doing this properly is a multi-week project that I don't have time to do now for free.
@ahartikainen
I'am happy to help, but not sure where to start.
A good start would be to rebase this PR on top of the latest master branch. I'd then spend some time to merge a half-featured Windows support so that it's in the master branch and requires CI. We can slowly start improving Windows support from there.