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.pywhich finds all the names of the current feedstocks. (#feedstocks/30 GH api calls)01-make_graph.pywhich makes the DAG of packages and their dependencies usingnetworkxwith each recipe represented by a node. Important data from themeta.yamlfor each recipe stuffed into the nodeattrs. (single GH api call per feedstock)02-graph-upstream.pyfinds versions for each recipe's upstream source. (potential 2 GH calls per feedstock (if on GH))03-auto_tick.xshtakes each node which is out of date and creates a PR to bring the recipe up to date with the source. This requiresxonshand 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.