Using nixpkgs to do version dependency bounds checking

I was curious if i could construct a nix expression that would be able to build every combination of a given dependency. For example, lets say I have a python package and i want to verify that it works with python3.{5,6,7} and i want to verify that it works with pythonXXPackages.requests_2.[1-22] and many versions of flask.

I realize I would have to define an expression for each individual version of a package, but does anyone know of a decent way to construct something like this?

Pointing me in the right direction would also be appreciated.

I haven’t ever done something like this, but it looks like you could use lib.lists.crossLists to run a function with all combinations of a set of inputs, so you can construct the derivation in that function and then just have to figure out how to produce the inputs that you want to test with.


Oh wow, thanks, this is pretty much exactly what i was looking for to create at least the combination of packages. Thanks @lilyball :slight_smile: