For a few days now, I haven’t been able to rebuild because of:
cannot download pandas_ta-0.3.14b.tar.gz from any mirror
but I can’t figure out which derivation in my config (non-flakes, NixOS 26.05) depends on this. This is a current problem, but I’ve had similar situations before and so far I’ve mostly just gone with my gut; I haven’t found an “algorithmic” method to pinpoint it for sure. Is there one?
Try running your rebuild with --show-trace and the dependency chain should be printed. If you can’t figure it out, post it here and we’ll give you a hand.
It’s indeed caused by the pandas download failing, which is probably down to your connection, given it’s persistent you’re probably geoblocked, or your ISP is censoring the domain. You could try a VPN, or a DoH DNS server.
You’re only building this because you enabled CUDA for something. Pandas is a python data science library, it’ll be used in whatever application you enabled CUDA for.
That’s also causing all these rebuilds; enabling CUDA means you have to build a massive stack of software downstream. It took me two days to build the stack when I tried.
Even pandas-ta.com seems not existant on all DNS I could possibly reach. Actually adding the CUDA secondary cache does not change, but what I can’t track is which package ask for pandas-ta which is not Pandas but a small library on top of it. This is something I do not know how to track…
pandas-ta.dev not .com. But yes page is gone, github repo is gone. Maybe it would still build from pypi but not sure if that’s a good idea at that point.
I don’t see anything in nixpkgs that depends on pandas-ta.
You can use nix-tree (3rd party tool) to inspect. e.g. nix-tree --derivation <path> will show a store path and what it depends on.
You can use @withakay’s command to identify the gcroot that points at this pandas-ta path.
Side note, on github basically the only things I could find that use it are some stock trading software (freqtrade, stock-trader) and some random devshells.
Seems you have already found it, but for anyone else comming upon this thread, you can use nix why-depends. As described here: Nix: Why Does My System Depend on $PKG?
According to that, it’s part of the python env for xonsh, which you either manually added to environment.systemPackages or is added by a module you enabled.
Presumably you added it to your xonsh.extraPackages? Might also be added by another python package added to that list, I’m not certain python packages show up in referrers because they technically don’t contain literal references.