I've been looking around the the pyproject.toml files of some popular packages on PyPI and noticed that most of the dependencies are of the form package>=1.2.3. I would expect them to be of the form package>=1.2.3, <2.0.0 instead as this allows all semver compatible upgrades, and it's what I see most often in other package ecosystems (NPM and Cargo for instance). Is there a reason many python package authors make this choice? Continue reading...