web-push-libs / pywebpush

Python Webpush Data encryption library
Mozilla Public License 2.0
314 stars 53 forks source link

requests 2.20.1 requirements #114

Closed elcolie closed 5 years ago

elcolie commented 5 years ago

Python 3.7.3 pip 19.1.1 requirements.txt

-e git+git@github.com:justquick/django-activity-stream.git@master#egg=django-activity-stream
-e git+git@github.com:sunscrapers/djoser.git@master#egg=djoser
-e git+git@github.com:jazzband/django-push-notifications.git@master#egg=django-push-notifications
alabaster==0.7.12         # via sphinx
amqp==2.4.2               # via kombu
appnope==0.1.0            # via ipython
argon2-cffi==19.1.0
arrow==0.13.2
asn1crypto==0.24.0        # via cryptography
atomicwrites==1.3.0       # via pytest
attrs==19.1.0             # via pytest
babel==2.6.0              # via flower, sphinx
backcall==0.1.0           # via ipython
bcrypt==3.1.6             # via paramiko
billiard==3.6.0.0         # via celery
boto3==1.9.152            # via django-storages
botocore==1.12.152        # via boto3, s3transfer
cached-property==1.5.1    # via docker-compose
celery==4.3.0
certifi==2019.3.9         # via requests, sentry-sdk
cffi==1.12.3              # via argon2-cffi, bcrypt, cryptography, pynacl
chardet==3.0.4            # via requests
collectfast==0.6.2
coreapi==2.3.3
coreschema==0.0.4         # via coreapi
coverage==4.5.3
cryptography==2.6.1       # via paramiko
decorator==4.4.0          # via ipython, traitlets
defusedxml==0.6.0         # via python3-openid
django-allauth==0.39.1
django-anymail[mailgun]==6.0.1
django-celery-results==1.1.0
django-cors-headers==3.0.1
django-coverage-plugin==1.6.0
django-crispy-forms==1.7.2
django-debug-toolbar==1.11
django-environ==0.4.5
django-extensions==2.1.7
django-extra-fields==1.2.1
django-filter==2.1.0
django-js-asset==1.2.2    # via django-mptt
django-model-utils==3.1.2
django-mptt==0.10.0
django-redis==4.10.0
django-storages[boto3]==1.7.1
django-templated-mail==1.1.1
django==2.2.1
djangorestframework-jwt==1.11.0
djangorestframework-simplejwt==4.3.0
djangorestframework==3.9.4
docker-compose==1.24.0
docker-pycreds==0.4.0     # via docker
docker[ssh]==3.7.2        # via docker-compose
dockerpty==0.4.1          # via docker-compose
docopt==0.6.2             # via docker-compose
docutils==0.14            # via botocore, sphinx
entrypoints==0.3          # via flake8
factory-boy==2.12.0
faker==1.0.7              # via factory-boy
flake8==3.7.7
flower==0.9.3
freezegun==0.3.11
gunicorn==19.9.0
idna==2.7                 # via requests
imagesize==1.1.0          # via sphinx
ipdb==0.12
ipython-genutils==0.2.0   # via traitlets
ipython==7.5.0            # via ipdb
itypes==1.1.0             # via coreapi
jedi==0.13.3              # via ipython
jinja2==2.10.1            # via coreschema, sphinx
jmespath==0.9.4           # via boto3, botocore
jsonschema==2.6.0         # via docker-compose
kombu==4.5.0              # via celery
markdown==3.1.1
markupsafe==1.1.1         # via jinja2
mccabe==0.6.1             # via flake8
model-mommy==1.6.0
more-itertools==7.0.0     # via pytest
oauthlib==3.0.1           # via requests-oauthlib
packaging==19.0           # via pytest-sugar, sphinx
paramiko==2.4.2           # via docker
parso==0.4.0              # via jedi
pexpect==4.7.0            # via ipython
pickleshare==0.7.5        # via ipython
pillow==6.0.0
pluggy==0.11.0            # via pytest
prompt-toolkit==2.0.9     # via ipython
psycopg2==2.8.2
ptyprocess==0.6.0         # via pexpect
pubnub==4.1.3
py==1.8.0                 # via pytest
pyasn1==0.4.5             # via paramiko
pycodestyle==2.5.0        # via flake8
pycparser==2.19           # via cffi
pycryptodomex==3.8.1      # via pubnub
pyflakes==2.1.1           # via flake8
pygments==2.4.0           # via ipython, sphinx
pyjwt==1.7.1              # via djangorestframework-jwt, djangorestframework-simplejwt
pynacl==1.3.0             # via paramiko
pyparsing==2.4.0          # via packaging
pytest-django==3.4.8
pytest-sugar==0.9.2
pytest==4.5.0
python-dateutil==2.8.0    # via arrow, botocore, faker, freezegun
python-slugify==3.0.2
python3-openid==3.1.0     # via django-allauth
pytz==2019.1
pyyaml==3.13              # via docker-compose
raven==6.10.0
redis==3.2.1
requests-oauthlib==1.2.0  # via django-allauth
requests==2.20.1          # via coreapi, django-allauth, django-anymail, docker, docker-compose, pubnub, requests-oauthlib, sphinx
rest-framework-generic-relations==1.2.1
s3transfer==0.2.0         # via boto3
sentry-sdk==0.8.0
six==1.12.0               # via argon2-cffi, bcrypt, cryptography, django-anymail, django-coverage-plugin, django-extensions, docker, docker-compose, docker-pycreds, dockerpty, faker, freezegun, model-mommy, packaging, prompt-toolkit, pubnub, pynacl, pytest, python-dateutil, traitlets, websocket-client
snowballstemmer==1.2.1    # via sphinx
sphinx==2.0.1
sphinxcontrib-applehelp==1.0.1  # via sphinx
sphinxcontrib-devhelp==1.0.1  # via sphinx
sphinxcontrib-htmlhelp==1.0.2  # via sphinx
sphinxcontrib-jsmath==1.0.1  # via sphinx
sphinxcontrib-qthelp==1.0.2  # via sphinx
sphinxcontrib-serializinghtml==1.1.3  # via sphinx
sqlparse==0.3.0           # via django, django-debug-toolbar
termcolor==1.1.0          # via pytest-sugar
text-unidecode==1.2       # via faker, python-slugify
texttable==0.9.1          # via docker-compose
tornado==5.1.1            # via flower
traitlets==4.3.2          # via ipython
uritemplate==3.0.0        # via coreapi
urllib3==1.24.3           # via botocore, requests, sentry-sdk
vine==1.3.0               # via amqp, celery
wcwidth==0.1.7            # via prompt-toolkit, pytest
websocket-client==0.56.0  # via docker, docker-compose
werkzeug==0.15.4

Every line went fine except one.

ERROR: pywebpush 1.9.4 has requirement requests>=2.21.0, but you'll have requests 2.20.1 which is incompatible.

This problem also impact when I do pip-compile as well here.

Question:
Is it possible to let pywebpush support requests 2.20.1?

jrconlin commented 5 years ago

No.

Requests < 2.21 does not support urllib3 v1.25.2+. (v 1.25 contains a CVE fix, and 1.25.3 is not compatible with 1.25.0 and 1.25.1)

Looks like v 1.3.1 has the requests version you're looking for, but Holy Wow is that out-of-date. (Published Dec 4, 2017). Might be worth tracking down which package is actually still requiring the old version of Requests and filing an issue urging them to update.

I also see that Requests2 is EOL with Requests3 coming out reasonably soon. I should probably update when that happens.

elcolie commented 5 years ago

After I search for dependencies tree. pipdeptree I found it. docker-compose is the root cause.

docker-compose==1.24.0
  - cached-property [required: >=1.2.0,<2, installed: 1.5.1]
  - docker [required: >=3.7.0,<4.0, installed: 3.7.2]
    - docker-pycreds [required: >=0.4.0, installed: 0.4.0]
      - six [required: >=1.4.0, installed: 1.12.0]
    - requests [required: >=2.14.2,!=2.18.0, installed: 2.20.1]
      - certifi [required: >=2017.4.17, installed: 2019.3.9]
      - chardet [required: >=3.0.2,<3.1.0, installed: 3.0.4]
      - idna [required: >=2.5,<2.8, installed: 2.7]
      - urllib3 [required: >=1.21.1,<1.25, installed: 1.24.3]
    - six [required: >=1.4.0, installed: 1.12.0]
    - websocket-client [required: >=0.32.0, installed: 0.56.0]
      - six [required: Any, installed: 1.12.0]
  - dockerpty [required: >=0.4.1,<0.5, installed: 0.4.1]
    - six [required: >=1.3.0, installed: 1.12.0]
  - docopt [required: >=0.6.1,<0.7, installed: 0.6.2]
  - jsonschema [required: >=2.5.1,<3, installed: 2.6.0]
  - PyYAML [required: >=3.10,<4.3, installed: 3.13]
  - requests [required: >=2.6.1,<2.21,!=2.18.0,!=2.12.2,!=2.11.0, installed: 2.20.1]
    - certifi [required: >=2017.4.17, installed: 2019.3.9]
    - chardet [required: >=3.0.2,<3.1.0, installed: 3.0.4]
    - idna [required: >=2.5,<2.8, installed: 2.7]
    - urllib3 [required: >=1.21.1,<1.25, installed: 1.24.3]
  - six [required: >=1.3.0,<2, installed: 1.12.0]
  - texttable [required: >=0.9.0,<0.10, installed: 0.9.1]
  - websocket-client [required: >=0.32.0,<1.0, installed: 0.56.0]
    - six [required: Any, installed: 1.12.0]

Thank you very much.