File Complexity Overall
  • There are 96 files with units, with 22,962 lines of code.
    • 0 very complex files (McCabe index sum 251+; 0 lines of code)
    • 0 complex files (McCabe index sum 126-250; 0 lines of code)
    • 7 medium complex files (McCabe index sum 51-125; 3,720 lines of code)
    • 22 slightly complex files (McCabe index sum 26-50; 9,400 lines of code)
    • 67 simple files (McCabe index sum 1-25; 9,842 lines of code)
  • 112 main files have no units (e.g. languages without unit analysis, or files without functions) and are not classified.
system0% | 0% | 16% | 40% | 42%
Legend:
251+
126-250
51-125
26-50
1-25


explore: grouped by folders | grouped by complexity
File Complexity per Extension
251+
126-250
51-125
26-50
1-25
py0% | 0% | 14% | 47% | 38%
tsx0% | 0% | 38% | 0% | 61%
ts0% | 0% | 0% | 26% | 73%
File Complexity per Logical Decomposition
primary
251+
126-250
51-125
26-50
1-25
neuron_explainer0% | 0% | 14% | 47% | 38%
neuron_viewer0% | 0% | 26% | 8% | 65%
Most Complex Files (Top 50)

The McCabe index of a file grows with its size: per 100 lines tells a large but plain file from a dense one, and most complex unit whether the complexity sits in one unit or is spread over many.

File# lines# unitsMcCabe index
(sum)
per 100
lines
most complex
unit
activations_and_metadata.py
in neuron_explainer/activations/derived_scalars
405 33 69 17 13
derived_scalar_store.py
in neuron_explainer/activations/derived_scalars
534 42 68 13 8
transformer.py
in neuron_explainer/models
522 52 68 13 4
hooks.py
in neuron_explainer/models
230 39 67 29 6
NodeTable.tsx
in neuron_viewer/src/TransformerDebugger/cards/node_table
976 15 62 6 17
scalar_deriver.py
in neuron_explainer/activations/derived_scalars
357 41 54 15 5
attention.py
in neuron_explainer/activations/derived_scalars
696 41 53 8 12
model_component_registry.py
in neuron_explainer/models
376 19 50 13 11
reconstituter_class.py
in neuron_explainer/activations/derived_scalars
634 44 47 7 2
model_context.py
in neuron_explainer/models
306 37 47 15 4
derived_scalar_computation.py
in neuron_explainer/activation_server
993 34 47 5 6
types.ts
in neuron_viewer/src
123 4 45 37 12
indexing.py
in neuron_explainer/activations/derived_scalars
422 34 44 10 4
postprocessing.py
in neuron_explainer/activations/derived_scalars
556 33 43 8 6
autoencoder_context.py
in neuron_explainer/models
218 21 40 18 7
interactive_model.py
in neuron_explainer/activation_server
1106 33 40 4 3
explainer.py
in neuron_explainer/explanations
419 17 39 9 10
fast_dataclasses.py
in neuron_explainer/fast_dataclasses
88 8 39 44 24
autoencoder.py
in neuron_explainer/activations/derived_scalars
416 34 38 9 3
read_routes.py
in neuron_explainer/activation_server
375 20 36 10 9
multi_pass_scalar_deriver.py
in neuron_explainer/activations/derived_scalars
254 30 34 13 5
urlParams.ts
in neuron_viewer/src/TransformerDebugger/utils
194 16 34 18 5
reconstituted.py
in neuron_explainer/activations/derived_scalars
345 27 28 8 2
config.py
in neuron_explainer/activations/derived_scalars
129 8 27 21 13
edge_attribution.py
in neuron_explainer/activations/derived_scalars
429 24 27 6 3
derived_scalar_types.py
in neuron_explainer/activations/derived_scalars
827 14 26 3 5
direct_effects.py
in neuron_explainer/activations/derived_scalars
416 23 26 6 3
locations.py
in neuron_explainer/activations/derived_scalars
188 16 26 14 8
simulator.py
in neuron_explainer/explanations
586 18 26 4 3
prompt_builder.py
in neuron_explainer/explanations
73 5 23 32 15
readRequests.ts
in neuron_viewer/src/requests
116 4 23 20 17
file_utils.py
in neuron_explainer
63 5 22 35 11
multi_group.py
in neuron_explainer/activations/derived_scalars
195 15 20 10 4
activation_records.py
in neuron_explainer/activations
119 12 20 17 4
calibrated_simulator.py
in neuron_explainer/explanations
116 13 19 16 4
raw_activations.py
in neuron_explainer/activations/derived_scalars
306 18 18 6 1
hook_graph.py
in neuron_explainer/activations
245 16 18 7 2
download_from_hf.py
in neuron_explainer/scripts
84 4 18 21 12
nodePage.tsx
in neuron_viewer/src
185 6 18 10 3
explanations.py
in neuron_explainer/explanations
136 6 17 13 12
dst_helpers.py
in neuron_explainer/activation_server
75 7 17 23 8
paths.ts
in neuron_viewer/src/requests
50 4 17 34 13
autoencoder.py
in neuron_explainer/models
105 15 16 15 2
nodes.tsx
in neuron_viewer/src/TransformerDebugger/utils
97 9 16 16 3
LogitsDisplay.tsx
in neuron_viewer/src/TransformerDebugger/cards
287 4 15 5 9
CancelablePromise.ts
in neuron_viewer/src/client/core
108 7 14 13 7
residual.py
in neuron_explainer/activations/derived_scalars
237 13 13 5 1
activations.py
in neuron_explainer/activations
154 11 13 8 2
api_client.py
in neuron_explainer
111 3 13 12 7
requests_and_responses.py
in neuron_explainer/activation_server
337 4 13 4 7
About This Analysis
  • File complexity is the sum of the McCabe indexes (conditional complexity) of the units (methods, functions...) in a file.
  • Files are classified in five categories based on that sum: 1-25 (simple files), 26-50 (slightly complex files), 51-125 (medium complex files), 126-250 (complex files), 251+ (very complex files). The default bands are five times the unit complexity bands, as a file is a group of units.
  • Only main code files with units are classified. Files without units (languages without unit analysis, or files without functions) have no complexity to measure and are left out rather than counted as simple.
  • A very complex file holds many decisions, which often means it has too many responsibilities: a candidate to split, and a place where changes need more testing.
Learn more...