Skip to main content

Dependency hell

I've been working on a proof of concept product whenever I have had some spare time at work (which isn't much). Going through and learning new tools and concepts is always fun and I have been testing out various new AI related tools and services to create something we could use internally or to sell to our customers.

The problem is the industry is moving really fast. There are new services and versions out constantly and the libraries are struggling to keep up. Even the libraries themselves are developing rapidly.

It's fine testing out a single library or a service, just need to get the correct versions installed and follow the tutorials. Things get more complicated when you try to combine different thing together to create something usable beyond those simple examples.

Every library depends on a lot of other things. Often times those dependencies overlap between different libraries which might sound like a good thing. But it's not. Every library depends on a particular version (or a range of versions) of those other components. Too rarely the exact versions you need for those things are the same. This leads to an endless puzzle trying to figure out a perfect combination of versions of the needed libraries to also match their dependencies.