As noted in 40, the supported `pip` versions before this release were quite outdated. A major blocker was the dependency resolver that `pip==21` introduced. It changed a lot of the internals that we relied on. Thus, we needed to completely overhaul the project.
And we did in 60 :tada: As a result, we now support every `pip` version starting from `22` with a few exceptions. Of course, given that we need to rely on `pip` internals without any BC guarantees, there will be some breakages in future version. But we are confident, that the changes that needed to happen in `light-the-torch` should be small.
In the process of rewriting, we also added support for other PyTorch distributions to be installed through `light-the-torch`. Before it could only handle
- `torch`
- `torchvision`
- `torchtext`
- `torchaudio`
but now in addition we support:
- `torch`
- `torch_model_archiver`
- `torch_tb_profiler`
- `torcharrow`
- `torchcsprng`
- `torchdata`
- `torchdistx`
- `torchserve`
Unfortunately, overhauling the project also brings some BC breaking changes. Namely, `ltt extract` and `ltt find` and their API counterparts `light_the_torch.extract_dists` and `light_the_torch.find_links` were removed. This processing in stages, i.e. extracting the PyTorch distributions from the installation command, finding the correct link for them and only then installing them in a subsequent command is no longer possible with the new `pip` dependency resolver.
Shout out to our contributors: pmeier tonyfast jamesobutler