uvloop icon indicating copy to clipboard operation
uvloop copied to clipboard

Implement Windows support

Open 1st1 opened this issue 9 years ago • 5 comments

To-do:

  • [ ] test_create_connection_ssl_1 hangs
  • [ ] a bunch of DNS tests fail (likely different error messages)
  • [ ] one of UDP tests is failing

Major things:

  • [ ] Implement a separate handles/process.pyx for 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

1st1 avatar Nov 23 '16 22:11 1st1

Rebased agains the current master branch.

1st1 avatar Nov 26 '17 04:11 1st1

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

ahartikainen avatar Jan 27 '19 11:01 ahartikainen

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

ma5oud180 avatar Apr 17 '19 07:04 ma5oud180

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.

1st1 avatar Apr 17 '19 13:04 1st1

@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.

1st1 avatar Apr 17 '19 13:04 1st1