fantix / aiocontextvars

Asyncio support for PEP-567 contextvars backport.
Other
55 stars 5 forks source link

Loosen the version constraint of contextvars to avoid dependency conflicts #190

Open NeolithEra opened 4 years ago

NeolithEra commented 4 years ago

Hi, aiocontextvars locked the version constraint of contextvars as contextvars ==2.4, which leads a troubling scenario to its direct downstream project gumbelcodes which has dependency contextvars.

What makes the situation worse is that the downstream projects [gumbelcodes, flexget, pysoa] of aiocontextvars are also have dependency contextvars.

Could you please loosen the version constraint of contextvars? Benefit of this is that users using both of aiocontextvars and contextvars can upgrade their third party libraries in a timely manner to reduce technical debts.

Solution

The dependency trees of your project and affected downstream projects are shown as follows. Taking the version constraints of upstream and downstream projects into comprehensive consideration, you can

  1. Loosen click to be contextvars >=2.4.

@pyup-bot May I submit a PR to this issue?

Thanks for your attention. Best, Neolith

NeolithEra commented 4 years ago

Dependency tree-----

aiocontextvars - 0.2.2
| +- contextvars(install version:2.4 version range:==2.4)
gumbelcodes - 0.9
| +- aiocontextvars(install version:0.2.2 version range:==0.2.2)
| | +- contextvars(install version:2.4 version range:==2.4)
| +- contextvars(install version:2.4 version range:==2.4)
| +- immutables(install version:0.11 version range:==0.11)
| +- loguru(install version:0.4.0 version range:==0.4.0)
| | +- aiocontextvars(install version:0.2.2 version range:>=0.2.0)
| | | +- contextvars(install version:2.4 version range:==2.4)
| | +- colorama(install version:0.4.3 version range:>=0.3.4)
| | +- win32-setctime(install version:1.0.1 version range:>=1.0.0)
| +- marisa-trie(install version:0.7.5 version range:==0.7.5)
| +- numpy(install version:1.18.0 version range:==1.18.0)
| +- scipy(install version:1.4.1 version range:==1.4.1)
| +- six(install version:1.13.0 version range:==1.13.0)
flexget - 3.1.1
| +- aiocontextvars(install version:0.2.2 version range:==0.2.2)
| | +- contextvars(install version:2.4 version range:==2.4)
| +- aniso8601(install version:1.2.1 version range:==1.2.1)
| | +- python-dateutil(install version:2.6.1 version range:*)
| | | +- six(install version:1.13.0 version range:*)
| | | +- six(install version:1.13.0 version range:>=1.5)
| +- appdirs(install version:1.4.3 version range:==1.4.3)
| +- apscheduler(install version:3.5.0 version range:==3.5.0)
| | +- pytz(install version:2017.2 version range:*)
| | +- setuptools(install version:46.1.3 version range:>=0.7)
| | +- six(install version:1.13.0 version range:>=1.4.0)
| | +- tzlocal(install version:1.4 version range:>=1.2)
| | | +- pytz(install version:2017.2 version range:*)
| +- babelfish(install version:0.5.5 version range:==0.5.5)
| +- beautifulsoup4(install version:4.6.0 version range:==4.6.0)
| +- bs4(install version:0.0.1 version range:==0.0.1)
| | +- beautifulsoup4(install version:4.6.0 version range:*)
| +- certifi(install version:2017.4.17 version range:==2017.4.17)
| +- chardet(install version:3.0.3 version range:==3.0.3)
| +- cheroot(install version:8.2.1 version range:==8.2.1)
| +- cherrypy(install version:18.4.0 version range:==18.4.0)
| +- click(install version:6.7 version range:==6.7)
| +- colorclass(install version:2.2.0 version range:==2.2.0)
| +- contextvars(install version:2.4 version range:==2.4)
| +- cssselect(install version:1.1.0 version range:==1.1.0)
| +- fake-useragent(install version:0.1.11 version range:==0.1.11)
| +- feedparser(install version:5.2.1 version range:==5.2.1)
| +- flask(install version:1.0.2 version range:==1.0.2)
| | +- click(install version:6.7 version range:>=5.1)
| | +- itsdangerous(install version:0.24 version range:>=0.24)
| | +- jinja2(install version:2.10.1 version range:>=2.10)
| | | +- markupsafe(install version:1.0 version range:>=0.23)
| | +- werkzeug(install version:0.15.6 version range:>=0.14)
| +- flask-compress(install version:1.4.0 version range:==1.4.0)
| +- flask-cors(install version:3.0.2 version range:==3.0.2)
| +- flask-login(install version:0.4.0 version range:==0.4.0)
| | +- flask(install version:1.0.2 version range:*)
| | | +- click(install version:6.7 version range:>=5.1)
| | | +- itsdangerous(install version:0.24 version range:>=0.24)
| | | +- jinja2(install version:2.10.1 version range:>=2.10)
| | | | +- markupsafe(install version:1.0 version range:>=0.23)
| | | +- werkzeug(install version:0.15.6 version range:>=0.14)
| +- flask-restful(install version:0.3.6 version range:==0.3.6)
| | +- aniso8601(install version:1.2.1 version range:>=0.82)
| | | +- python-dateutil(install version:2.6.1 version range:*)
| | | | +- six(install version:1.13.0 version range:*)
| | | | +- six(install version:1.13.0 version range:>=1.5)
| | +- flask(install version:1.0.2 version range:>=0.8)
| | | +- click(install version:6.7 version range:>=5.1)
| | | +- itsdangerous(install version:0.24 version range:>=0.24)
| | | +- jinja2(install version:2.10.1 version range:>=2.10)
| | | | +- markupsafe(install version:1.0 version range:>=0.23)
| | | +- werkzeug(install version:0.15.6 version range:>=0.14)
| | +- pytz(install version:2017.2 version range:*)
| | +- six(install version:1.13.0 version range:>=1.3.0)
| +- flask-restplus(install version:0.10.1 version range:==0.10.1)
| | +- aniso8601(install version:1.2.1 version range:>=0.82)
| | | +- python-dateutil(install version:2.6.1 version range:*)
| | | | +- six(install version:1.13.0 version range:*)
| | | | +- six(install version:1.13.0 version range:>=1.5)
| | +- flask(install version:1.0.2 version range:>=0.8)
| | | +- click(install version:6.7 version range:>=5.1)
| | | +- itsdangerous(install version:0.24 version range:>=0.24)
| | | +- jinja2(install version:2.10.1 version range:>=2.10)
| | | | +- markupsafe(install version:1.0 version range:>=0.23)
| | | +- werkzeug(install version:0.15.6 version range:>=0.14)
| | +- pytz(install version:2017.2 version range:*)
| | +- six(install version:1.13.0 version range:>=1.3.0)
| +- guessit(install version:3.1.0 version range:==3.1.0)
| | +- Unknown (.)(install version: version range:*)
| +- html5lib(install version:0.999999999 version range:==0.999999999)
| | +- setuptools(install version:46.1.3 version range:>=18.5)
| | +- six(install version:1.13.0 version range:*)
| | +- webencodings(install version:0.5.1 version range:*)
| +- idna(install version:2.5 version range:==2.5)
| +- immutables(install version:0.11 version range:==0.11)
| +- itsdangerous(install version:0.24 version range:==0.24)
| +- jaraco.functools(install version:2.0 version range:==2.0)
| +- jinja2(install version:2.10.1 version range:==2.10.1)
| | +- markupsafe(install version:1.0 version range:>=0.23)
| +- jsonschema(install version:2.6.0 version range:==2.6.0)
| +- loguru(install version:0.4.0 version range:==0.4.0)
| | +- aiocontextvars(install version:0.2.2 version range:>=0.2.0)
| | | +- contextvars(install version:2.4 version range:==2.4)
| | +- colorama(install version:0.4.3 version range:>=0.3.4)
| | +- win32-setctime(install version:1.0.1 version range:>=1.0.0)
| +- lxml(install version:4.4.2 version range:==4.4.2)
| | +- cython(install version:3.0a1 version range:>=0.29.7)
| +- markupsafe(install version:1.0 version range:==1.0)
| +- more-itertools(install version:7.2.0 version range:==7.2.0)
| +- parse(install version:1.14.0 version range:==1.14.0)
| +- plumbum(install version:1.6.3 version range:==1.6.3)
| +- portend(install version:2.6 version range:==2.6)
| +- progressbar(install version:2.5 version range:==2.5)
| +- pyee(install version:6.0.0 version range:==6.0.0)
| +- pynzb(install version:0.1.0 version range:==0.1.0)
| | +- setuptools(install version:46.1.3 version range:*)
| +- pyparsing(install version:2.2.0 version range:==2.2.0)
| +- pyppeteer(install version:0.0.25 version range:==0.0.25)
| | +- appdirs(install version:1.4.3 version range:*)
| | +- pyee(install version:6.0.0 version range:*)
| | +- tqdm(install version:4.41.1 version range:*)
| | +- urllib3(install version:1.24.2 version range:*)
| | +- websockets(install version:8.1 version range:*)
| +- pyquery(install version:1.4.1 version range:==1.4.1)
| | +- cssselect(install version:1.1.0 version range:>0.7.9)
| | +- lxml(install version:4.4.2 version range:>=2.1)
| | | +- cython(install version:3.0a1 version range:>=0.29.7)
| +- pyrss2gen(install version:1.1 version range:==1.1)
| +- python-dateutil(install version:2.6.1 version range:==2.6.1)
| | +- six(install version:1.13.0 version range:*)
| | +- six(install version:1.13.0 version range:>=1.5)
| +- pytz(install version:2017.2 version range:==2017.2)
| +- pyyaml(install version:5.1.2 version range:==5.1.2)
| +- rebulk(install version:2.0.0 version range:==2.0.0)
| | +- Unknown (.)(install version: version range:*)
| +- requests(install version:2.21.0 version range:==2.21.0)
| | +- certifi(install version:2017.4.17 version range:>=2017.4.17)
| | +- chardet(install version:3.0.3 version range:<3.1.0,>=3.0.2)
| | +- idna(install version:2.5 version range:>=2.5,<2.9)
| | +- urllib3(install version:1.24.2 version range:>=1.21.1,<1.25)
| +- requests-html(install version:0.10.0 version range:==0.10.0)
| | +- bs4(install version:0.0.1 version range:*)
| | | +- beautifulsoup4(install version:4.6.0 version range:*)
| | +- fake-useragent(install version:0.1.11 version range:*)
| | +- parse(install version:1.14.0 version range:*)
| | +- pyppeteer(install version:0.0.25 version range:>=0.0.14)
| | | +- appdirs(install version:1.4.3 version range:*)
| | | +- pyee(install version:6.0.0 version range:*)
| | | +- tqdm(install version:4.41.1 version range:*)
| | | +- urllib3(install version:1.24.2 version range:*)
| | | +- websockets(install version:8.1 version range:*)
| | +- pyquery(install version:1.4.1 version range:*)
| | | +- cssselect(install version:1.1.0 version range:>0.7.9)
| | | +- lxml(install version:4.4.2 version range:>=2.1)
| | | | +- cython(install version:3.0a1 version range:>=0.29.7)
| | +- requests(install version:2.21.0 version range:*)
| | | +- certifi(install version:2017.4.17 version range:>=2017.4.17)
| | | +- chardet(install version:3.0.3 version range:<3.1.0,>=3.0.2)
| | | +- idna(install version:2.5 version range:>=2.5,<2.9)
| | | +- urllib3(install version:1.24.2 version range:>=1.21.1,<1.25)
| | +- w3lib(install version:1.21.0 version range:*)
| | | +- six (install version:1.14.0 version range:>=1.4.1)
| +- rpyc(install version:4.0.1 version range:==4.0.1)
| | +- plumbum(install version:1.6.3 version range:*)
| +- six(install version:1.13.0 version range:==1.13.0)
| +- sqlalchemy(install version:1.3.11 version range:==1.3.11)
| +- tempora(install version:1.8 version range:==1.8)
| +- terminaltables(install version:3.1.0 version range:==3.1.0)
| +- tqdm(install version:4.41.1 version range:==4.41.1)
| +- tzlocal(install version:1.4 version range:==1.4)
| | +- pytz(install version:2017.2 version range:*)
| +- urllib3(install version:1.24.2 version range:==1.24.2)
| +- w3lib(install version:1.21.0 version range:==1.21.0)
| | +- six (install version:1.14.0 version range:>=1.4.1)
| +- webencodings(install version:0.5.1 version range:==0.5.1)
| +- websockets(install version:8.1 version range:==8.1)
| +- werkzeug(install version:0.15.6 version range:==0.15.6)
| +- zc.lockfile(install version:2.0 version range:==2.0)
| +- zxcvbn-python(install version:4.4.15 version range:==4.4.15)
pysoa - 1.1.5
| +- aiocontextvars(install version:0.2.2 version range:==0.2.2)
| | +- contextvars(install version:2.4 version range:==2.4)
| +- attrs(install version:19.3.0 version range:>=18.2,<20)
| +- conformity(install version:1.27.2 version range:<2,>=1.26)
| | +- attrs(install version:19.3.0 version range:>=17.4,<20)
| | +- six(install version:1.15.0 version range:*)
| | +- typing(install version:3.7.4.1 version range:<3.8,>=3.7.4)
| +- contextvars(install version:2.4 version range:==2.4)
| +- currint(install version:2.0.0 version range:>=1.6,<3)
| | +- six(install version:1.15.0 version range:*)
| +- enum34(install version:1.1.10 version range:*)
| +- msgpack(install version: version range:=0.6,>=0.6.2)
| +- pymetrics(install version:1.0.2 version range:<2,>=1.0)
| | +- attrs(install version:19.3.0 version range:>=17.4,<20)
| | +- conformity(install version:1.27.2 version range:>=1.26.9,<2.0)
| | | +- attrs(install version:19.3.0 version range:>=17.4,<20)
| | | +- six(install version:1.15.0 version range:*)
| | | +- typing(install version:3.7.4.1 version range:<3.8,>=3.7.4)
| | +- enum34(install version:1.1.10 version range:*)
| | +- six(install version:1.15.0 version range:*)
| | +- typing(install version:3.7.4.1 version range:<3.8,>=3.7.4)
| | +- typing-extensions(install version:3.7.4.2 version range:<3.8,>=3.7.4)
| +- pytz(install version:2019.3 version range:>=2019.1)
| +- redis(install version:2.10.6 version range:<3,>=2.10)
| +- six(install version:1.15.0 version range:<2,>=1.10)
| +- typing(install version:3.7.4.1 version range:<3.8,>=3.7.4)
| +- typing-extensions(install version:3.7.4.2 version range:<3.8,>=3.7.4)
NeolithEra commented 4 years ago

@decaz,Could you help me review this issue? Thx :p

decaz commented 4 years ago

No. I guess you mentioned me by mistake.

NeolithEra commented 4 years ago

@fantix,Could you help me review this issue? Thx :p