aws / sagemaker-training-toolkit
File Change Frequency

File change frequency (churn) shows the distribution of file updates (days with at least one commit).

Overview
File Change Frequency Overall
  • There are 32 files with 3,120 lines of code.
    • 0 files changed more than 100 times (0 lines of code)
    • 1 file changed 51-100 times (70 lines of code)
    • 0 files changed 21-50 times (0 lines of code)
    • 14 files changed 6-20 times (2,045 lines of code)
    • 17 files changed 1-5 times (1,005 lines of code)
0% | 2% | 0% | 65% | 32%
Legend:
101+
51-100
21-50
6-20
1-5

explore: grouped by folders | grouped by update frequency | data
Contributors Count Frequency Overall
  • There are 32 files with 3,120 lines of code.
    • 0 files changed by more than 25 contributors (0 lines of code)
    • 4 files changed by 11-25 contributors (1,171 lines of code)
    • 3 files changed by 6-10 contributors (390 lines of code)
    • 17 files changed by 2-5 contributors (1,124 lines of code)
    • 8 files changed by 1 contributor (435 lines of code)
0% | 37% | 12% | 36% | 13%
Legend:
26+
11-25
6-10
2-5
1

explore: grouped by folders | grouped by contributors count | data
File Change Frequency per File Extension
py, md, yaml, c, txt, in, ini, cfg, gitignore, h, sh, json
File Change Frequency per Extension
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
py0% | 2% | 0% | 74% | 22%
in0% | 0% | 0% | 100% | 0%
cfg0% | 0% | 0% | 100% | 0%
c0% | 0% | 0% | 0% | 100%
h0% | 0% | 0% | 0% | 100%
File Change Frequency per Logical Decomposition
primary
primary (file change frequency)
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
ROOT0% | 87% | 0% | 12% | 0%
src0% | 0% | 0% | 66% | 33%
Most Frequently Changed Files (Top 32)

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsfirst
contributor
latest
contributor
setup.py
in root
70 2 2018-02-07 2024-08-13 69 24 jonathan.esterhazy@gmail.com pratyush.ismu@gmail.com
process.py
in src/sagemaker_training
260 12 2020-02-13 2023-02-21 20 9 akarpur@amazon.com vinay.burugu@gmail.com
smdataparallel.py
in src/sagemaker_training
287 13 2020-11-18 2023-10-18 20 12 choidan@amazon.com 52712386+ruhanprasad@users....
mpi.py
in src/sagemaker_training
338 20 2020-02-13 2023-06-14 20 12 akarpur@amazon.com gstu1130@gmail.com
environment.py
in src/sagemaker_training
476 64 2020-04-13 2025-01-31 14 12 akarpur@amazon.com 141277478+benieric@users.no...
runner.py
in src/sagemaker_training
122 3 2020-02-13 2022-10-20 13 5 akarpur@amazon.com 35979860+satishpasumarthi@u...
entry_point.py
in src/sagemaker_training
47 4 2020-02-10 2023-10-20 10 3 akarpur@amazon.com 89424143+mufaddal-rohawala@...
__init__.py
in src/sagemaker_training
79 - 2020-02-10 2024-09-04 10 6 akarpur@amazon.com andjsmi@amazon.com
modules.py
in src/sagemaker_training
109 7 2020-02-13 2024-08-14 10 4 akarpur@amazon.com 96764005+bhaoz@users.norepl...
trainer.py
in src/sagemaker_training
85 3 2020-02-13 2023-10-16 9 5 akarpur@amazon.com mr.xin.wang@gmail.com
params.py
in src/sagemaker_training
51 - 2020-02-13 2022-08-15 7 6 akarpur@amazon.com lokravi@amazon.com
torch_distributed.py
in src/sagemaker_training
100 4 2022-10-20 2023-10-16 7 5 35979860+satishpasumarthi@u... 52712386+ruhanprasad@users....
cfg
setup.cfg
in root
4 - 2018-02-07 2018-06-01 6 3 jonathan.esterhazy@gmail.com mvs@amazon.com
in
6 - 2018-05-30 2020-04-20 6 4 mvs.usp@gmail.com akarpur@amazon.com
mapping.py
in src/sagemaker_training
81 10 2020-02-13 2022-10-27 6 3 akarpur@amazon.com 35979860+satishpasumarthi@u...
errors.py
in src/sagemaker_training
53 4 2020-02-13 2023-01-12 5 3 akarpur@amazon.com vinay.burugu@gmail.com
encoders.py
in src/sagemaker_training
88 9 2020-02-13 2021-10-07 5 2 akarpur@amazon.com 35979860+satishpasumarthi@u...
_entry_point_type.py
in src/sagemaker_training
18 1 2020-02-10 2020-08-03 4 1 akarpur@amazon.com akarpur@amazon.com
functions.py
in src/sagemaker_training
22 3 2020-02-13 2021-10-07 4 2 akarpur@amazon.com 35979860+satishpasumarthi@u...
logging_config.py
in src/sagemaker_training
23 3 2020-02-13 2020-10-26 4 2 akarpur@amazon.com chuyangdeng@gmail.com
files.py
in src/sagemaker_training
65 8 2020-02-13 2022-01-29 4 2 akarpur@amazon.com 35979860+satishpasumarthi@u...
intermediate_output.py
in src/sagemaker_training
96 5 2020-02-13 2021-10-07 4 2 akarpur@amazon.com 35979860+satishpasumarthi@u...
1 - 2018-05-01 2020-04-07 3 3 mvs.usp@gmail.com akarpur@amazon.com
train.py
in src/sagemaker_training/cli
5 1 2020-02-10 2020-04-11 3 1 akarpur@amazon.com akarpur@amazon.com
content_types.py
in src/sagemaker_training
6 - 2020-02-13 2020-04-11 3 1 akarpur@amazon.com akarpur@amazon.com
recordio.py
in src/sagemaker_training
116 9 2020-02-13 2021-10-07 3 2 akarpur@amazon.com 35979860+satishpasumarthi@u...
timeout.py
in src/sagemaker_training
15 1 2020-02-13 2020-04-11 2 1 akarpur@amazon.com akarpur@amazon.com
gethostname.c
in src/sagemaker_training/c
91 4 2020-02-10 2020-02-14 2 1 akarpur@amazon.com akarpur@amazon.com
pytorch_xla.py
in src/sagemaker_training
106 8 2022-08-15 2023-01-12 2 2 lokravi@amazon.com vinay.burugu@gmail.com
__init__.py
in src/sagemaker_training/cli
1 - 2020-02-10 2020-02-10 1 1 akarpur@amazon.com akarpur@amazon.com
jsmn.h
in src/sagemaker_training/c
39 - 2020-02-10 2020-02-10 1 1 akarpur@amazon.com akarpur@amazon.com
jsmn.c
in src/sagemaker_training/c
260 5 2020-02-10 2020-02-10 1 1 akarpur@amazon.com akarpur@amazon.com
Files With Most Contributors (Top 32)
Based on the number of unique email addresses found in commits.

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsfirst
contributor
latest
contributor
setup.py
in root
70 2 2018-02-07 2024-08-13 69 24 jonathan.esterhazy@gmail.com pratyush.ismu@gmail.com
mpi.py
in src/sagemaker_training
338 20 2020-02-13 2023-06-14 20 12 akarpur@amazon.com gstu1130@gmail.com
smdataparallel.py
in src/sagemaker_training
287 13 2020-11-18 2023-10-18 20 12 choidan@amazon.com 52712386+ruhanprasad@users....
environment.py
in src/sagemaker_training
476 64 2020-04-13 2025-01-31 14 12 akarpur@amazon.com 141277478+benieric@users.no...
process.py
in src/sagemaker_training
260 12 2020-02-13 2023-02-21 20 9 akarpur@amazon.com vinay.burugu@gmail.com
__init__.py
in src/sagemaker_training
79 - 2020-02-10 2024-09-04 10 6 akarpur@amazon.com andjsmi@amazon.com
params.py
in src/sagemaker_training
51 - 2020-02-13 2022-08-15 7 6 akarpur@amazon.com lokravi@amazon.com
runner.py
in src/sagemaker_training
122 3 2020-02-13 2022-10-20 13 5 akarpur@amazon.com 35979860+satishpasumarthi@u...
trainer.py
in src/sagemaker_training
85 3 2020-02-13 2023-10-16 9 5 akarpur@amazon.com mr.xin.wang@gmail.com
torch_distributed.py
in src/sagemaker_training
100 4 2022-10-20 2023-10-16 7 5 35979860+satishpasumarthi@u... 52712386+ruhanprasad@users....
modules.py
in src/sagemaker_training
109 7 2020-02-13 2024-08-14 10 4 akarpur@amazon.com 96764005+bhaoz@users.norepl...
in
6 - 2018-05-30 2020-04-20 6 4 mvs.usp@gmail.com akarpur@amazon.com
entry_point.py
in src/sagemaker_training
47 4 2020-02-10 2023-10-20 10 3 akarpur@amazon.com 89424143+mufaddal-rohawala@...
mapping.py
in src/sagemaker_training
81 10 2020-02-13 2022-10-27 6 3 akarpur@amazon.com 35979860+satishpasumarthi@u...
cfg
setup.cfg
in root
4 - 2018-02-07 2018-06-01 6 3 jonathan.esterhazy@gmail.com mvs@amazon.com
errors.py
in src/sagemaker_training
53 4 2020-02-13 2023-01-12 5 3 akarpur@amazon.com vinay.burugu@gmail.com
1 - 2018-05-01 2020-04-07 3 3 mvs.usp@gmail.com akarpur@amazon.com
encoders.py
in src/sagemaker_training
88 9 2020-02-13 2021-10-07 5 2 akarpur@amazon.com 35979860+satishpasumarthi@u...
intermediate_output.py
in src/sagemaker_training
96 5 2020-02-13 2021-10-07 4 2 akarpur@amazon.com 35979860+satishpasumarthi@u...
functions.py
in src/sagemaker_training
22 3 2020-02-13 2021-10-07 4 2 akarpur@amazon.com 35979860+satishpasumarthi@u...
logging_config.py
in src/sagemaker_training
23 3 2020-02-13 2020-10-26 4 2 akarpur@amazon.com chuyangdeng@gmail.com
files.py
in src/sagemaker_training
65 8 2020-02-13 2022-01-29 4 2 akarpur@amazon.com 35979860+satishpasumarthi@u...
recordio.py
in src/sagemaker_training
116 9 2020-02-13 2021-10-07 3 2 akarpur@amazon.com 35979860+satishpasumarthi@u...
pytorch_xla.py
in src/sagemaker_training
106 8 2022-08-15 2023-01-12 2 2 lokravi@amazon.com vinay.burugu@gmail.com
_entry_point_type.py
in src/sagemaker_training
18 1 2020-02-10 2020-08-03 4 1 akarpur@amazon.com akarpur@amazon.com
content_types.py
in src/sagemaker_training
6 - 2020-02-13 2020-04-11 3 1 akarpur@amazon.com akarpur@amazon.com
train.py
in src/sagemaker_training/cli
5 1 2020-02-10 2020-04-11 3 1 akarpur@amazon.com akarpur@amazon.com
gethostname.c
in src/sagemaker_training/c
91 4 2020-02-10 2020-02-14 2 1 akarpur@amazon.com akarpur@amazon.com
timeout.py
in src/sagemaker_training
15 1 2020-02-13 2020-04-11 2 1 akarpur@amazon.com akarpur@amazon.com
jsmn.h
in src/sagemaker_training/c
39 - 2020-02-10 2020-02-10 1 1 akarpur@amazon.com akarpur@amazon.com
jsmn.c
in src/sagemaker_training/c
260 5 2020-02-10 2020-02-10 1 1 akarpur@amazon.com akarpur@amazon.com
__init__.py
in src/sagemaker_training/cli
1 - 2020-02-10 2020-02-10 1 1 akarpur@amazon.com akarpur@amazon.com
Files With Least Contributors (Top 32)
Based on the number of unique email addresses found in commits.

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsfirst
contributor
latest
contributor
jsmn.c
in src/sagemaker_training/c
260 5 2020-02-10 2020-02-10 1 1 akarpur@amazon.com akarpur@amazon.com
gethostname.c
in src/sagemaker_training/c
91 4 2020-02-10 2020-02-14 2 1 akarpur@amazon.com akarpur@amazon.com
jsmn.h
in src/sagemaker_training/c
39 - 2020-02-10 2020-02-10 1 1 akarpur@amazon.com akarpur@amazon.com
_entry_point_type.py
in src/sagemaker_training
18 1 2020-02-10 2020-08-03 4 1 akarpur@amazon.com akarpur@amazon.com
timeout.py
in src/sagemaker_training
15 1 2020-02-13 2020-04-11 2 1 akarpur@amazon.com akarpur@amazon.com
content_types.py
in src/sagemaker_training
6 - 2020-02-13 2020-04-11 3 1 akarpur@amazon.com akarpur@amazon.com
train.py
in src/sagemaker_training/cli
5 1 2020-02-10 2020-04-11 3 1 akarpur@amazon.com akarpur@amazon.com
__init__.py
in src/sagemaker_training/cli
1 - 2020-02-10 2020-02-10 1 1 akarpur@amazon.com akarpur@amazon.com
recordio.py
in src/sagemaker_training
116 9 2020-02-13 2021-10-07 3 2 akarpur@amazon.com 35979860+satishpasumarthi@u...
pytorch_xla.py
in src/sagemaker_training
106 8 2022-08-15 2023-01-12 2 2 lokravi@amazon.com vinay.burugu@gmail.com
intermediate_output.py
in src/sagemaker_training
96 5 2020-02-13 2021-10-07 4 2 akarpur@amazon.com 35979860+satishpasumarthi@u...
encoders.py
in src/sagemaker_training
88 9 2020-02-13 2021-10-07 5 2 akarpur@amazon.com 35979860+satishpasumarthi@u...
files.py
in src/sagemaker_training
65 8 2020-02-13 2022-01-29 4 2 akarpur@amazon.com 35979860+satishpasumarthi@u...
logging_config.py
in src/sagemaker_training
23 3 2020-02-13 2020-10-26 4 2 akarpur@amazon.com chuyangdeng@gmail.com
functions.py
in src/sagemaker_training
22 3 2020-02-13 2021-10-07 4 2 akarpur@amazon.com 35979860+satishpasumarthi@u...
mapping.py
in src/sagemaker_training
81 10 2020-02-13 2022-10-27 6 3 akarpur@amazon.com 35979860+satishpasumarthi@u...
errors.py
in src/sagemaker_training
53 4 2020-02-13 2023-01-12 5 3 akarpur@amazon.com vinay.burugu@gmail.com
entry_point.py
in src/sagemaker_training
47 4 2020-02-10 2023-10-20 10 3 akarpur@amazon.com 89424143+mufaddal-rohawala@...
cfg
setup.cfg
in root
4 - 2018-02-07 2018-06-01 6 3 jonathan.esterhazy@gmail.com mvs@amazon.com
1 - 2018-05-01 2020-04-07 3 3 mvs.usp@gmail.com akarpur@amazon.com
modules.py
in src/sagemaker_training
109 7 2020-02-13 2024-08-14 10 4 akarpur@amazon.com 96764005+bhaoz@users.norepl...
in
6 - 2018-05-30 2020-04-20 6 4 mvs.usp@gmail.com akarpur@amazon.com
runner.py
in src/sagemaker_training
122 3 2020-02-13 2022-10-20 13 5 akarpur@amazon.com 35979860+satishpasumarthi@u...
torch_distributed.py
in src/sagemaker_training
100 4 2022-10-20 2023-10-16 7 5 35979860+satishpasumarthi@u... 52712386+ruhanprasad@users....
trainer.py
in src/sagemaker_training
85 3 2020-02-13 2023-10-16 9 5 akarpur@amazon.com mr.xin.wang@gmail.com
__init__.py
in src/sagemaker_training
79 - 2020-02-10 2024-09-04 10 6 akarpur@amazon.com andjsmi@amazon.com
params.py
in src/sagemaker_training
51 - 2020-02-13 2022-08-15 7 6 akarpur@amazon.com lokravi@amazon.com
process.py
in src/sagemaker_training
260 12 2020-02-13 2023-02-21 20 9 akarpur@amazon.com vinay.burugu@gmail.com
environment.py
in src/sagemaker_training
476 64 2020-04-13 2025-01-31 14 12 akarpur@amazon.com 141277478+benieric@users.no...
mpi.py
in src/sagemaker_training
338 20 2020-02-13 2023-06-14 20 12 akarpur@amazon.com gstu1130@gmail.com
smdataparallel.py
in src/sagemaker_training
287 13 2020-11-18 2023-10-18 20 12 choidan@amazon.com 52712386+ruhanprasad@users....
setup.py
in root
70 2 2018-02-07 2024-08-13 69 24 jonathan.esterhazy@gmail.com pratyush.ismu@gmail.com
Correlations

File Size vs. Number of Changes: 32 points

src/sagemaker_training/environment.py x: 476 lines of code y: 14 # changes src/sagemaker_training/__init__.py x: 79 lines of code y: 10 # changes src/sagemaker_training/modules.py x: 109 lines of code y: 10 # changes setup.py x: 70 lines of code y: 69 # changes src/sagemaker_training/entry_point.py x: 47 lines of code y: 10 # changes src/sagemaker_training/smdataparallel.py x: 287 lines of code y: 20 # changes src/sagemaker_training/torch_distributed.py x: 100 lines of code y: 7 # changes src/sagemaker_training/trainer.py x: 85 lines of code y: 9 # changes src/sagemaker_training/mpi.py x: 338 lines of code y: 20 # changes src/sagemaker_training/process.py x: 260 lines of code y: 20 # changes src/sagemaker_training/errors.py x: 53 lines of code y: 5 # changes src/sagemaker_training/pytorch_xla.py x: 106 lines of code y: 2 # changes src/sagemaker_training/mapping.py x: 81 lines of code y: 6 # changes src/sagemaker_training/runner.py x: 122 lines of code y: 13 # changes src/sagemaker_training/params.py x: 51 lines of code y: 7 # changes src/sagemaker_training/files.py x: 65 lines of code y: 4 # changes src/sagemaker_training/encoders.py x: 88 lines of code y: 5 # changes src/sagemaker_training/functions.py x: 22 lines of code y: 4 # changes src/sagemaker_training/intermediate_output.py x: 96 lines of code y: 4 # changes src/sagemaker_training/recordio.py x: 116 lines of code y: 3 # changes src/sagemaker_training/logging_config.py x: 23 lines of code y: 4 # changes src/sagemaker_training/_entry_point_type.py x: 18 lines of code y: 4 # changes MANIFEST.in x: 6 lines of code y: 6 # changes src/sagemaker_training/cli/train.py x: 5 lines of code y: 3 # changes src/sagemaker_training/content_types.py x: 6 lines of code y: 3 # changes src/sagemaker_training/timeout.py x: 15 lines of code y: 2 # changes src/__init__.py x: 1 lines of code y: 3 # changes src/sagemaker_training/c/gethostname.c x: 91 lines of code y: 2 # changes src/sagemaker_training/c/jsmn.c x: 260 lines of code y: 1 # changes src/sagemaker_training/c/jsmn.h x: 39 lines of code y: 1 # changes src/sagemaker_training/cli/__init__.py x: 1 lines of code y: 1 # changes setup.cfg x: 4 lines of code y: 6 # changes
69.0
# changes
  min: 1.0
  average: 8.69
  25th percentile: 3.0
  median: 5.0
  75th percentile: 10.0
  max: 69.0
0 476.0
lines of code
min: 1.0 | average: 97.5 | 25th percentile: 19.0 | median: 74.5 | 75th percentile: 108.25 | max: 476.0

Number of Contributors vs. Number of Changes: 32 points

src/sagemaker_training/environment.py x: 12 # contributors y: 14 # changes src/sagemaker_training/__init__.py x: 6 # contributors y: 10 # changes src/sagemaker_training/modules.py x: 4 # contributors y: 10 # changes setup.py x: 24 # contributors y: 69 # changes src/sagemaker_training/entry_point.py x: 3 # contributors y: 10 # changes src/sagemaker_training/smdataparallel.py x: 12 # contributors y: 20 # changes src/sagemaker_training/torch_distributed.py x: 5 # contributors y: 7 # changes src/sagemaker_training/trainer.py x: 5 # contributors y: 9 # changes src/sagemaker_training/process.py x: 9 # contributors y: 20 # changes src/sagemaker_training/errors.py x: 3 # contributors y: 5 # changes src/sagemaker_training/pytorch_xla.py x: 2 # contributors y: 2 # changes src/sagemaker_training/mapping.py x: 3 # contributors y: 6 # changes src/sagemaker_training/runner.py x: 5 # contributors y: 13 # changes src/sagemaker_training/params.py x: 6 # contributors y: 7 # changes src/sagemaker_training/files.py x: 2 # contributors y: 4 # changes src/sagemaker_training/encoders.py x: 2 # contributors y: 5 # changes src/sagemaker_training/recordio.py x: 2 # contributors y: 3 # changes src/sagemaker_training/_entry_point_type.py x: 1 # contributors y: 4 # changes MANIFEST.in x: 4 # contributors y: 6 # changes src/sagemaker_training/cli/train.py x: 1 # contributors y: 3 # changes src/sagemaker_training/timeout.py x: 1 # contributors y: 2 # changes src/__init__.py x: 3 # contributors y: 3 # changes src/sagemaker_training/c/jsmn.c x: 1 # contributors y: 1 # changes
69.0
# changes
  min: 1.0
  average: 8.69
  25th percentile: 3.0
  median: 5.0
  75th percentile: 10.0
  max: 69.0
0 24.0
# contributors
min: 1.0 | average: 4.41 | 25th percentile: 1.25 | median: 3.0 | 75th percentile: 5.0 | max: 24.0

Number of Contributors vs. File Size: 32 points

src/sagemaker_training/environment.py x: 12 # contributors y: 476 lines of code src/sagemaker_training/__init__.py x: 6 # contributors y: 79 lines of code src/sagemaker_training/modules.py x: 4 # contributors y: 109 lines of code setup.py x: 24 # contributors y: 70 lines of code src/sagemaker_training/entry_point.py x: 3 # contributors y: 47 lines of code src/sagemaker_training/smdataparallel.py x: 12 # contributors y: 287 lines of code src/sagemaker_training/torch_distributed.py x: 5 # contributors y: 100 lines of code src/sagemaker_training/trainer.py x: 5 # contributors y: 85 lines of code src/sagemaker_training/mpi.py x: 12 # contributors y: 338 lines of code src/sagemaker_training/process.py x: 9 # contributors y: 260 lines of code src/sagemaker_training/errors.py x: 3 # contributors y: 53 lines of code src/sagemaker_training/pytorch_xla.py x: 2 # contributors y: 106 lines of code src/sagemaker_training/mapping.py x: 3 # contributors y: 81 lines of code src/sagemaker_training/runner.py x: 5 # contributors y: 122 lines of code src/sagemaker_training/params.py x: 6 # contributors y: 51 lines of code src/sagemaker_training/files.py x: 2 # contributors y: 65 lines of code src/sagemaker_training/encoders.py x: 2 # contributors y: 88 lines of code src/sagemaker_training/functions.py x: 2 # contributors y: 22 lines of code src/sagemaker_training/intermediate_output.py x: 2 # contributors y: 96 lines of code src/sagemaker_training/recordio.py x: 2 # contributors y: 116 lines of code src/sagemaker_training/logging_config.py x: 2 # contributors y: 23 lines of code src/sagemaker_training/_entry_point_type.py x: 1 # contributors y: 18 lines of code MANIFEST.in x: 4 # contributors y: 6 lines of code src/sagemaker_training/cli/train.py x: 1 # contributors y: 5 lines of code src/sagemaker_training/content_types.py x: 1 # contributors y: 6 lines of code src/sagemaker_training/timeout.py x: 1 # contributors y: 15 lines of code src/__init__.py x: 3 # contributors y: 1 lines of code src/sagemaker_training/c/gethostname.c x: 1 # contributors y: 91 lines of code src/sagemaker_training/c/jsmn.c x: 1 # contributors y: 260 lines of code src/sagemaker_training/c/jsmn.h x: 1 # contributors y: 39 lines of code src/sagemaker_training/cli/__init__.py x: 1 # contributors y: 1 lines of code setup.cfg x: 3 # contributors y: 4 lines of code
476.0
lines of code
  min: 1.0
  average: 97.5
  25th percentile: 19.0
  median: 74.5
  75th percentile: 108.25
  max: 476.0
0 24.0
# contributors
min: 1.0 | average: 4.41 | 25th percentile: 1.25 | median: 3.0 | 75th percentile: 5.0 | max: 24.0