-
-
Notifications
You must be signed in to change notification settings - Fork 5.6k
Closed
Labels
stdlibJulia's standard libraryJulia's standard library
Description
Below is the dependency graph of our stdlib:
There are a few unfortunate dependencies. One for example is the Test --> Distributed --> LinearAlgebra, which means that you cannot use the Test stdlib without having the LinearAlgebra stdlib.
Perhaps some refactorings to avoid this would be useful. Test uses only myid
from Distributed for example.
Figure created with:
cd("/Users/kristoffer/julia/stdlib")
import TOML
using LightGraphs
using TikzGraphs
using TikzPictures
const STDLIB_DIR = "."
const STDLIBS = readdir(STDLIB_DIR)
deps = Dict{String, Int}()
for (i, stdlib) in enumerate(STDLIBS)
deps[stdlib] = i
end
g = LightGraphs.SimpleGraphs.SimpleDiGraph(length(STDLIBS))
for (i, stdlib) in enumerate(STDLIBS)
proj = TOML.parsefile(joinpath(STDLIB_DIR, stdlib, "Project.toml"))
if haskey(proj, "deps")
for (stdlib_dep, uuid) in proj["deps"]
add_edge!(g, deps[stdlib], deps[stdlib_dep])
end
end
end
t = TikzGraphs.plot(g, Layouts.SimpleNecklace(), STDLIBS)
TikzPictures.save(SVG("graph"), t)
StefanKarpinski, JeffBezanson, quinnj, Sacha0, ararslan and 10 more
Metadata
Metadata
Assignees
Labels
stdlibJulia's standard libraryJulia's standard library