-
Notifications
You must be signed in to change notification settings - Fork 55
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add repo dependency graph #368
Comments
This is from the GitHub API v4 page for the dependency graph. The long and short of it is that viewing the dependency graph through the api is a new feature, and the way that it works may change. We can, however, still use it. |
Update: The scraper tool currently does not allow for the addition of headers to queries. However, in order to use the query for dependencies, we would need to add a custom header. |
A new PR is underway that should make that possible. LLNL/scraper#54 |
It is my understanding that the PR has been merged and I can now use the header, is that correct @LRWeber? |
Yes, but not quite fully. If you clone the repo and use the local copy of the library in your Python environment, then yes, you can start testing with it. However, to be able to utilize this in production, it also needs a formal release to make it available to |
Just published! https://pypi.org/project/llnl-scraper/0.9.0/ |
Yeah, so a thought would be to maybe separate the graphs by |
Shiny... I don't think I have any idea what that's doing from the static image... but it's cool! |
I like that with the legend. Is there any sort of zoom / mouse over? Or is that a second pass sort of thing? |
So, right now, all of the nodes and links have titles similar to the sunburst and zoomable. So, if you wanted to know which two nodes, for instance, you could mouse over a link, though it takes a little finesse. There is no zoom right now because this data is actually all of the repos we have that have dependencies. I can do a zoom of some kind, but it will take a bit of work to make it work. |
I agree, I'm liking the ghost lines |
I like the looks of the new mouseover functionality! It helps to surface more information. Would it be possible to do an opacity change based on the BFS depth? The binary option of highlighted vs ghosted makes the highlighted clusters still feel more disconnected, which is a bit misleading.... It's also unclear to a random user what the criteria is for what gets highlighted. An example might be: I'm not sure how deep our connections go; we probably want to adjust the cutoff accordingly. |
Yes, I can see that. There actually isn't a way to do that with the current implementation, but I can rewrite the BFS code to add that. Right now, it computes depth 1 bfs on a set of nodes iteratively. I will have to actually implement node/line removal to keep track of depth. |
Okay, we could put that as a to-be-added feature. I think it would still be worth getting the current version up in the meantime! My one other concern prior to making it live is the color scheme; The dark, muted red and green don't quite mesh with the rest of the page (plus the issue of red-green color-blind-ness!). |
The furthest two nodes in any connected component are is 11. |
Things to do:
|
@IanLee1521 I am wondering what you think about the graph as it stands right now? This is basically the graph that I was thinking that we couldn't implement. Do you still want me to work on implementing the different types of simpler graphs that we had talked about? I have been trying to implement one such graph, but my approach didn't pay off so I was going to give it a rest until tomorrow. |
Nodes are linked if they are both connected to the same package |
Same coarsening as before, but on the org level |
Very cool, I'm liking this. I think the next big thing is I think we need to split it out to it's own page ( |
Also, what do people think of the org level view with/without unverified orgs? I like the view with unverified orgs better, but there are a lot that are just the names of people, and that is a little bit problematic I think. |
I agree, limiting it to verified only strips away a lot. Couldn't we get just the orgs instead of people? I believe we have 3 identifiable states:
We would just need to filter out any that are missing that |
Yes! That would be much better. I can finally use a "===" in a practical setting. |
Also plan to highlight and possibly number the nodes that are in the tree in the graph. |
Would it be possible to also sort those lists alphabetically? |
It would be interesting to explore adding a dependency graph of repos, perhaps using the GitHub Dependency Graph functionality (now has more languages).
Scraper dependencies: https://github.com/LLNL/scraper/network/dependencies
The text was updated successfully, but these errors were encountered: