News for hackers. Stuff that matters.
Re:Pipenv: Promises a Lot, Delivers Little (2020) by plonk on Saturday July 16, 2022 @11:27AM (#32119056)
> My time and the time of my peers is too valuable to be debugging minor incompatibilities between a library 5 layers down the transitive dependency stack because versions aren’t pinned. It’s too important that if I go back to a 3 year old checkout of the code that it still runs and isn’t a wild goose chase of running down bugs and library incompatibilities.

That happens very rarely with our dozens of transitive dependencies. What are these packages that cause trouble often?

Re:Pipenv: Promises a Lot, Delivers Little (2020) by mirashii on Saturday July 16, 2022 @12:36PM (#32119628)
Nothing causes trouble often, because the class of problems is eliminated by pinning.

Still, it doesn’t have to happen often to be a serious hindrance to either developer productivity or your business. Imagine trying to roll out a fix for a production outage only to find a random transitive dependency has started breaking your build. Now your outage is extended to the duration of debugging and fixing an unrelated and avoidable problem.

Re:Pipenv: Promises a Lot, Delivers Little (2020) by cuteboy19 on Saturday July 16, 2022 @01:33PM (#32120128)
>That happens very rarely with our dozens of transitive dependencies

Because you don't do ml. My requirements.txt is useless in 6 months because the transitive dependencies all have incompatible versions of common libraries by now

Re:Pipenv: Promises a Lot, Delivers Little (2020) by plonk on Saturday July 16, 2022 @04:55PM (#32121886)
All we do is ML and image processing. We use huge libraries like PyTorch, ones with insane packaging like OpenCV, and things are so stable I haven’t felt the need to introduce version pinning yet.

Maybe you’re using recent less-stable projects? I found that the main ML packages rarely break things without months of deprecation warnings.