klen / mixer

Mixer -- Is a fixtures replacement. Supported Django, Flask, SqlAlchemy and custom python objects.
Other
935 stars 96 forks source link

Loosen the version constraint of Faker to avoid dependency conflicts #120

Open NeolithEra opened 4 years ago

NeolithEra commented 4 years ago

Hi, certstream locked the version constraint of Faker as Faker==0.9.1, which leads to a troubling scenario that its direct downstream project [doccano, orcamentos] has to lock Faker.

Could you please loosen the version constraint of Faker? Benefit of this is that users using both of [doccano, orcamentos] and Faker 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 Faker==0.9.1 to be Faker>=0.9.1.
  2. Loosen Faker==0.9.1 to be Faker==*.
  3. Try to add an upper bound for Faker’ version constraint, according to your compatibility.

@klen 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-----

mixer-6.1.3
| +-faker(version range:==0.9.1)
| | +-python-dateutil(version range:>=2.4)
| | | +-six(version range:>=1.5)
| | +-six(version range:>=1.10)
| | +-text-unidecode(version range:==1.2)

Direct downstream project:

doccano-master
.
.
.
| +-faker(version range:==0.8.8)
| | +-python-dateutil(version range:>=2.4)
| | | +-six(version range:*)
| | | +-six(version range:>=1.5)
| | +-six(version range:*)
| | +-text-unidecode(version range:*)
| +-flake8(version range:==3.6.0)
.
.
.
| +-mixer(version range:==6.1.3)
| | +-faker(version range:==0.9.1)
| | | +-python-dateutil(version range:>=2.4)
| | | +-six(version range:>=1.10)
| | | +-text-unidecode(version range:==1.2)
| +-model-mommy(version range:==1.6.0)
| | +-django(version range:>=1.8.0)
| | | +-pytz(version range:*)
| | +-six(version range:*)
.
.
.
orcamentos-2.1.7
.
.
.
| +-faker(version range:==1.0.1)
| | +-python-dateutil(version range:>=2.4)
| | | +-six(version range:*)
| | +-six(version range:>=1.10)
| | +-text-unidecode(version range:==1.2)
.
.
.
| +-mixer(version range:==6.1.3)
| | +-faker(version range:==0.9.1)
| | | +-python-dateutil(version range:>=2.4)
| | | +-six(version range:>=1.10)
| | | +-text-unidecode(version range:==1.2)
.
.
.