From 62ec6761b65dc0b9712072eedbd02c57bf280d41 Mon Sep 17 00:00:00 2001 From: Alexey Stepanov Date: Fri, 25 May 2018 16:08:49 +0200 Subject: [PATCH] Update requirements * [x] Use setuptools compatibility list from OpenStack * [x] six >=1.10.0 * [x] Python >= 2.7.5 (drop pre-historic) * [x] dep-graph check made really simple * [x] build python 2 wheel using PyPy --- .travis.yml | 7 ++++--- pyproject.toml | 2 +- requirements.txt | 2 +- setup.cfg | 11 +++++++++-- setup.py | 2 +- tox.ini | 8 +++----- 6 files changed, 19 insertions(+), 13 deletions(-) diff --git a/.travis.yml b/.travis.yml index 42f3332..72fe531 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,7 +6,7 @@ python: - 3.4 - 3.5 - &mainstream_python 3.6 -- pypy +- &pypy pypy - pypy3.5 - 3.7-dev install: @@ -43,7 +43,8 @@ jobs: - stage: deploy # This prevents job from appearing in test plan unless commit is tagged: if: tag IS present - python: *mainstream_python + # Run on pypy to build not cythonized wheel + python: *pypy services: - docker install: @@ -62,7 +63,7 @@ jobs: secure: "h1gXulNJxdjdUtPXDwUf/2MltjjiTy/cSsv+67Bxr9PAXSo9s0ynnhijKavE0QlKPr0NDJcEcl79dEN3gx1rkbAFZ+YRJfx0KHy26ImNAIx+npOFjGko87KhMNkrE3QBn9carWNnjYA4rCuUqbv/Znk9xixleE/sHJbKnkkTrerSI2jkznMa6h0FNVCEPzFesHmll7rBy4CjFkRcWNX8nfKNIV9rHFI7mXm8+jzl0msOnkEcKRqAk+MUwVjcD9XtpF42uA0nQTtqjWFdwSUxxBJKMyrkkI0o8Uk06EewkgJGwjGpvn+EUm1hBpjGrXUQQJyr20SZdC0CqaqXD/axISAtQPzP5I4Ey3VkLDV4mZuQjeNlbRbTH0Q7af+CpnOpFtYobIs1/HjB5wztazegT8uk4ZU/GheYqknXmtg9Ga8NV47sIpLC/hTLXWP+O/k0JKRYP9CgjTml2nLykNjZy4KRnlCUerYH8d4bNz687ElXU2bLtlBxyigUc9oo31DvNG+vB2axOp8wGiRTEpfBVPEF6EYUj+qSbX4ep4o/mWp+ax5YlLVYVoXkXpNecIggICAChIkqEl9MtGzTu31s3sBKpk9WuqoyHG80TDo2Tet6zWYx3itUx9M0SLkrML9Hs5WKsXDZE6jZrVHtx8lWuuZZl5JQkXYtd358lwJmEBM=" on: tags: true - distributions: sdist + distributions: sdist bdist_wheel skip_upload_docs: true cache: pip diff --git a/pyproject.toml b/pyproject.toml index be03eaa..1c48e2c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -2,6 +2,6 @@ # Minimum requirements for the build system to execute. # PEP 508 specifications for PEP 518. requires = [ - "setuptools > 20.2 ", + "setuptools >= 21.0.0,!=24.0.0,!=34.0.0,!=34.0.1,!=34.0.2,!=34.0.3,!=34.1.0,!=34.1.1,!=34.2.0,!=34.3.0,!=34.3.1,!=34.3.2,!=36.2.0", # PSF/ZPL "wheel", ] diff --git a/requirements.txt b/requirements.txt index b273544..94863e0 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,2 +1,2 @@ -six >=1.9 +six >=1.10.0 typing >= 3.6 ; python_version < "3.7" diff --git a/setup.cfg b/setup.cfg index fab966b..998f32c 100644 --- a/setup.cfg +++ b/setup.cfg @@ -4,10 +4,17 @@ name = threaded [options] zip_safe = False packages = find: + +# While setuptools cannot deal with pre-installed incompatible versions, +# setting a lower bound is not harmful - it makes error messages cleaner. DO +# NOT set an upper bound on setuptools, as that will lead to uninstallable +# situations as progressive releases of projects are done. +# Blacklist setuptools 34.0.0-34.3.2 due to https://github.com/pypa/setuptools/issues/951 +# Blacklist setuptools 36.2.0 due to https://github.com/pypa/setuptools/issues/1086 setup_requires = - setuptools > 20.2 + setuptools >= 21.0.0,!=24.0.0,!=34.0.0,!=34.0.1,!=34.0.2,!=34.0.3,!=34.1.0,!=34.1.1,!=34.2.0,!=34.3.0,!=34.3.1,!=34.3.2,!=36.2.0 -python_requires = >=2.6,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.* +python_requires = >=2.7.5,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.* [bdist_wheel] # This flag says that the code is written to work on both Python 2 and Python diff --git a/setup.py b/setup.py index e104c35..0f2d8eb 100644 --- a/setup.py +++ b/setup.py @@ -260,7 +260,7 @@ def get_simple_vars_from_src(src): 'futures>=3.1', ], 'gevent': [ - 'gevent >= 1.2' + 'gevent >= 1.2.2' ], }, install_requires=required, diff --git a/tox.ini b/tox.ini index 2165f09..ea592b9 100644 --- a/tox.ini +++ b/tox.ini @@ -120,9 +120,7 @@ deps = bandit commands = bandit -r threaded [testenv:dep-graph] -envdir = {toxworkdir}/dep-graph deps = - pipenv -commands = - pipenv install -r {toxinidir}/build_requirements.txt --skip-lock - pipenv graph + .[gevent] + pipdeptree +commands = pipdeptree