This will be a somewhat intemperate response, because as a developer of a significant library I found this quite irritating. If you publish a Python library without pinned dependencies, your code is broken. It happens to work today, but there will come a day when the artifact you have published no longer works. It's only a matter of time. The command the user had run before, like "pip install spacy==2.3.5" will no lo…
> If you publish a Python library without pinned dependencies, your code is broken. > you will be unable to today publish an end-to-end set of commands that will work in 2025 Not necessarily. Since ~2010 I maintain an application with an unpinned requirements.txt; it doesn't even have version constraints at all. The only breakages I had were either: 1. when switching from Python 2 to Python 3 (obviously) 2. when a ne…
1. 'only use good libraries' 2. 'it's not your job as a developer to make sure your application can be installed' 3. 'if your users want to use pip... they should be able to fix those issues'
However, this isn't a solution to the problem that led to the existence of language ecosystems. It is a refusal to acknowledge the problem.