winloop 0.8.0__tar.gz → 0.8.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (528) hide show
  1. winloop-0.8.2/PKG-INFO +161 -0
  2. winloop-0.8.2/README.md +115 -0
  3. {winloop-0.8.0 → winloop-0.8.2}/pyproject.toml +1 -1
  4. {winloop-0.8.0 → winloop-0.8.2}/tests/test_process.py +47 -0
  5. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/autom4te.cache/requests +257 -257
  6. {winloop-0.8.0 → winloop-0.8.2}/winloop/__init__.py +38 -48
  7. {winloop-0.8.0 → winloop-0.8.2}/winloop/_version.py +1 -1
  8. {winloop-0.8.0 → winloop-0.8.2}/winloop/handles/process.pxd +5 -3
  9. {winloop-0.8.0 → winloop-0.8.2}/winloop/handles/process.pyx +35 -5
  10. {winloop-0.8.0 → winloop-0.8.2}/winloop/includes/stdlib.pxi +8 -1
  11. {winloop-0.8.0 → winloop-0.8.2}/winloop/includes/uv.pxd +2 -1
  12. {winloop-0.8.0 → winloop-0.8.2}/winloop/loop.c +38359 -19750
  13. {winloop-0.8.0 → winloop-0.8.2}/winloop/loop.pxd +5 -1
  14. {winloop-0.8.0 → winloop-0.8.2}/winloop/loop.pyi +94 -88
  15. {winloop-0.8.0 → winloop-0.8.2}/winloop/loop.pyx +4 -4
  16. winloop-0.8.2/winloop/weakref_set.pxd +28 -0
  17. winloop-0.8.2/winloop/weakref_set.pyx +271 -0
  18. winloop-0.8.2/winloop.egg-info/PKG-INFO +161 -0
  19. {winloop-0.8.0 → winloop-0.8.2}/winloop.egg-info/SOURCES.txt +2 -0
  20. {winloop-0.8.0 → winloop-0.8.2}/winloop.egg-info/requires.txt +1 -1
  21. winloop-0.8.0/PKG-INFO +0 -328
  22. winloop-0.8.0/README.md +0 -282
  23. winloop-0.8.0/winloop.egg-info/PKG-INFO +0 -328
  24. {winloop-0.8.0 → winloop-0.8.2}/.flake8 +0 -0
  25. {winloop-0.8.0 → winloop-0.8.2}/LICENSE-APACHE +0 -0
  26. {winloop-0.8.0 → winloop-0.8.2}/LICENSE-MIT +0 -0
  27. {winloop-0.8.0 → winloop-0.8.2}/MANIFEST.in +0 -0
  28. {winloop-0.8.0 → winloop-0.8.2}/Makefile +0 -0
  29. {winloop-0.8.0 → winloop-0.8.2}/examples/bench/echoclient.py +0 -0
  30. {winloop-0.8.0 → winloop-0.8.2}/examples/bench/echoserver.py +0 -0
  31. {winloop-0.8.0 → winloop-0.8.2}/examples/bench/rlserver.py +0 -0
  32. {winloop-0.8.0 → winloop-0.8.2}/mypy.ini +0 -0
  33. {winloop-0.8.0 → winloop-0.8.2}/setup.cfg +0 -0
  34. {winloop-0.8.0 → winloop-0.8.2}/setup.py +0 -0
  35. {winloop-0.8.0 → winloop-0.8.2}/tests/__init__.py +0 -0
  36. {winloop-0.8.0 → winloop-0.8.2}/tests/__main__.py +0 -0
  37. {winloop-0.8.0 → winloop-0.8.2}/tests/certs/ssl_cert.pem +0 -0
  38. {winloop-0.8.0 → winloop-0.8.2}/tests/certs/ssl_key.pem +0 -0
  39. {winloop-0.8.0 → winloop-0.8.2}/tests/conftest.py +0 -0
  40. {winloop-0.8.0 → winloop-0.8.2}/tests/test_aiodns.py +0 -0
  41. {winloop-0.8.0 → winloop-0.8.2}/tests/test_aiohttp.py +0 -0
  42. {winloop-0.8.0 → winloop-0.8.2}/tests/test_aiomultiprocess.py +0 -0
  43. {winloop-0.8.0 → winloop-0.8.2}/tests/test_base.py +0 -0
  44. {winloop-0.8.0 → winloop-0.8.2}/tests/test_context.py +0 -0
  45. {winloop-0.8.0 → winloop-0.8.2}/tests/test_cython.py +0 -0
  46. {winloop-0.8.0 → winloop-0.8.2}/tests/test_dealloc.py +0 -0
  47. {winloop-0.8.0 → winloop-0.8.2}/tests/test_dns.py +0 -0
  48. {winloop-0.8.0 → winloop-0.8.2}/tests/test_executors.py +0 -0
  49. {winloop-0.8.0 → winloop-0.8.2}/tests/test_fs_event.py +0 -0
  50. {winloop-0.8.0 → winloop-0.8.2}/tests/test_libuv_api.py +0 -0
  51. {winloop-0.8.0 → winloop-0.8.2}/tests/test_pipes.py +0 -0
  52. {winloop-0.8.0 → winloop-0.8.2}/tests/test_playwright.py +0 -0
  53. {winloop-0.8.0 → winloop-0.8.2}/tests/test_process_spawning.py +0 -0
  54. {winloop-0.8.0 → winloop-0.8.2}/tests/test_regr1.py +0 -0
  55. {winloop-0.8.0 → winloop-0.8.2}/tests/test_runner.py +0 -0
  56. {winloop-0.8.0 → winloop-0.8.2}/tests/test_signals.py +0 -0
  57. {winloop-0.8.0 → winloop-0.8.2}/tests/test_sockets.py +0 -0
  58. {winloop-0.8.0 → winloop-0.8.2}/tests/test_sourcecode.py +0 -0
  59. {winloop-0.8.0 → winloop-0.8.2}/tests/test_tcp.py +0 -0
  60. {winloop-0.8.0 → winloop-0.8.2}/tests/test_testbase.py +0 -0
  61. {winloop-0.8.0 → winloop-0.8.2}/tests/test_udp.py +0 -0
  62. {winloop-0.8.0 → winloop-0.8.2}/tests/test_unix.py +0 -0
  63. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/.clang-tidy +0 -0
  64. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/.git +0 -0
  65. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/.gitattributes +0 -0
  66. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/.github/ISSUE_TEMPLATE.md +0 -0
  67. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/.github/dependabot.yml +0 -0
  68. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/.github/workflows/CI-docs.yml +0 -0
  69. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/.github/workflows/CI-freebsd.yml +0 -0
  70. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/.github/workflows/CI-netbsd.yml +0 -0
  71. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/.github/workflows/CI-openbsd.yml +0 -0
  72. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/.github/workflows/CI-sample.yml +0 -0
  73. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/.github/workflows/CI-solaris.yml +0 -0
  74. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/.github/workflows/CI-unix.yml +0 -0
  75. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/.github/workflows/CI-win.yml +0 -0
  76. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/.github/workflows/sanitizer.yml +0 -0
  77. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/.gitignore +0 -0
  78. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/.mailmap +0 -0
  79. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/.readthedocs.yaml +0 -0
  80. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/AUTHORS +0 -0
  81. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/CMakeLists.txt +0 -0
  82. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/CONTRIBUTING.md +0 -0
  83. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/ChangeLog +0 -0
  84. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/LICENSE +0 -0
  85. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/LICENSE-docs +0 -0
  86. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/LICENSE-extra +0 -0
  87. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/LINKS.md +0 -0
  88. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/MAINTAINERS.md +0 -0
  89. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/Makefile.am +0 -0
  90. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/Makefile.in +0 -0
  91. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/README.md +0 -0
  92. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/SECURITY.md +0 -0
  93. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/SUPPORTED_PLATFORMS.md +0 -0
  94. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/aclocal.m4 +0 -0
  95. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/ar-lib +0 -0
  96. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/autogen.sh +0 -0
  97. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/autom4te.cache/output.0 +0 -0
  98. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/autom4te.cache/output.1 +0 -0
  99. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/autom4te.cache/output.2 +0 -0
  100. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/autom4te.cache/traces.0 +0 -0
  101. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/autom4te.cache/traces.1 +0 -0
  102. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/autom4te.cache/traces.2 +0 -0
  103. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/cmake-toolchains/cross-mingw32.cmake +0 -0
  104. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/compile +0 -0
  105. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/config.guess +0 -0
  106. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/config.sub +0 -0
  107. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/configure +0 -0
  108. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/configure.ac +0 -0
  109. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/depcomp +0 -0
  110. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/include/uv/aix.h +0 -0
  111. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/include/uv/bsd.h +0 -0
  112. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/include/uv/darwin.h +0 -0
  113. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/include/uv/errno.h +0 -0
  114. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/include/uv/linux.h +0 -0
  115. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/include/uv/os390.h +0 -0
  116. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/include/uv/posix.h +0 -0
  117. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/include/uv/sunos.h +0 -0
  118. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/include/uv/threadpool.h +0 -0
  119. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/include/uv/tree.h +0 -0
  120. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/include/uv/unix.h +0 -0
  121. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/include/uv/version.h +0 -0
  122. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/include/uv/win.h +0 -0
  123. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/include/uv.h +0 -0
  124. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/install-sh +0 -0
  125. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/libuv-static.pc.in +0 -0
  126. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/libuv.pc.in +0 -0
  127. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/ltmain.sh +0 -0
  128. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/m4/.gitignore +0 -0
  129. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/m4/as_case.m4 +0 -0
  130. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/m4/ax_pthread.m4 +0 -0
  131. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/m4/libtool.m4 +0 -0
  132. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/m4/libuv-check-flags.m4 +0 -0
  133. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/m4/libuv-check-versions.m4 +0 -0
  134. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/m4/libuv-extra-automake-flags.m4 +0 -0
  135. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/m4/ltoptions.m4 +0 -0
  136. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/m4/ltsugar.m4 +0 -0
  137. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/m4/ltversion.m4 +0 -0
  138. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/m4/lt~obsolete.m4 +0 -0
  139. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/missing +0 -0
  140. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/fs-poll.c +0 -0
  141. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/heap-inl.h +0 -0
  142. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/idna.c +0 -0
  143. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/idna.h +0 -0
  144. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/inet.c +0 -0
  145. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/queue.h +0 -0
  146. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/random.c +0 -0
  147. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/strscpy.c +0 -0
  148. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/strscpy.h +0 -0
  149. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/strtok.c +0 -0
  150. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/strtok.h +0 -0
  151. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/thread-common.c +0 -0
  152. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/threadpool.c +0 -0
  153. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/timer.c +0 -0
  154. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/unix/aix-common.c +0 -0
  155. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/unix/aix.c +0 -0
  156. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/unix/async.c +0 -0
  157. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/unix/bsd-ifaddrs.c +0 -0
  158. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/unix/bsd-proctitle.c +0 -0
  159. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/unix/core.c +0 -0
  160. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/unix/cygwin.c +0 -0
  161. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/unix/darwin-proctitle.c +0 -0
  162. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/unix/darwin-stub.h +0 -0
  163. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/unix/darwin-syscalls.h +0 -0
  164. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/unix/darwin.c +0 -0
  165. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/unix/dl.c +0 -0
  166. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/unix/freebsd.c +0 -0
  167. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/unix/fs.c +0 -0
  168. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/unix/fsevents.c +0 -0
  169. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/unix/getaddrinfo.c +0 -0
  170. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/unix/getnameinfo.c +0 -0
  171. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/unix/haiku.c +0 -0
  172. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/unix/hurd.c +0 -0
  173. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/unix/ibmi.c +0 -0
  174. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/unix/internal.h +0 -0
  175. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/unix/kqueue.c +0 -0
  176. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/unix/linux.c +0 -0
  177. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/unix/loop-watcher.c +0 -0
  178. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/unix/loop.c +0 -0
  179. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/unix/netbsd.c +0 -0
  180. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/unix/no-fsevents.c +0 -0
  181. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/unix/no-proctitle.c +0 -0
  182. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/unix/openbsd.c +0 -0
  183. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/unix/os390-proctitle.c +0 -0
  184. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/unix/os390-syscalls.c +0 -0
  185. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/unix/os390-syscalls.h +0 -0
  186. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/unix/os390.c +0 -0
  187. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/unix/pipe.c +0 -0
  188. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/unix/poll.c +0 -0
  189. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/unix/posix-hrtime.c +0 -0
  190. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/unix/posix-poll.c +0 -0
  191. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/unix/process.c +0 -0
  192. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/unix/procfs-exepath.c +0 -0
  193. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/unix/proctitle.c +0 -0
  194. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/unix/qnx.c +0 -0
  195. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/unix/random-devurandom.c +0 -0
  196. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/unix/random-getentropy.c +0 -0
  197. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/unix/random-getrandom.c +0 -0
  198. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/unix/random-sysctl-linux.c +0 -0
  199. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/unix/signal.c +0 -0
  200. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/unix/stream.c +0 -0
  201. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/unix/sunos.c +0 -0
  202. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/unix/sysinfo-loadavg.c +0 -0
  203. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/unix/sysinfo-memory.c +0 -0
  204. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/unix/tcp.c +0 -0
  205. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/unix/thread.c +0 -0
  206. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/unix/tty.c +0 -0
  207. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/unix/udp.c +0 -0
  208. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/uv-common.c +0 -0
  209. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/uv-common.h +0 -0
  210. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/uv-data-getter-setters.c +0 -0
  211. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/version.c +0 -0
  212. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/win/async.c +0 -0
  213. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/win/core.c +0 -0
  214. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/win/detect-wakeup.c +0 -0
  215. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/win/dl.c +0 -0
  216. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/win/error.c +0 -0
  217. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/win/fs-event.c +0 -0
  218. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/win/fs-fd-hash-inl.h +0 -0
  219. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/win/fs.c +0 -0
  220. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/win/getaddrinfo.c +0 -0
  221. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/win/getnameinfo.c +0 -0
  222. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/win/handle-inl.h +0 -0
  223. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/win/handle.c +0 -0
  224. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/win/internal.h +0 -0
  225. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/win/loop-watcher.c +0 -0
  226. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/win/pipe.c +0 -0
  227. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/win/poll.c +0 -0
  228. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/win/process-stdio.c +0 -0
  229. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/win/process.c +0 -0
  230. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/win/req-inl.h +0 -0
  231. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/win/signal.c +0 -0
  232. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/win/snprintf.c +0 -0
  233. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/win/stream-inl.h +0 -0
  234. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/win/stream.c +0 -0
  235. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/win/tcp.c +0 -0
  236. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/win/thread.c +0 -0
  237. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/win/tty.c +0 -0
  238. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/win/udp.c +0 -0
  239. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/win/util.c +0 -0
  240. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/win/winapi.c +0 -0
  241. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/win/winapi.h +0 -0
  242. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/win/winsock.c +0 -0
  243. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/src/win/winsock.h +0 -0
  244. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/appcontainer.c +0 -0
  245. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/benchmark-async-pummel.c +0 -0
  246. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/benchmark-async.c +0 -0
  247. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/benchmark-fs-stat.c +0 -0
  248. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/benchmark-getaddrinfo.c +0 -0
  249. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/benchmark-list.h +0 -0
  250. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/benchmark-loop-count.c +0 -0
  251. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/benchmark-million-async.c +0 -0
  252. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/benchmark-million-timers.c +0 -0
  253. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/benchmark-multi-accept.c +0 -0
  254. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/benchmark-ping-pongs.c +0 -0
  255. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/benchmark-ping-udp.c +0 -0
  256. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/benchmark-pound.c +0 -0
  257. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/benchmark-pump.c +0 -0
  258. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/benchmark-queue-work.c +0 -0
  259. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/benchmark-sizes.c +0 -0
  260. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/benchmark-spawn.c +0 -0
  261. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/benchmark-tcp-write-batch.c +0 -0
  262. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/benchmark-thread.c +0 -0
  263. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/benchmark-udp-pummel.c +0 -0
  264. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/blackhole-server.c +0 -0
  265. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/echo-server.c +0 -0
  266. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/fixtures/empty_file +0 -0
  267. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/fixtures/load_error.node +0 -0
  268. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/fixtures/lorem_ipsum.txt +0 -0
  269. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/fixtures/one_file/one_file +0 -0
  270. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/run-benchmarks.c +0 -0
  271. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/run-tests.c +0 -0
  272. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/runner-unix.c +0 -0
  273. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/runner-unix.h +0 -0
  274. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/runner-win.c +0 -0
  275. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/runner-win.h +0 -0
  276. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/runner.c +0 -0
  277. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/runner.h +0 -0
  278. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/task.h +0 -0
  279. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-active.c +0 -0
  280. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-async-null-cb.c +0 -0
  281. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-async.c +0 -0
  282. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-barrier.c +0 -0
  283. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-callback-stack.c +0 -0
  284. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-close-fd.c +0 -0
  285. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-close-order.c +0 -0
  286. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-condvar.c +0 -0
  287. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-connect-unspecified.c +0 -0
  288. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-connection-fail.c +0 -0
  289. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-cwd-and-chdir.c +0 -0
  290. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-default-loop-close.c +0 -0
  291. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-delayed-accept.c +0 -0
  292. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-dlerror.c +0 -0
  293. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-eintr-handling.c +0 -0
  294. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-embed.c +0 -0
  295. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-emfile.c +0 -0
  296. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-env-vars.c +0 -0
  297. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-error.c +0 -0
  298. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-fail-always.c +0 -0
  299. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-fork.c +0 -0
  300. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-fs-copyfile.c +0 -0
  301. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-fs-event.c +0 -0
  302. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-fs-fd-hash.c +0 -0
  303. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-fs-open-flags.c +0 -0
  304. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-fs-poll.c +0 -0
  305. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-fs-readdir.c +0 -0
  306. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-fs.c +0 -0
  307. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-get-currentexe.c +0 -0
  308. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-get-loadavg.c +0 -0
  309. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-get-memory.c +0 -0
  310. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-get-passwd.c +0 -0
  311. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-getaddrinfo.c +0 -0
  312. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-gethostname.c +0 -0
  313. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-getnameinfo.c +0 -0
  314. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-getsockname.c +0 -0
  315. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-getters-setters.c +0 -0
  316. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-gettimeofday.c +0 -0
  317. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-handle-fileno.c +0 -0
  318. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-homedir.c +0 -0
  319. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-hrtime.c +0 -0
  320. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-idle.c +0 -0
  321. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-idna.c +0 -0
  322. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-io-64-safe.c +0 -0
  323. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-iouring-pollhup.c +0 -0
  324. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-ip-name.c +0 -0
  325. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-ip4-addr.c +0 -0
  326. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-ip6-addr.c +0 -0
  327. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-ipc-heavy-traffic-deadlock-bug.c +0 -0
  328. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-ipc-send-recv.c +0 -0
  329. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-ipc.c +0 -0
  330. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-list.h +0 -0
  331. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-loop-alive.c +0 -0
  332. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-loop-close.c +0 -0
  333. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-loop-configure.c +0 -0
  334. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-loop-handles.c +0 -0
  335. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-loop-oom.c +0 -0
  336. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-loop-stop.c +0 -0
  337. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-loop-time.c +0 -0
  338. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-metrics.c +0 -0
  339. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-multiple-listen.c +0 -0
  340. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-mutexes.c +0 -0
  341. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-not-readable-nor-writable-on-read-error.c +0 -0
  342. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-not-writable-after-shutdown.c +0 -0
  343. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-osx-resident-set-memory.c +0 -0
  344. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-osx-select.c +0 -0
  345. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-pass-always.c +0 -0
  346. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-ping-pong.c +0 -0
  347. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-pipe-bind-error.c +0 -0
  348. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-pipe-close-stdout-read-stdin.c +0 -0
  349. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-pipe-connect-error.c +0 -0
  350. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-pipe-connect-multiple.c +0 -0
  351. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-pipe-connect-prepare.c +0 -0
  352. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-pipe-getsockname.c +0 -0
  353. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-pipe-pending-instances.c +0 -0
  354. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-pipe-sendmsg.c +0 -0
  355. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-pipe-server-close.c +0 -0
  356. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-pipe-set-fchmod.c +0 -0
  357. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-pipe-set-non-blocking.c +0 -0
  358. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-pipe-write.c +0 -0
  359. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-platform-output.c +0 -0
  360. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-poll-close-doesnt-corrupt-stack.c +0 -0
  361. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-poll-close.c +0 -0
  362. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-poll-closesocket.c +0 -0
  363. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-poll-multiple-handles.c +0 -0
  364. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-poll-oob.c +0 -0
  365. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-poll.c +0 -0
  366. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-process-priority.c +0 -0
  367. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-process-title-threadsafe.c +0 -0
  368. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-process-title.c +0 -0
  369. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-queue-foreach-delete.c +0 -0
  370. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-random.c +0 -0
  371. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-readable-on-eof.c +0 -0
  372. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-ref.c +0 -0
  373. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-run-nowait.c +0 -0
  374. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-run-once.c +0 -0
  375. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-semaphore.c +0 -0
  376. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-shutdown-close.c +0 -0
  377. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-shutdown-eof.c +0 -0
  378. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-shutdown-simultaneous.c +0 -0
  379. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-shutdown-twice.c +0 -0
  380. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-signal-multiple-loops.c +0 -0
  381. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-signal-pending-on-close.c +0 -0
  382. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-signal.c +0 -0
  383. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-sizeof.c +0 -0
  384. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-socket-buffer-size.c +0 -0
  385. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-spawn.c +0 -0
  386. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-stdio-over-pipes.c +0 -0
  387. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-strscpy.c +0 -0
  388. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-strtok.c +0 -0
  389. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-tcp-alloc-cb-fail.c +0 -0
  390. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-tcp-bind-error.c +0 -0
  391. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-tcp-bind6-error.c +0 -0
  392. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-tcp-close-accept.c +0 -0
  393. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-tcp-close-after-read-timeout.c +0 -0
  394. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-tcp-close-reset.c +0 -0
  395. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-tcp-close-while-connecting.c +0 -0
  396. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-tcp-close.c +0 -0
  397. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-tcp-connect-error-after-write.c +0 -0
  398. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-tcp-connect-error.c +0 -0
  399. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-tcp-connect-timeout.c +0 -0
  400. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-tcp-connect6-error.c +0 -0
  401. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-tcp-create-socket-early.c +0 -0
  402. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-tcp-flags.c +0 -0
  403. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-tcp-oob.c +0 -0
  404. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-tcp-open.c +0 -0
  405. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-tcp-read-stop-start.c +0 -0
  406. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-tcp-read-stop.c +0 -0
  407. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-tcp-reuseport.c +0 -0
  408. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-tcp-rst.c +0 -0
  409. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-tcp-shutdown-after-write.c +0 -0
  410. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-tcp-try-write-error.c +0 -0
  411. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-tcp-try-write.c +0 -0
  412. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-tcp-unexpected-read.c +0 -0
  413. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-tcp-write-after-connect.c +0 -0
  414. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-tcp-write-fail.c +0 -0
  415. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-tcp-write-in-a-row.c +0 -0
  416. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-tcp-write-in-read-cb-backend-timeout.c +0 -0
  417. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-tcp-write-queue-order.c +0 -0
  418. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-tcp-write-to-half-open-connection.c +0 -0
  419. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-tcp-writealot.c +0 -0
  420. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-test-macros.c +0 -0
  421. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-thread-affinity.c +0 -0
  422. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-thread-equal.c +0 -0
  423. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-thread-name.c +0 -0
  424. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-thread-priority.c +0 -0
  425. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-thread.c +0 -0
  426. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-threadpool-cancel.c +0 -0
  427. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-threadpool.c +0 -0
  428. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-timer-again.c +0 -0
  429. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-timer-from-check.c +0 -0
  430. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-timer.c +0 -0
  431. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-tmpdir.c +0 -0
  432. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-tty-duplicate-key.c +0 -0
  433. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-tty-escape-sequence-processing.c +0 -0
  434. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-tty.c +0 -0
  435. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-udp-alloc-cb-fail.c +0 -0
  436. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-udp-bind.c +0 -0
  437. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-udp-connect.c +0 -0
  438. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-udp-connect6.c +0 -0
  439. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-udp-create-socket-early.c +0 -0
  440. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-udp-dgram-too-big.c +0 -0
  441. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-udp-ipv6.c +0 -0
  442. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-udp-mmsg.c +0 -0
  443. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-udp-multicast-interface.c +0 -0
  444. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-udp-multicast-interface6.c +0 -0
  445. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-udp-multicast-join.c +0 -0
  446. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-udp-multicast-join6.c +0 -0
  447. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-udp-multicast-ttl.c +0 -0
  448. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-udp-open.c +0 -0
  449. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-udp-options.c +0 -0
  450. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-udp-recv-cb-close-pollerr.c +0 -0
  451. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-udp-recv-in-a-row.c +0 -0
  452. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-udp-recvmsg-unreachable-error.c +0 -0
  453. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-udp-reuseport.c +0 -0
  454. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-udp-send-and-recv.c +0 -0
  455. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-udp-send-fail.c +0 -0
  456. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-udp-send-hang-loop.c +0 -0
  457. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-udp-send-immediate.c +0 -0
  458. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-udp-send-unreachable.c +0 -0
  459. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-udp-sendmmsg-error.c +0 -0
  460. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-udp-try-send.c +0 -0
  461. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-uname.c +0 -0
  462. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-walk-handles.c +0 -0
  463. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-watcher-cross-stop.c +0 -0
  464. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/test/test-write-cancel.c +0 -0
  465. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/tools/make_dist_html.py +0 -0
  466. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/tools/vswhere_usability_wrapper.cmd +0 -0
  467. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/tsansupp.txt +0 -0
  468. {winloop-0.8.0 → winloop-0.8.2}/vendor/libuv/uv_win_longpath.manifest +0 -0
  469. {winloop-0.8.0 → winloop-0.8.2}/winloop/__pyinstaller/__init__.py +0 -0
  470. {winloop-0.8.0 → winloop-0.8.2}/winloop/__pyinstaller/hook-winloop.py +0 -0
  471. {winloop-0.8.0 → winloop-0.8.2}/winloop/_noop.py +0 -0
  472. {winloop-0.8.0 → winloop-0.8.2}/winloop/_testbase.py +0 -0
  473. {winloop-0.8.0 → winloop-0.8.2}/winloop/cbhandles.pxd +0 -0
  474. {winloop-0.8.0 → winloop-0.8.2}/winloop/cbhandles.pyx +0 -0
  475. {winloop-0.8.0 → winloop-0.8.2}/winloop/dns.pyx +0 -0
  476. {winloop-0.8.0 → winloop-0.8.2}/winloop/errors.pyx +0 -0
  477. {winloop-0.8.0 → winloop-0.8.2}/winloop/future.pxd +0 -0
  478. {winloop-0.8.0 → winloop-0.8.2}/winloop/future.pyx +0 -0
  479. {winloop-0.8.0 → winloop-0.8.2}/winloop/handles/async_.pxd +0 -0
  480. {winloop-0.8.0 → winloop-0.8.2}/winloop/handles/async_.pyx +0 -0
  481. {winloop-0.8.0 → winloop-0.8.2}/winloop/handles/basetransport.pxd +0 -0
  482. {winloop-0.8.0 → winloop-0.8.2}/winloop/handles/basetransport.pyx +0 -0
  483. {winloop-0.8.0 → winloop-0.8.2}/winloop/handles/check.pxd +0 -0
  484. {winloop-0.8.0 → winloop-0.8.2}/winloop/handles/check.pyx +0 -0
  485. {winloop-0.8.0 → winloop-0.8.2}/winloop/handles/fsevent.pxd +0 -0
  486. {winloop-0.8.0 → winloop-0.8.2}/winloop/handles/fsevent.pyx +0 -0
  487. {winloop-0.8.0 → winloop-0.8.2}/winloop/handles/handle.pxd +0 -0
  488. {winloop-0.8.0 → winloop-0.8.2}/winloop/handles/handle.pyx +0 -0
  489. {winloop-0.8.0 → winloop-0.8.2}/winloop/handles/idle.pxd +0 -0
  490. {winloop-0.8.0 → winloop-0.8.2}/winloop/handles/idle.pyx +0 -0
  491. {winloop-0.8.0 → winloop-0.8.2}/winloop/handles/pipe.pxd +0 -0
  492. {winloop-0.8.0 → winloop-0.8.2}/winloop/handles/pipe.pyx +0 -0
  493. {winloop-0.8.0 → winloop-0.8.2}/winloop/handles/poll.pxd +0 -0
  494. {winloop-0.8.0 → winloop-0.8.2}/winloop/handles/poll.pyx +0 -0
  495. {winloop-0.8.0 → winloop-0.8.2}/winloop/handles/stream.pxd +0 -0
  496. {winloop-0.8.0 → winloop-0.8.2}/winloop/handles/stream.pyx +0 -0
  497. {winloop-0.8.0 → winloop-0.8.2}/winloop/handles/streamserver.pxd +0 -0
  498. {winloop-0.8.0 → winloop-0.8.2}/winloop/handles/streamserver.pyx +0 -0
  499. {winloop-0.8.0 → winloop-0.8.2}/winloop/handles/tcp.pxd +0 -0
  500. {winloop-0.8.0 → winloop-0.8.2}/winloop/handles/tcp.pyx +0 -0
  501. {winloop-0.8.0 → winloop-0.8.2}/winloop/handles/timer.pxd +0 -0
  502. {winloop-0.8.0 → winloop-0.8.2}/winloop/handles/timer.pyx +0 -0
  503. {winloop-0.8.0 → winloop-0.8.2}/winloop/handles/udp.pxd +0 -0
  504. {winloop-0.8.0 → winloop-0.8.2}/winloop/handles/udp.pyx +0 -0
  505. {winloop-0.8.0 → winloop-0.8.2}/winloop/includes/__init__.py +0 -0
  506. {winloop-0.8.0 → winloop-0.8.2}/winloop/includes/compat.h +0 -0
  507. {winloop-0.8.0 → winloop-0.8.2}/winloop/includes/consts.pxi +0 -0
  508. {winloop-0.8.0 → winloop-0.8.2}/winloop/includes/debug.h +0 -0
  509. {winloop-0.8.0 → winloop-0.8.2}/winloop/includes/debug.pxd +0 -0
  510. {winloop-0.8.0 → winloop-0.8.2}/winloop/includes/flowcontrol.pxd +0 -0
  511. {winloop-0.8.0 → winloop-0.8.2}/winloop/includes/fork_handler.h +0 -0
  512. {winloop-0.8.0 → winloop-0.8.2}/winloop/includes/python.pxd +0 -0
  513. {winloop-0.8.0 → winloop-0.8.2}/winloop/includes/pythoncapi_compat.h +0 -0
  514. {winloop-0.8.0 → winloop-0.8.2}/winloop/includes/system.pxd +0 -0
  515. {winloop-0.8.0 → winloop-0.8.2}/winloop/lru.pyx +0 -0
  516. {winloop-0.8.0 → winloop-0.8.2}/winloop/pseudosock.pyx +0 -0
  517. {winloop-0.8.0 → winloop-0.8.2}/winloop/py.typed +0 -0
  518. {winloop-0.8.0 → winloop-0.8.2}/winloop/request.pxd +0 -0
  519. {winloop-0.8.0 → winloop-0.8.2}/winloop/request.pyx +0 -0
  520. {winloop-0.8.0 → winloop-0.8.2}/winloop/server.pxd +0 -0
  521. {winloop-0.8.0 → winloop-0.8.2}/winloop/server.pyx +0 -0
  522. {winloop-0.8.0 → winloop-0.8.2}/winloop/sslproto.pxd +0 -0
  523. {winloop-0.8.0 → winloop-0.8.2}/winloop/sslproto.pyx +0 -0
  524. {winloop-0.8.0 → winloop-0.8.2}/winloop.egg-info/dependency_links.txt +0 -0
  525. {winloop-0.8.0 → winloop-0.8.2}/winloop.egg-info/entry_points.txt +0 -0
  526. {winloop-0.8.0 → winloop-0.8.2}/winloop.egg-info/not-zip-safe +0 -0
  527. {winloop-0.8.0 → winloop-0.8.2}/winloop.egg-info/top_level.txt +0 -0
  528. {winloop-0.8.0 → winloop-0.8.2}/winloop.png +0 -0
winloop-0.8.2/PKG-INFO ADDED
@@ -0,0 +1,161 @@
1
+ Metadata-Version: 2.4
2
+ Name: winloop
3
+ Version: 0.8.2
4
+ Summary: Windows version of uvloop
5
+ Author-email: Vizonex <VizonexBusiness@gmail.com>
6
+ License: MIT License
7
+ Project-URL: github, https://github.com/Vizonex/Winloop
8
+ Keywords: asyncio,networking
9
+ Classifier: Development Status :: 5 - Production/Stable
10
+ Classifier: Framework :: AsyncIO
11
+ Classifier: Intended Audience :: Developers
12
+ Classifier: License :: OSI Approved :: Apache Software License
13
+ Classifier: License :: OSI Approved :: MIT License
14
+ Classifier: Operating System :: POSIX
15
+ Classifier: Operating System :: MacOS :: MacOS X
16
+ Classifier: Operating System :: Microsoft :: Windows
17
+ Classifier: Programming Language :: Python :: 3 :: Only
18
+ Classifier: Programming Language :: Python :: 3.8
19
+ Classifier: Programming Language :: Python :: 3.9
20
+ Classifier: Programming Language :: Python :: 3.10
21
+ Classifier: Programming Language :: Python :: 3.11
22
+ Classifier: Programming Language :: Python :: 3.12
23
+ Classifier: Programming Language :: Python :: 3.13
24
+ Classifier: Programming Language :: Python :: Implementation :: CPython
25
+ Classifier: Topic :: System :: Networking
26
+ Requires-Python: >=3.9.0
27
+ Description-Content-Type: text/markdown
28
+ License-File: LICENSE-APACHE
29
+ License-File: LICENSE-MIT
30
+ Provides-Extra: test
31
+ Requires-Dist: aiohttp>=3.10.5; extra == "test"
32
+ Requires-Dist: flake8<8,>=5; extra == "test"
33
+ Requires-Dist: psutil; extra == "test"
34
+ Requires-Dist: pycodestyle<2.16,>=2.9; extra == "test"
35
+ Requires-Dist: pyOpenSSL<26.5,>=23.0; extra == "test"
36
+ Requires-Dist: mypy>=0.800; extra == "test"
37
+ Provides-Extra: dev
38
+ Requires-Dist: packaging; extra == "dev"
39
+ Requires-Dist: setuptools>=60; extra == "dev"
40
+ Requires-Dist: Cython==3.3.0; extra == "dev"
41
+ Provides-Extra: docs
42
+ Requires-Dist: Sphinx<9.2.0,>=4.1.2; extra == "docs"
43
+ Requires-Dist: sphinxcontrib-asyncio~=0.3.0; extra == "docs"
44
+ Requires-Dist: sphinx_rtd_theme<3.2.0,>=0.5.2; extra == "docs"
45
+ Dynamic: license-file
46
+
47
+ <img src="https://raw.githubusercontent.com/Vizonex/Winloop/main/winloop.png" width="200px"/>
48
+
49
+ [![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
50
+ [![IDIM](https://raw.githubusercontent.com/Vizonex/IDIM-Badge/master/badge.svg)](https://github.com/Vizonex/IDIM-Badge)
51
+
52
+
53
+
54
+ # Winloop
55
+ [![PyPI version](https://badge.fury.io/py/winloop.svg)](https://badge.fury.io/py/winloop)
56
+ ![PyPI - Downloads](https://img.shields.io/pypi/dm/winloop)
57
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
58
+ [![License: Apache-2.0](https://img.shields.io/badge/License-Apache-yellow.svg)](https://opensource.org/licenses/Apache-2-0)
59
+
60
+ An alternative library for uvloop compatibility with Windows because let's face it. Windows' Python asyncio standard library is garbage, especially when Windows Defender decides to eat half of your RAM.
61
+ I never really liked the fact that I couldn't make anything run faster especially when you have fiber internet connections in place and you've done all the optimizations you could possibly think of. It always felt disappointing when `libuv` is available for Windows [but Windows was never compatible with uvloop.](https://github.com/MagicStack/uvloop/issues/14#issuecomment-575826367])
62
+
63
+ Since nobody was willing to step in after so many years of waiting, I went ahead and downloaded the source code for uvloop and started modifying the source code to be Windows compatible by carefully removing and changing parts that were not made for Windows. Many hours of research went into making this library.
64
+
65
+ The differences with __uvloop__ is that forking has been fully disabled and some smaller API calls had to be changed, error handling has been carefully modified and subprocesses release the GIL instead of forking out...
66
+
67
+ There is a performance increase of about 5 times with Winloop compared to using the `WindowsSelectorEventLoopPolicy` and `WindowsProactorEventLoopPolicy` which have been known to trigger SSL problems in `Python 3.9`. Winloop is a very good replacement for solving those SSL problems as well. This library also has comparable performance to its brother uvloop.
68
+
69
+
70
+
71
+ ## How to install Winloop on your Windows Operating System
72
+
73
+ ```
74
+ pip install winloop
75
+ ```
76
+
77
+ You can also clone the repository and build the extension yourself by running the command below if you wish to use or build this library locally. Note that you will need Cython and The Visual C++ extensions
78
+ to compile this library on your own.
79
+
80
+ ```
81
+ python setup.py build_ext --inplace
82
+ ```
83
+
84
+ ## Testing with UV
85
+ The __uv__ package manager is the preferred method for testing __winloop__ and it's author uses `ruff` and `uv` by default.
86
+
87
+ ```
88
+ uv venv
89
+ ```
90
+
91
+ ```shell
92
+ uv pip install winloop
93
+ ```
94
+ If your bilding and testing it from your own fork the following should work.
95
+ ```shell
96
+ uv pip install -e .
97
+ ```
98
+ If your planning to setup.py build_ext commands
99
+ you will need to install setuptools and cython
100
+ ```shell
101
+ uv pip install cython setuptools
102
+ ```
103
+
104
+
105
+ ## Reporting issues
106
+
107
+ If you find any bugs with this library be sure to open up an issue in the [issuetracker](https://github.com/Vizonex/Winloop/issues). The Winloop Contributors and the Owner when available will be happy try to help you figure out and diagnose your problems.
108
+
109
+
110
+ ## How To Use Winloop When Uvloop is not available
111
+
112
+ ```python
113
+ # Here's A small Example of using winloop when uvloop is not available to us
114
+ import sys
115
+ import aiohttp
116
+
117
+ async def main():
118
+ async with aiohttp.ClientSession("https://httpbin.org") as client:
119
+ async with client.get("/ip") as resp:
120
+ print(await resp.json())
121
+
122
+ if __name__ == "__main__":
123
+ if sys.platform in ('win32', 'cygwin', 'cli'):
124
+ from winloop import run
125
+ else:
126
+ # if we're on apple or linux do this instead
127
+ from uvloop import run
128
+ run(main())
129
+ ```
130
+
131
+ Alternatively, There's another way to do this involving a smaller resource called `winuvloop` which combines both uvloop and winloop together.
132
+
133
+ ```python
134
+ import aiohttp
135
+ import winuvloop
136
+
137
+ async def main():
138
+ async with aiohttp.ClientSession("https://httpbin.org") as client:
139
+ async with client.get("/ip") as resp:
140
+ print(await resp.json())
141
+
142
+ if __name__ == "__main__":
143
+ winuvloop.run(main())
144
+ ```
145
+
146
+
147
+ ## Videos
148
+ - By me: https://www.youtube.com/watch?v=tz9RYJ6aBZ8 (I might make a tutorial on how to use and install winloop it for those who have reading problems)
149
+
150
+ - My Presentation and Virtual Confrence Because I'm too busy to go to python conventions: https://www.youtube.com/watch?v=Cbb6trkKWXY
151
+
152
+
153
+ ## Contributing
154
+ I put my heart and soul into this library ever since it began and any help is appreciated and means a lot to me, I have other things I wish to explore so every little bit helps. No matter what I go through in life, my heart is always here.
155
+
156
+ ### How Can I contribute?
157
+ - Forking the library.
158
+ - Mirroring Winloop's improvements on uvloop's side.
159
+ - Reviewing pull requests.
160
+ - Fixing or editing workflows.
161
+ - Finding and editing spelling mistakes.
@@ -0,0 +1,115 @@
1
+ <img src="https://raw.githubusercontent.com/Vizonex/Winloop/main/winloop.png" width="200px"/>
2
+
3
+ [![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
4
+ [![IDIM](https://raw.githubusercontent.com/Vizonex/IDIM-Badge/master/badge.svg)](https://github.com/Vizonex/IDIM-Badge)
5
+
6
+
7
+
8
+ # Winloop
9
+ [![PyPI version](https://badge.fury.io/py/winloop.svg)](https://badge.fury.io/py/winloop)
10
+ ![PyPI - Downloads](https://img.shields.io/pypi/dm/winloop)
11
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
12
+ [![License: Apache-2.0](https://img.shields.io/badge/License-Apache-yellow.svg)](https://opensource.org/licenses/Apache-2-0)
13
+
14
+ An alternative library for uvloop compatibility with Windows because let's face it. Windows' Python asyncio standard library is garbage, especially when Windows Defender decides to eat half of your RAM.
15
+ I never really liked the fact that I couldn't make anything run faster especially when you have fiber internet connections in place and you've done all the optimizations you could possibly think of. It always felt disappointing when `libuv` is available for Windows [but Windows was never compatible with uvloop.](https://github.com/MagicStack/uvloop/issues/14#issuecomment-575826367])
16
+
17
+ Since nobody was willing to step in after so many years of waiting, I went ahead and downloaded the source code for uvloop and started modifying the source code to be Windows compatible by carefully removing and changing parts that were not made for Windows. Many hours of research went into making this library.
18
+
19
+ The differences with __uvloop__ is that forking has been fully disabled and some smaller API calls had to be changed, error handling has been carefully modified and subprocesses release the GIL instead of forking out...
20
+
21
+ There is a performance increase of about 5 times with Winloop compared to using the `WindowsSelectorEventLoopPolicy` and `WindowsProactorEventLoopPolicy` which have been known to trigger SSL problems in `Python 3.9`. Winloop is a very good replacement for solving those SSL problems as well. This library also has comparable performance to its brother uvloop.
22
+
23
+
24
+
25
+ ## How to install Winloop on your Windows Operating System
26
+
27
+ ```
28
+ pip install winloop
29
+ ```
30
+
31
+ You can also clone the repository and build the extension yourself by running the command below if you wish to use or build this library locally. Note that you will need Cython and The Visual C++ extensions
32
+ to compile this library on your own.
33
+
34
+ ```
35
+ python setup.py build_ext --inplace
36
+ ```
37
+
38
+ ## Testing with UV
39
+ The __uv__ package manager is the preferred method for testing __winloop__ and it's author uses `ruff` and `uv` by default.
40
+
41
+ ```
42
+ uv venv
43
+ ```
44
+
45
+ ```shell
46
+ uv pip install winloop
47
+ ```
48
+ If your bilding and testing it from your own fork the following should work.
49
+ ```shell
50
+ uv pip install -e .
51
+ ```
52
+ If your planning to setup.py build_ext commands
53
+ you will need to install setuptools and cython
54
+ ```shell
55
+ uv pip install cython setuptools
56
+ ```
57
+
58
+
59
+ ## Reporting issues
60
+
61
+ If you find any bugs with this library be sure to open up an issue in the [issuetracker](https://github.com/Vizonex/Winloop/issues). The Winloop Contributors and the Owner when available will be happy try to help you figure out and diagnose your problems.
62
+
63
+
64
+ ## How To Use Winloop When Uvloop is not available
65
+
66
+ ```python
67
+ # Here's A small Example of using winloop when uvloop is not available to us
68
+ import sys
69
+ import aiohttp
70
+
71
+ async def main():
72
+ async with aiohttp.ClientSession("https://httpbin.org") as client:
73
+ async with client.get("/ip") as resp:
74
+ print(await resp.json())
75
+
76
+ if __name__ == "__main__":
77
+ if sys.platform in ('win32', 'cygwin', 'cli'):
78
+ from winloop import run
79
+ else:
80
+ # if we're on apple or linux do this instead
81
+ from uvloop import run
82
+ run(main())
83
+ ```
84
+
85
+ Alternatively, There's another way to do this involving a smaller resource called `winuvloop` which combines both uvloop and winloop together.
86
+
87
+ ```python
88
+ import aiohttp
89
+ import winuvloop
90
+
91
+ async def main():
92
+ async with aiohttp.ClientSession("https://httpbin.org") as client:
93
+ async with client.get("/ip") as resp:
94
+ print(await resp.json())
95
+
96
+ if __name__ == "__main__":
97
+ winuvloop.run(main())
98
+ ```
99
+
100
+
101
+ ## Videos
102
+ - By me: https://www.youtube.com/watch?v=tz9RYJ6aBZ8 (I might make a tutorial on how to use and install winloop it for those who have reading problems)
103
+
104
+ - My Presentation and Virtual Confrence Because I'm too busy to go to python conventions: https://www.youtube.com/watch?v=Cbb6trkKWXY
105
+
106
+
107
+ ## Contributing
108
+ I put my heart and soul into this library ever since it began and any help is appreciated and means a lot to me, I have other things I wish to explore so every little bit helps. No matter what I go through in life, my heart is always here.
109
+
110
+ ### How Can I contribute?
111
+ - Forking the library.
112
+ - Mirroring Winloop's improvements on uvloop's side.
113
+ - Reviewing pull requests.
114
+ - Fixing or editing workflows.
115
+ - Finding and editing spelling mistakes.
@@ -43,7 +43,7 @@ test = [
43
43
  'aiohttp>=3.10.5',
44
44
  'flake8>=5,<8',
45
45
  'psutil',
46
- 'pycodestyle>=2.9,<2.15',
46
+ 'pycodestyle>=2.9,<2.16',
47
47
  'pyOpenSSL>=23.0,<26.5',
48
48
  'mypy>=0.800'
49
49
  ]
@@ -38,6 +38,30 @@ class _RedirectFD(contextlib.AbstractContextManager):
38
38
 
39
39
 
40
40
  class _TestProcess:
41
+ @unittest.skipUnless(sys.platform == "win32", "Windows startupinfo")
42
+ def test_process_startupinfo(self):
43
+ async def test():
44
+ startupinfo = subprocess.STARTUPINFO()
45
+ startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW
46
+ startupinfo.wShowWindow = subprocess.SW_HIDE
47
+
48
+ proc = await asyncio.create_subprocess_exec(
49
+ sys.executable,
50
+ "-c",
51
+ "import sys; sys.stdout.write(sys.stdin.read())",
52
+ stdin=subprocess.PIPE,
53
+ stdout=subprocess.PIPE,
54
+ stderr=subprocess.PIPE,
55
+ startupinfo=startupinfo,
56
+ )
57
+
58
+ out, err = await proc.communicate(b"startupinfo")
59
+ self.assertEqual(out, b"startupinfo")
60
+ self.assertEqual(err, b"")
61
+ self.assertEqual(proc.returncode, 0)
62
+
63
+ self.loop.run_until_complete(test())
64
+
41
65
  def get_num_fds(self):
42
66
  # Winloop comment: use num_handles() as a meaningful
43
67
  # substitute for num_fds() on Windows.
@@ -940,6 +964,29 @@ print(n)"""
940
964
 
941
965
 
942
966
  class Test_UV_Process(_TestProcess, tb.UVTestCase):
967
+ @unittest.skipUnless(sys.platform == "win32", "Windows startupinfo")
968
+ def test_process_startupinfo_unsupported_flags(self):
969
+ async def test():
970
+ startupinfo = subprocess.STARTUPINFO()
971
+ startupinfo.dwFlags |= subprocess.STARTF_USESTDHANDLES
972
+
973
+ with self.assertRaisesRegex(ValueError, "startupinfo.dwFlags"):
974
+ await asyncio.create_subprocess_exec(
975
+ sys.executable, "-c", "pass", startupinfo=startupinfo,
976
+ )
977
+
978
+ self.loop.run_until_complete(test())
979
+
980
+ @unittest.skipIf(sys.platform == "win32", "POSIX startupinfo validation")
981
+ def test_process_startupinfo_posix(self):
982
+ async def test():
983
+ with self.assertRaisesRegex(ValueError, "startupinfo"):
984
+ await asyncio.create_subprocess_exec(
985
+ sys.executable, "-c", "pass", startupinfo=object(),
986
+ )
987
+
988
+ self.loop.run_until_complete(test())
989
+
943
990
  @unittest.skipIf(sys.platform != "win32", "problem is windows related only")
944
991
  def test_windows_issue_153(self):
945
992
  """Winloop issue 153 is related to bringing back the shlex parser