It often takes more time to resolve dependencies for more Python versions. Therefore, the same range should be used for all tools if possible. It may or may not make a big difference in the results, but currently pixi only has to resolve for Python 3.11 and uv only has to resolve for Python 3.11 and 3.12 whereas pdm and poetry have to resolve for Python 3.11, 3.12, 3.13 and 3.14.
At the moment, the ranges are as follows:
| tool |
Python range |
| pdm |
>=3.11 |
| pdm-uv |
>=3.11 |
| pip-tools |
? (probably nothing to configure) |
| pipenv |
? (probably nothing to configure) |
| pixi |
~= 3.11.0 (same as >=3.11,<3.12) |
| poetry |
^3.11 (same as >=3.11,<4.0) |
| uv |
>=3.11,<3.13 |
If the range has to be restricted for one tool, it should probably be restricted for all tools.
It often takes more time to resolve dependencies for more Python versions. Therefore, the same range should be used for all tools if possible. It may or may not make a big difference in the results, but currently pixi only has to resolve for Python 3.11 and uv only has to resolve for Python 3.11 and 3.12 whereas pdm and poetry have to resolve for Python 3.11, 3.12, 3.13 and 3.14.
At the moment, the ranges are as follows:
>=3.11>=3.11~= 3.11.0(same as>=3.11,<3.12)^3.11(same as>=3.11,<4.0)>=3.11,<3.13If the range has to be restricted for one tool, it should probably be restricted for all tools.