Conda-Forge dependency graph tracker and auto ticker
Script | Status |
---|---|
00-find_feedstocks.py | |
01-make_graph.py | |
02-graph_upstream.py | |
03-auto_tick.xsh |
There are four scripts:
00-find-feedstocks.py
which finds all the names of the current feedstocks. (#feedstocks/30 GH api calls)01-make_graph.py
which makes the DAG of packages and their dependencies usingnetworkx
with each recipe represented by a node. Important data from themeta.yaml
for each recipe stuffed into the nodeattrs
. (single GH api call per feedstock)02-graph-upstream.py
finds versions for each recipe's upstream source. (potential 2 GH calls per feedstock (if on GH))03-auto_tick.xsh
takes each node which is out of date and creates a PR to bring the recipe up to date with the source. This requiresxonsh
and will skip CI for packages who's dependencies are also out of date. (multiple GH api calls)
These scripts will run on Travis from 4 different github repos as daily cron jobs and use doctr
to write the output data (the list of all conda-forge packages and the dependency graph) to the cf-graph repo.
GH rate limit is a major concern for this as there are ~4000 feedstocks and only 5000 API calls per hour.