prance
prance copied to clipboard
Dependency conflict when including prance
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