SMALLWORLD(1)

πŸ“¦
version 7.0.0 Β· 2 versions
, in fedora 43

🌸 SMALLWORLD(1) 🌸

okay bestie, sit down, hydrate, because we're about to talk about smallworld β€” the DOSE Tools girlie that runs the numbers on your dependency graph. this is her manual page. she's a little unhinged, she's very smart, and she WILL tell you the diameter of your network. πŸ’…


✨ NAME ✨

smallworld β€” compute detailed statistic about the dependency graph. that's it, that's the whole job. πŸŽ€


✨ SYNOPSIS ✨

smallworld [option] ... file ...

✨ DESCRIPTION ✨

smallworld computes detailed statistic about the dependency graph. It accepts

(and yeah, the sentence just... ends there in the source material. we love a cliffhanger. 🫠)

πŸ“₯ Input Specification πŸ“₯

Currently supported input types are cudf, debian, rpm, opencsw and eclipse. ✨

The distcheck tool expects its input specifiations in the form type://pathname where type is one of cudf, deb, synthesis, hdlist, csw or eclipse, and pathname is the pathname of a file containing the input. The package metadata found in that file must correspond to the type given in the URI β€” no catfishing, the type has to actually match what's inside the file. 🚨

πŸ“€ Output Specification πŸ“€

The output of smallworld is in YAML format and it is structured as follows :

  • Generic Characteristics β€” Number of vertex and edges of the graph. πŸ‘‘
  • Connectivity Properties β€” The degree of a vertex is the total number of vertices adjacent to the vertex.
  • Average Degree β€” The average degree of a graph G is another measure of how many edges are in set E compared to number of vertices in set V.
  • Zero Degree Vertex β€” The number of vertex that have zero degree. the lonely ones. no edges, no friends, just vibes. πŸ¦‹
  • Density β€” The density of a graph G = (V,E) measures how many edges are in set E compared to the maximum possible number of edges between vertices in set V.
  • Weakly Connected Components β€” The weakly connected components are computed by considering the undirected graph of dependencies. This is a useful measure of the number of isolated components in the graph.
  • Strongly Connected Components β€” A a strongly connected component of a directed graph is a subgraph where all nodes in the subgraph are reachable by all other nodes in the subgraph.

🧚 SmallWorld Properties 🧚

Small world graphs are hightly clustered like regular graphs are lacttices, yet they have typically short distances between pair of vertices like in random graphs. The structural properties are quantified by two metrics: the average path length and the clustering coefficient.

  • Average Shortest Path Length β€” The average shortest path is defined as the average number of steps along the shortest paths for all possible pairs of network nodes. The average path length gives the expected distance between two connected nodes.
  • Average two step reach β€” The average two step reach report the likewood of two vertex be be reachable in two steps.
  • The network diameter is the largest distance between two nodes. The diameter can also be described as the maximum node eccentricity.
  • The network radius is the minimum among the non-zero eccentricites of the nodes in the network.

πŸ‘‘ Centrality Properties πŸ‘‘

okay so here's what the output actually looks like when you let it cook, with all the numbers exactly as given:

  • Generic : Vertex : 22311 Edges : 107796
  • Connectivity : Average Out-Degree : 4.83 Average In-Degree : 4.83
  • Weakly Connected Components : Number of Components WC : 1425 Average Components WC : 15.66 Larges Component WC : 20831
  • Strongly Connected Components : Number of Components SC : 22010 Average Components SC : 1.01 Larges Component SC : 77
  • Small World : Clustering Coefficient : 0.41 Average Shortest Path Length : 3.18 Density : 0.00022 Average two step reach : 14.97
  • Centrality : Centrality Out Degree : 0.00471 Centrality In Degree : 0.46787

✨ OPTIONS ✨

here's the full roster, one bullet per flag, exactly as the page spells them β€” including the fact that every single one of the long ones is documented as taking =item. yes, really. iykyk. πŸ™ˆ

  • -g, --generic β€” =item
  • -p, --scatterplots β€” =item
  • --combine-scatter β€” =item
  • -c, --connectivity β€” =item
  • -m, --components β€” =item
  • -s, --smallworld β€” =item
  • -e, --centrality β€” =item
  • --strong-deps β€” =item
  • --detrans β€” =item
  • --transitive-closure

and then the ones with actual words attached:

  • -v β€” Enable info / warnings / debug messages. This option may be repeated up to three times in order to increase verbosity. stack it like a triple shot espresso, but no more than three times, bestie. β˜•β˜•β˜•
  • -h, --help β€” Display this list of options. the classic. the icon. πŸ’–

✨ EXAMPLE ✨

like, literally just point it at a Packages file and let her eat:

smallworld deb:///var/lib/apt/lists/ftp.fr.debian.org_debian_dists_sid_main_binary-amd64_Packages

✨ AUTHORS ✨

Pietro Abate and Jaap Boender πŸ’œ


✨ SEE ALSO ✨

<http://www.mancoosi.org> is the home page of the Mancoosi project. go say hi. 🫢


aaaand that's the whole page, bestie. this little gem lives in the DOSE Tools manual, dated 2025-07-24 β€” go forth and compute your graph statistics, you absolute main character. πŸŒˆπŸ’…βœ¨

πŸ“¦ where this page comes from