@@ 21,7 21,6 @@ setup(
description='Asynchronous I/O HTTP and HTTPS Proxy on Python 3.5',
long_description=readme(),
keywords='wormhole asynchronous web proxy',
- platforms='POSIX',
classifiers=[
'Development Status :: 5 - Production/Stable',
'Environment :: Console',
@@ 29,10 28,14 @@ setup(
'Intended Audience :: System Administrators',
'License :: OSI Approved :: MIT License',
'Operating System :: POSIX',
+ 'Operating System :: Microsoft :: Windows',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: Implementation :: CPython',
'Topic :: Internet :: Proxy Servers',
],
+ install_requires=[
+ 'pywin32;platform_system=="Windows"',
+ ],
packages=['wormhole'],
include_package_data=True,
entry_points={'console_scripts': ['wormhole = wormhole.proxy:main']},
@@ 1,6 1,6 @@
#!/usr/bin/env python3
-VERSION = "v2.0.2"
+VERSION = "v2.0.3"
import sys
if sys.version_info < (3, 5):
@@ 1,6 1,6 @@
import asyncio
import functools
-import resource
+import sys
from time import time
from wormhole.authentication import get_ident
from wormhole.authentication import verify
@@ 11,7 11,12 @@ from wormhole.logger import get_logger
MAX_RETRY = 3
-MAX_TASKS = resource.getrlimit(resource.RLIMIT_NOFILE)[0]
+if sys.platform == 'win32':
+ import win32file
+ MAX_TASKS = win32file._getmaxstdio()
+else:
+ import resource
+ MAX_TASKS = resource.getrlimit(resource.RLIMIT_NOFILE)[0]
wormhole_semaphore = None