prance icon indicating copy to clipboard operation
prance copied to clipboard

Dependency conflict when including prance

Open NotoriousPyro opened this issue 3 years ago • 0 comments

When using pip-tools with Flask and prance, there is a conflict between click versions:

I notice in setup.py this is listed as a dependency of CLI, which is not used in an Flask application. I think this is likely because requirements.txt includes CLI as an extra.

Expected Behaviour

Only the bare minimum should be included in requirements.txt to run the parser classes (e.g. install_requires)

Minimal Example Spec

These are the dependencies which cause the conflict: requirements-pip.in

pip==22.0.4
pip-tools==6.5.1

requirements.in

-c requirements-pip.txt  # to avoid conflicts
email-validator==1.1.3
Flask==2.0.3
Flask-WTF==1.0.0
Jinja2==3.0.3
mohawk==1.1.0
openapi-schema-validator==0.2.3
openapi-spec-validator==0.4.0
prance==0.5.1
pydantic==1.9.0
requests==2.27.1

Actual Behaviour

Could not find a version that matches click==8.0.3,>=7.1.2,~=6.7 (from -c ci/requirements-pip.txt (line 7))
Tried: 0.1, 0.1, 0.2, 0.2, 0.3, 0.3, 0.4, 0.4, 0.5, 0.5, 0.5.1, 0.5.1, 0.6, 0.6, 0.7, 0.7, 1.0, 1.0, 1.1, 1.1, 2.0, 2.0, 2.1, 2.1, 2.2, 2.2, 2.3, 2.3, 2.4, 2.4, 2.5, 2.5, 2.6, 2.6, 3.0, 3.0, 3.1, 3.1, 3.2, 3.2, 3.3, 3.3, 4.0, 4.0, 4.1, 4.1, 5.0, 5.0, 5.1, 5.1, 6.0, 6.0, 6.1, 6.1, 6.2, 6.2, 6.3, 6.3, 6.4, 6.4, 6.5, 6.6, 6.6, 6.7, 6.7, 7.0, 7.0, 7.1, 7.1, 7.1.1, 7.1.1, 7.1.2, 7.1.2, 8.0.0, 8.0.0, 8.0.1, 8.0.1, 8.0.2, 8.0.2, 8.0.3, 8.0.3, 8.0.4, 8.0.4, 8.1.0, 8.1.0, 8.1.1, 8.1.1, 8.1.2, 8.1.2, 8.1.3, 8.1.3
Skipped pre-versions: 6.7.dev0, 8.0.0a1, 8.0.0a1, 8.0.0rc1, 8.0.0rc1
There are incompatible versions in the resolved dependencies:
  click==8.0.3 (from -c ci/requirements-pip.txt (line 7))
  click>=7.1.2 (from Flask==2.0.3->-r ci/requirements.in (line 3))
  click~=6.7 (from prance==0.5.1->-r ci/requirements.in (line 9))

Steps to Reproduce

Use the above requirements files.

Environment

  • OS: Fedora
  • Python version: 3.9
  • Swagger/OpenAPI version used: 3.0.2
  • Backend: openapi-spec-validator

NotoriousPyro avatar May 19 '22 14:05 NotoriousPyro