diff --git a/requirements.txt b/requirements.txt index 79801e1cf..3d8445fc8 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,7 +5,7 @@ setuptools>=21.0.0 # PSF/ZPL urllib3>=1.19.1,!=1.21 # MIT pyyaml>=3.12 # MIT google-auth>=1.0.1 # Apache-2.0 -ipaddress>=1.0.17 # PSF +ipaddress>=1.0.17;python_version=="2.7" # PSF websocket-client>=0.32.0,!=0.40.0,!=0.41.*,!=0.42.* # LGPLv2+ requests # Apache-2.0 requests-oauthlib # ISC diff --git a/setup.py b/setup.py index 56fc90c87..e4fa96df6 100644 --- a/setup.py +++ b/setup.py @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -from setuptools import find_packages, setup +from setuptools import setup # Do not edit these constants. They will be updated automatically # by scripts/update-client.sh. @@ -27,8 +27,18 @@ # prerequisite: setuptools # http://pypi.python.org/pypi/setuptools +EXTRAS = {} +REQUIRES = [] with open('requirements.txt') as f: - REQUIRES = f.readlines() + for line in f: + line, _, _ = line.partition('#') + line = line.strip() + if ';' in line: + requirement, _, specifier = line.partition(';') + for_specifier = EXTRAS.setdefault(':{}'.format(specifier), []) + for_specifier.append(requirement) + else: + REQUIRES.append(line) with open('test-requirements.txt') as f: TESTS_REQUIRES = f.readlines() @@ -44,6 +54,7 @@ keywords=["Swagger", "OpenAPI", "Kubernetes"], install_requires=REQUIRES, tests_require=TESTS_REQUIRES, + extras_require=EXTRAS, packages=['kubernetes', 'kubernetes.client', 'kubernetes.config', 'kubernetes.watch', 'kubernetes.client.apis', 'kubernetes.stream', 'kubernetes.client.models'],