endsh / chiki-base

MIT License
0 stars 0 forks source link

Loosen the version constraint of flask to avoid dependency conflicts #3

Open NeolithEra opened 4 years ago

NeolithEra commented 4 years ago

Hi, chiki-base locked the version constraint of flask as flask==0.10.1, which leads a troubling scenario to its direct downstream project chiki-api which has dependency flask.

What makes the situation worse is that the downstream projects [chiki-logger, chiki-mongoengine, chiki-wxpay, chiki-stat] of chiki-base are also have dependency flask.

Could you please loosen the version constraint of flask? Benefit of this is that users using both of chiki-base and flask 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 flask to be flask>=0.10.1.
  2. Remove flask and use flask from flask-login
  3. Try to add an upper bound for flask’s version constraint, according to your compatibility.

Please let me know your choice. I can submit a PR to fix this issue.

Thanks for your attention. Best, Neolith

NeolithEra commented 4 years ago

Dependency tree-----

chiki-base - 0.0.3
| +- flask(install version:0.10.1 version range:==0.10.1)
| | +- itsdangerous(install version:1.1.0 version range:>=0.21)
| | +- jinja2(install version:2.10.3 version range:>=2.4)
| | | +- markupsafe(install version:1.1.1 version range:>=0.23)
| | +- werkzeug(install version:0.16.0 version range:>=0.7)
| +- flask-login(install version:0.2.11 version range:==0.2.11)
| | +- flask(install version:0.10.1 version range:*)
| | | +- itsdangerous(install version:1.1.0 version range:>=0.21)
| | | +- jinja2(install version:2.10.3 version range:>=2.4)
| | | | +- markupsafe(install version:1.1.1 version range:>=0.23)
| | | +- werkzeug(install version:0.16.0 version range:>=0.7)
| +- urllib3(install version:1.22 version range:==1.22)
chiki-logger - 0.0.1
| +- chiki-base(install version:0.0.3 version range:*)
| | +- flask(install version:0.10.1 version range:==0.10.1)
| | | +- itsdangerous(install version:1.1.0 version range:>=0.21)
| | | +- jinja2(install version:2.10.3 version range:>=2.4)
| | | | +- markupsafe(install version:1.1.1 version range:>=0.23)
| | | +- werkzeug(install version:0.16.0 version range:>=0.7)
| | +- flask-login(install version:0.2.11 version range:==0.2.11)
| | | +- flask(install version:0.10.1 version range:*)
| | | | +- itsdangerous(install version:1.1.0 version range:>=0.21)
| | | | +- jinja2(install version:2.10.3 version range:>=2.4)
| | | | +- werkzeug(install version:0.16.0 version range:>=0.7)
| | +- urllib3(install version:1.22 version range:==1.22)
| +- flask(install version:0.10.1 version range:==0.10.1)
| | +- itsdangerous(install version:1.1.0 version range:>=0.21)
| | +- jinja2(install version:2.10.3 version range:>=2.4)
| | | +- markupsafe(install version:1.1.1 version range:>=0.23)
| | +- werkzeug(install version:0.16.0 version range:>=0.7)
chiki-mongoengine - 0.0.2
| +- chiki-base(install version:0.0.3 version range:*)
| | +- flask(install version:0.10.1 version range:==0.10.1)
| | | +- itsdangerous(install version:1.1.0 version range:>=0.21)
| | | +- jinja2(install version:2.10.3 version range:>=2.4)
| | | | +- markupsafe(install version:1.1.1 version range:>=0.23)
| | | +- werkzeug(install version:0.16.0 version range:>=0.7)
| | +- flask-login(install version:0.2.11 version range:==0.2.11)
| | | +- flask(install version:0.10.1 version range:*)
| | | | +- itsdangerous(install version:1.1.0 version range:>=0.21)
| | | | +- jinja2(install version:2.10.3 version range:>=2.4)
| | | | +- werkzeug(install version:0.16.0 version range:>=0.7)
| | +- urllib3(install version:1.22 version range:==1.22)
| +- flask(install version:0.10.1 version range:==0.10.1)
| | +- itsdangerous(install version:1.1.0 version range:>=0.21)
| | +- jinja2(install version:2.10.3 version range:>=2.4)
| | | +- markupsafe(install version:1.1.1 version range:>=0.23)
| | +- werkzeug(install version:0.16.0 version range:>=0.7)
| +- flask-mongoengine(install version:0.7.1 version range:==0.7.1)
| | +- flask(install version:0.10.1 version range:>=0.8)
| | | +- itsdangerous(install version:1.1.0 version range:>=0.21)
| | | +- jinja2(install version:2.10.3 version range:>=2.4)
| | | | +- markupsafe(install version:1.1.1 version range:>=0.23)
| | | +- werkzeug(install version:0.16.0 version range:>=0.7)
| | +- flask-wtf(install version:0.14.2 version range:*)
| | | +- flask(install version:0.10.1 version range:*)
| | | | +- itsdangerous(install version:1.1.0 version range:>=0.21)
| | | | +- jinja2(install version:2.10.3 version range:>=2.4)
| | | | +- werkzeug(install version:0.16.0 version range:>=0.7)
| | | +- wtforms(install version:2.2.1 version range:*)
| | +- mongoengine(install version:0.18.2 version range:>=0.7.10)
| | | +- pymongo(install version:3.9.0 version range:>=3.4)
| | | +- six(install version:1.13.0 version range:*)
| +- oss(install version:0.1.3 version range:==0.1.3) 
chiki-wxpay - 0.0.1
| +- chiki-base(install version:0.0.3 version range:*)
| | +- flask(install version:0.10.1 version range:==0.10.1)
| | | +- itsdangerous(install version:1.1.0 version range:>=0.21)
| | | +- jinja2(install version:2.10.3 version range:>=2.4)
| | | | +- markupsafe(install version:1.1.1 version range:>=0.23)
| | | +- werkzeug(install version:0.16.0 version range:>=0.7)
| | +- flask-login(install version:0.2.11 version range:==0.2.11)
| | | +- flask(install version:0.10.1 version range:*)
| | | | +- itsdangerous(install version:1.1.0 version range:>=0.21)
| | | | +- jinja2(install version:2.10.3 version range:>=2.4)
| | | | +- werkzeug(install version:0.16.0 version range:>=0.7)
| | +- urllib3(install version:1.22 version range:==1.22)
| +- dicttoxml(install version:1.6.6 version range:==1.6.6)
| +- flask(install version:0.10.1 version range:==0.10.1)
| | +- itsdangerous(install version:1.1.0 version range:>=0.21)
| | +- jinja2(install version:2.10.3 version range:>=2.4)
| | | +- markupsafe(install version:1.1.1 version range:>=0.23)
| | +- werkzeug(install version:0.16.0 version range:>=0.7)
| +- werobot(install version:0.6.1 version range:==0.6.1)
| | +- bottle(install version:0.12.17 version range:*)
| | +- requests(install version:2.22.0 version range:*)
| | | +- certifi(install version:2019.9.11 version range:>=2017.4.17)
| | | +- chardet(install version:3.0.4 version range:<3.1.0,>=3.0.2)
| | | +- idna(install version:2.8 version range:>=2.5,<2.9)
| | | +- urllib3(install version:1.22 version range:<1.26,>=1.21.1)
| | +- six(install version:1.13.0 version range:*)
chiki-stat - 0.0.1
| +- chiki-base(install version:0.0.3 version range:*)
| | +- flask(install version:0.10.1 version range:==0.10.1)
| | | +- itsdangerous(install version:1.1.0 version range:>=0.21)
| | | +- jinja2(install version:2.10.3 version range:>=2.4)
| | | | +- markupsafe(install version:1.1.1 version range:>=0.23)
| | | +- werkzeug(install version:0.16.0 version range:>=0.7)
| | +- flask-login(install version:0.2.11 version range:==0.2.11)
| | | +- flask(install version:0.10.1 version range:*)
| | | | +- itsdangerous(install version:1.1.0 version range:>=0.21)
| | | | +- jinja2(install version:2.10.3 version range:>=2.4)
| | | | +- werkzeug(install version:0.16.0 version range:>=0.7)
| | +- urllib3(install version:1.22 version range:==1.22)
| +- flask(install version:0.10.1 version range:==0.10.1)
| | +- itsdangerous(install version:1.1.0 version range:>=0.21)
| | +- jinja2(install version:2.10.3 version range:>=2.4)
| | | +- markupsafe(install version:1.1.1 version range:>=0.23)
| | +- werkzeug(install version:0.16.0 version range:>=0.7)
| +- flask-admin(install version:1.5.0 version range:==1.5.0)
| | +- flask(install version:0.10.1 version range:>=0.7)
| | | +- itsdangerous(install version:1.1.0 version range:>=0.21)
| | | +- jinja2(install version:2.10.3 version range:>=2.4)
| | | | +- markupsafe(install version:1.1.1 version range:>=0.23)
| | | +- werkzeug(install version:0.16.0 version range:>=0.7)
| | +- wtforms(install version:2.2.1 version range:*)