Bug: python_requires>=3.12 contradicts vsketch<3.14 dependency constraint
Bug: python_requires=">=3.12" contradicts vsketch<3.14 dependency constraint
Describe the bug
setup.py declares python_requires=">=3.12" with no upper bound, but the dependency vsketch>=1.0.0 requires <3.14,>=3.11. On Python 3.14+, pip install prettymaps resolves prettymaps itself but fails on vsketch. On Python 3.10, pip's metadata filter blocks prettymaps entirely.
To reproduce
# Python 3.14 (Homebrew):
pip install prettymaps
# → ERROR: Ignored versions that require a different python version:
# vsketch-1.0.0 Requires-Python <3.14,>=3.11
# Python 3.10:
pip install prettymaps
# → ERROR: Ignored versions that require a different python version:
# prettymaps Requires-Python >=3.12Expected behavior
pip install prettymaps should succeed on a clearly documented range of Python versions, with the python_requires constraint matching the actual dependency constraints.
Root cause
setup.pyline 25:python_requires=">=3.12"(no upper bound)requirements.txt:vsketch>=1.0.0- vsketch 1.0.0 metadata:
Requires-Python: <3.14,>=3.11
The valid intersection is Python 3.12–3.13, but this is not declared and there's no documentation about it.
Suggested fix
Pin python_requires=">=3.11,<3.14" to match the actual dependency constraints. Alternatively, test and certify a specific Python version range and document it clearly in the README.
Workaround
Use Python 3.11 or 3.12 where both prettymaps and vsketch have compatible wheels. On Python 3.10, install with --ignore-requires-python.
Environment
- prettymaps v1.4.2
- Python 3.10.18, 3.14.6 (Homebrew)
- macOS 15, ARM64
Source: marceloprates/prettymaps