Nodes and Edges (Ovals and Arrows):
Nodes represent a package and a directed edge (arrow) points to the package on which it depends. Green and light yellow nodes are packages belonging to the "Top 50" list, bright yellow nodes are packages not in the "Top 50" but are dependencies of packages in the "Top 50".
Initially, I collected 1122 packages (in July 2016)
which is just too big to visualize efficiently
but not impossible, I could safely generate a graph of Top 500 nodes
but displaying it becomes a problem (see "Dependency Networks"). To
wrap your head around the figures: the table below shows the number of
dependents which is number of arrows pointing to that particular node.
The "Top 50" is much more feasible to display and shows enough
information dependency strategies when developing packages for Lua. The
values below are based on the listed dependencies on
luarocks.org.
Graph generated using networkx and Graphviz. Scroll your mouse over the graphs to zoom in.
Top Dependencies (in desc. order):
Package Name | # Dependents |
---|---|
LuaSocket | 95 |
LuaFileSystem | 55 |
lua-cjson | 39 |
LPeg | 38 |
busted | 25 |
LuaSec | 23 |
LuaCrypto | 17 |
luaposix | 16 |
penlight | 16 |
lusty | 12 |
date | 12 |
LuaBitOp | 11 |
Copas | 11 |
lapis | 11 |
dromozoa-commons | 11 |
luajson | 11 |
bit32 | 11 |
dkjson | 10 |
ansicolors | 10 |
lbase64 | 9 |
lua-resty-http | 9 |
lluv | 9 |
luaossl | 8 |
moonscript | 8 |
LuaExpat | 8 |
WSAPI | 7 |
argparse | 7 |
lualogging | 7 |
MD5 | 7 |
mjolnir.fnutils | 7 |
luv | 7 |
hotswap | 6 |
lua-ev | 6 |
stdlib | 6 |
lustache | 6 |
yaml | 6 |
lua-TestMore | 6 |
mjolnir.alert | 6 |
mjolnir.application | 6 |
Cosmo | 5 |
Markdown | 5 |
WSAPI-Xavante | 5 |
lua-MessagePack | 5 |
lub | 5 |
Xavante | 5 |
mimetypes | 5 |
lua-path | 5 |
inspect | 5 |
LOOP | 4 |
cqueues | 4 |