anthropics / s5cmd
Static Component Dependencies

An overview of static code dependencies among source code logical components.

Intro

Static code dependencies refer to the relationships between different modules, libraries, or components in a software system that are established at compile-time rather than at runtime. These dependencies are determined by the code itself, meaning that one module directly references another through imports, includes, or explicit references in the code. Examples include:

  • Library and Module Imports
  • Class Dependencies (Inheritance & Composition)
  • Function and Method Calls
  • Dependency Injection Without Runtime Resolution
Learn more...
  • To learn more about good practices on componentization and dependencies, Sokrates recommends the following resources:
Logical Decompositions Overview

Analyzed system has 1 logical decomposition:

  • primary (13 components)

Logical Decomposition #1: PRIMARY

The decompositions is based on the folder structure at level 1 (relative to the source code root).

Bubble Chart | Tree Map
Component Sizes (Lines of Code)
The "primary" logical decomposition has 13 components.
  • 48 files, 8,617 LOC (59.4% vs. main code).
  • "command" is biggest, containing 54.26% of LOC.
  • "version" is smallest, containing 0.15% of LOC.


command4676 LOC (32%) 25 files
storage2245 LOC (15%) 6 files
benchmark468 LOC (3%) 2 files
bench444 LOC (3%) 1 file
log291 LOC (2%) 3 files
useragent106 LOC (<1%) 1 file
parallel101 LOC (<1%) 4 files
orderedwriter80 LOC (<1%) 1 file
error58 LOC (<1%) 1 file
progressbar58 LOC (<1%) 1 file
strutil56 LOC (<1%) 1 file
ROOT21 LOC (<1%) 1 file
version13 LOC (<1%) 1 file
Static Dependencies
Dependencies among components are static code dependencies among files in different components.
  • Analyzed system has 14 links (arrows) between components.
  • The number on the arrow represents the number of files from referring component that depend on files in referred component.
  • These 14 links contain 61 dependencies.
  • There is 1 place (2 links) with cyclic dependencies (4 file dependencies).
flowchart TB
    n0["parallel"]
    n1["storage"]
    n2["log"]
    n3["error"]
    n4["bench"]
    n5["benchmark"]
    n6["command"]
    n7["version"]
    n8["strutil"]
    n9["useragent"]
    n10["orderedwriter"]
    n11["ROOT"]
    n12["progressbar"]
    n6 -->|"21"| n1
    n6 -->|"16"| n2
    n6 -->|"5"| n0
    n6 -->|"5"| n8
    n1 -->|"3"| n2
    n1 -->|"2"| n8
    n2 -->|"2"| n8
    n1 -->|"1"| n9
    n2 -->|"1"| n1
    n3 -->|"1"| n1
    n6 -->|"1"| n7
    n6 -->|"1"| n12
    n6 -->|"1"| n10
    n9 -->|"1"| n7
    classDef default fill:#808080,stroke:#ffffff,color:#000000;
    classDef highlighted fill:#00b2ee,stroke:#ffffff,color:#000000;
    class n0,n1,n2,n3,n4,n5,n6,n7,n8,n9,n10,n11,n12 highlighted;
    linkStyle 0 stroke:#00688bFF,stroke-width:10px
    linkStyle 1 stroke:#00688bC9,stroke-width:7px
    linkStyle 2 stroke:#00688b70,stroke-width:2px
    linkStyle 3 stroke:#00688b70,stroke-width:2px
    linkStyle 4 stroke:#DC143C5E,stroke-width:1px
    linkStyle 5 stroke:#00688b4C,stroke-width:1px
    linkStyle 6 stroke:#00688b4C,stroke-width:1px
    linkStyle 7 stroke:#00688b4C,stroke-width:1px
    linkStyle 8 stroke:#DC143C4C,stroke-width:1px
    linkStyle 9 stroke:#00688b4C,stroke-width:1px
    linkStyle 10 stroke:#00688b4C,stroke-width:1px
    linkStyle 11 stroke:#00688b4C,stroke-width:1px
    linkStyle 12 stroke:#00688b4C,stroke-width:1px
    linkStyle 13 stroke:#00688b4C,stroke-width:1px



Download: Mermaid (.mmd) (open online Mermaid editor)

Open 2D force graph...
Open 3D force graph...

Show more details about dependencies...
From Component
 --> To Component
From Component
(files with dependencies)
Details
command
  --> storage
21 files, 4298 LOC (91%)
21 source files
command
  --> log
16 files, 3869 LOC (82%)
16 source files
command
  --> parallel
5 files, 2171 LOC (46%)
5 source files
command
  --> strutil
5 files, 869 LOC (18%)
5 source files
storage
  --> log
3 files, 1667 LOC (74%)
3 source files
storage
  --> strutil
2 files, 514 LOC (22%)
2 source files
log
  --> strutil
2 files, 173 LOC (59%)
2 source files
storage
  --> useragent
1 file, 322 LOC (14%)
1 source file
log
  --> storage
1 file, 88 LOC (30%)
1 source file
error
  --> storage
1 file, 58 LOC (100%)
1 source file
command
  --> version
1 file, 17 LOC (<1%)
1 source file
command
  --> progressbar
1 file, 921 LOC (19%)
1 source file
command
  --> orderedwriter
1 file, 132 LOC (2%)
1 source file
useragent
  --> version
1 file, 106 LOC (100%)
1 source file







2026-06-24 10:43