GoogleCloudPlatform / gsutil
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 138 files with 31,147 lines of code.
    • 8 files changed more than 100 times (6,347 lines of code)
    • 12 files changed 51-100 times (6,022 lines of code)
    • 37 files changed 21-50 times (9,302 lines of code)
    • 56 files changed 6-20 times (8,220 lines of code)
    • 25 files changed 1-5 times (1,256 lines of code)
20% | 19% | 29% | 26% | 4%
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 138 files with 31,147 lines of code.
    • 6 files changed by more than 25 contributors (5,702 lines of code)
    • 37 files changed by 11-25 contributors (12,768 lines of code)
    • 34 files changed by 6-10 contributors (5,601 lines of code)
    • 55 files changed by 2-5 contributors (6,990 lines of code)
    • 6 files changed by 1 contributor (86 lines of code)
18% | 40% | 17% | 22% | <1%
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, cfg, sh, md, json, txt, ps1, in, gitignore, bat, gitmodules, yaml
File Change Frequency per Extension
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
py20% | 19% | 29% | 26% | 4%
in0% | 0% | 0% | 100% | 0%
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
gslib20% | 19% | 29% | 26% | 4%
ROOT45% | 0% | 45% | 9% | 0%
Most Frequently Changed Files (Top 50)

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsfirst
contributor
latest
contributor
cp.py
in gslib/commands
577 9 2011-11-19 2025-03-26 282 35 mfschwartz@google.com margubur@google.com
command.py
in gslib
1409 73 2010-09-08 2023-01-25 186 27 mfschwartz@google.com rrauber@google.com
config.py
in gslib/commands
467 7 2011-11-19 2023-09-11 159 34 mfschwartz@google.com mustafauzun0@gmail.com
rsync.py
in gslib/commands
976 27 2014-02-18 2023-10-24 145 28 thobrla@google.com thomasmaclean@google.com
1864 68 2014-01-31 2024-04-30 136 33 thobrla@google.com 150442997+googlyrahman@user...
ls.py
in gslib/commands
409 3 2011-11-19 2023-08-02 113 27 mfschwartz@google.com thomasmaclean@google.com
__main__.py
in gslib
549 16 2013-03-13 2024-04-17 111 25 jterrace@gmail.com 150442997+googlyrahman@user...
setup.py
in root
96 4 2012-01-12 2024-12-09 110 21 marccohen@google.com sameershk@google.com
1526 56 2014-01-31 2022-10-13 92 20 thobrla@google.com rrauber@google.com
perfdiag.py
in gslib/commands
1501 39 2012-12-13 2024-10-23 90 18 jterrace@google.com sameershk@google.com
rm.py
in gslib/commands
218 6 2011-11-19 2023-08-02 86 17 mfschwartz@google.com thomasmaclean@google.com
mb.py
in gslib/commands
245 2 2011-11-19 2025-03-26 84 20 mfschwartz@google.com pujawadare@google.com
329 13 2011-11-19 2023-08-02 70 18 mfschwartz@google.com thomasmaclean@google.com
388 25 2010-08-30 2022-12-20 69 10 mfschwartz@google.com thomasmaclean@google.com
acl.py
in gslib/commands
316 12 2013-08-05 2024-05-24 68 22 zwilt@google.com 144651627+kautikdk@users.no...
update.py
in gslib/commands
287 5 2011-11-19 2021-09-10 63 12 mfschwartz@google.com thomasmaclean@google.com
signurl.py
in gslib/commands
447 10 2014-02-07 2024-10-23 63 22 jrdn.fish@gmail.com sameershk@google.com
setmeta.py
in gslib/commands
232 7 2012-08-05 2023-09-21 60 16 mfschwartz@google.com nstock@google.com
notification.py
in gslib/commands
460 13 2013-08-05 2023-08-02 54 18 zwilt@google.com thomasmaclean@google.com
mv.py
in gslib/commands
73 2 2011-11-19 2025-04-15 52 18 mfschwartz@google.com margubur@google.com
defacl.py
in gslib/commands
230 8 2013-08-05 2023-08-02 49 17 zwilt@google.com thomasmaclean@google.com
command_opts.py
in gslib/addlhelp
16 - 2012-02-22 2023-09-21 46 15 mfschwartz@google.com nstock@google.com
help.py
in gslib/commands
158 3 2011-11-19 2021-12-08 46 15 mfschwartz@google.com 44721098+rebecca-pete@users...
version.py
in gslib/commands
131 3 2011-11-19 2022-09-06 43 11 mfschwartz@google.com thomasmaclean@google.com
339 18 2012-02-18 2022-03-10 42 9 mfschwartz@google.com 66492516+nickgoog@users.nor...
449 50 2014-01-31 2023-06-05 42 17 thobrla@google.com thomasmaclean@google.com
copy_helper.py
in gslib/utils
2543 75 2018-04-11 2024-10-23 42 16 houglum@google.com sameershk@google.com
logging.py
in gslib/commands
208 4 2013-08-05 2024-05-24 41 15 zwilt@google.com 144651627+kautikdk@users.no...
cat.py
in gslib/commands
79 1 2011-11-19 2023-08-02 39 13 mfschwartz@google.com thomasmaclean@google.com
gsutil.py
in root
95 3 2013-09-30 2025-02-14 39 14 zwilt@google.com sameershk@google.com
iam.py
in gslib/commands
551 20 2016-06-08 2023-09-13 39 16 minkezhang@google.com rrauber@google.com
creds.py
in gslib/addlhelp
16 - 2013-02-26 2023-09-21 38 15 yovadia@google.com nstock@google.com
rb.py
in gslib/commands
108 1 2011-11-19 2023-08-02 38 14 mfschwartz@google.com thomasmaclean@google.com
cors.py
in gslib/commands
154 4 2013-08-05 2024-05-24 38 16 zwilt@google.com 144651627+kautikdk@users.no...
web.py
in gslib/commands
154 4 2013-08-05 2024-05-24 38 16 zwilt@google.com 144651627+kautikdk@users.no...
cloud_api.py
in gslib
274 44 2014-01-31 2022-09-21 38 17 thobrla@google.com rrauber@google.com
dev.py
in gslib/addlhelp
22 - 2012-03-01 2023-04-12 35 8 mfschwartz@google.com nstock@google.com
stat.py
in gslib/commands
113 1 2013-08-24 2023-08-02 35 11 mfschwartz@google.com thomasmaclean@google.com
lifecycle.py
in gslib/commands
156 4 2013-04-24 2024-05-24 35 16 yzhihong@google.com 144651627+kautikdk@users.no...
crc32c.py
in gslib/addlhelp
16 - 2013-02-26 2023-04-12 34 12 yovadia@google.com nstock@google.com
metadata.py
in gslib/addlhelp
23 - 2012-03-01 2021-02-08 34 11 mfschwartz@google.com nstock@google.com
compose.py
in gslib/commands
105 2 2013-02-26 2023-08-03 33 16 yovadia@google.com thomasmaclean@google.com
shim_util.py
in gslib/utils
441 22 2021-11-22 2023-11-08 31 5 dilip.ped@gmail.com dilip.ped@gmail.com
444 14 2014-01-31 2021-05-03 30 9 thobrla@google.com rrauber@google.com
du.py
in gslib/commands
180 3 2013-07-08 2023-08-02 29 14 jterrace@google.com thomasmaclean@google.com
prod.py
in gslib/addlhelp
25 - 2012-03-01 2021-04-13 28 10 mfschwartz@google.com nstock@google.com
versioning.py
in gslib/commands
172 4 2013-08-05 2023-08-02 28 12 zwilt@google.com thomasmaclean@google.com
hash.py
in gslib/commands
180 4 2014-06-19 2023-10-24 27 12 thobrla@google.com thomasmaclean@google.com
boto_util.py
in gslib/utils
378 29 2018-04-10 2023-06-05 27 11 houglum@google.com thomasmaclean@google.com
acls.py
in gslib/addlhelp
23 - 2012-03-01 2019-05-07 25 9 mfschwartz@google.com 43632885+catleeball@users.n...
Files With Most Contributors (Top 50)
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
cp.py
in gslib/commands
577 9 2011-11-19 2025-03-26 282 35 mfschwartz@google.com margubur@google.com
config.py
in gslib/commands
467 7 2011-11-19 2023-09-11 159 34 mfschwartz@google.com mustafauzun0@gmail.com
1864 68 2014-01-31 2024-04-30 136 33 thobrla@google.com 150442997+googlyrahman@user...
rsync.py
in gslib/commands
976 27 2014-02-18 2023-10-24 145 28 thobrla@google.com thomasmaclean@google.com
command.py
in gslib
1409 73 2010-09-08 2023-01-25 186 27 mfschwartz@google.com rrauber@google.com
ls.py
in gslib/commands
409 3 2011-11-19 2023-08-02 113 27 mfschwartz@google.com thomasmaclean@google.com
__main__.py
in gslib
549 16 2013-03-13 2024-04-17 111 25 jterrace@gmail.com 150442997+googlyrahman@user...
acl.py
in gslib/commands
316 12 2013-08-05 2024-05-24 68 22 zwilt@google.com 144651627+kautikdk@users.no...
signurl.py
in gslib/commands
447 10 2014-02-07 2024-10-23 63 22 jrdn.fish@gmail.com sameershk@google.com
setup.py
in root
96 4 2012-01-12 2024-12-09 110 21 marccohen@google.com sameershk@google.com
1526 56 2014-01-31 2022-10-13 92 20 thobrla@google.com rrauber@google.com
mb.py
in gslib/commands
245 2 2011-11-19 2025-03-26 84 20 mfschwartz@google.com pujawadare@google.com
perfdiag.py
in gslib/commands
1501 39 2012-12-13 2024-10-23 90 18 jterrace@google.com sameershk@google.com
329 13 2011-11-19 2023-08-02 70 18 mfschwartz@google.com thomasmaclean@google.com
notification.py
in gslib/commands
460 13 2013-08-05 2023-08-02 54 18 zwilt@google.com thomasmaclean@google.com
mv.py
in gslib/commands
73 2 2011-11-19 2025-04-15 52 18 mfschwartz@google.com margubur@google.com
rm.py
in gslib/commands
218 6 2011-11-19 2023-08-02 86 17 mfschwartz@google.com thomasmaclean@google.com
defacl.py
in gslib/commands
230 8 2013-08-05 2023-08-02 49 17 zwilt@google.com thomasmaclean@google.com
449 50 2014-01-31 2023-06-05 42 17 thobrla@google.com thomasmaclean@google.com
cloud_api.py
in gslib
274 44 2014-01-31 2022-09-21 38 17 thobrla@google.com rrauber@google.com
setmeta.py
in gslib/commands
232 7 2012-08-05 2023-09-21 60 16 mfschwartz@google.com nstock@google.com
copy_helper.py
in gslib/utils
2543 75 2018-04-11 2024-10-23 42 16 houglum@google.com sameershk@google.com
iam.py
in gslib/commands
551 20 2016-06-08 2023-09-13 39 16 minkezhang@google.com rrauber@google.com
web.py
in gslib/commands
154 4 2013-08-05 2024-05-24 38 16 zwilt@google.com 144651627+kautikdk@users.no...
cors.py
in gslib/commands
154 4 2013-08-05 2024-05-24 38 16 zwilt@google.com 144651627+kautikdk@users.no...
lifecycle.py
in gslib/commands
156 4 2013-04-24 2024-05-24 35 16 yzhihong@google.com 144651627+kautikdk@users.no...
compose.py
in gslib/commands
105 2 2013-02-26 2023-08-03 33 16 yovadia@google.com thomasmaclean@google.com
help.py
in gslib/commands
158 3 2011-11-19 2021-12-08 46 15 mfschwartz@google.com 44721098+rebecca-pete@users...
command_opts.py
in gslib/addlhelp
16 - 2012-02-22 2023-09-21 46 15 mfschwartz@google.com nstock@google.com
logging.py
in gslib/commands
208 4 2013-08-05 2024-05-24 41 15 zwilt@google.com 144651627+kautikdk@users.no...
creds.py
in gslib/addlhelp
16 - 2013-02-26 2023-09-21 38 15 yovadia@google.com nstock@google.com
gsutil.py
in root
95 3 2013-09-30 2025-02-14 39 14 zwilt@google.com sameershk@google.com
rb.py
in gslib/commands
108 1 2011-11-19 2023-08-02 38 14 mfschwartz@google.com thomasmaclean@google.com
du.py
in gslib/commands
180 3 2013-07-08 2023-08-02 29 14 jterrace@google.com thomasmaclean@google.com
cat.py
in gslib/commands
79 1 2011-11-19 2023-08-02 39 13 mfschwartz@google.com thomasmaclean@google.com
update.py
in gslib/commands
287 5 2011-11-19 2021-09-10 63 12 mfschwartz@google.com thomasmaclean@google.com
crc32c.py
in gslib/addlhelp
16 - 2013-02-26 2023-04-12 34 12 yovadia@google.com nstock@google.com
versioning.py
in gslib/commands
172 4 2013-08-05 2023-08-02 28 12 zwilt@google.com thomasmaclean@google.com
hash.py
in gslib/commands
180 4 2014-06-19 2023-10-24 27 12 thobrla@google.com thomasmaclean@google.com
version.py
in gslib/commands
131 3 2011-11-19 2022-09-06 43 11 mfschwartz@google.com thomasmaclean@google.com
stat.py
in gslib/commands
113 1 2013-08-24 2023-08-02 35 11 mfschwartz@google.com thomasmaclean@google.com
metadata.py
in gslib/addlhelp
23 - 2012-03-01 2021-02-08 34 11 mfschwartz@google.com nstock@google.com
boto_util.py
in gslib/utils
378 29 2018-04-10 2023-06-05 27 11 houglum@google.com thomasmaclean@google.com
388 25 2010-08-30 2022-12-20 69 10 mfschwartz@google.com thomasmaclean@google.com
prod.py
in gslib/addlhelp
25 - 2012-03-01 2021-04-13 28 10 mfschwartz@google.com nstock@google.com
257 51 2014-01-31 2023-01-06 25 10 thobrla@google.com 59616154+luisfgarciam@users...
kms.py
in gslib/commands
303 11 2018-03-19 2023-08-02 24 10 houglum@google.com thomasmaclean@google.com
security.py
in gslib/addlhelp
16 - 2015-01-09 2023-04-12 17 10 mfschwartz@google.com nstock@google.com
339 18 2012-02-18 2022-03-10 42 9 mfschwartz@google.com 66492516+nickgoog@users.nor...
444 14 2014-01-31 2021-05-03 30 9 thobrla@google.com rrauber@google.com
Files With Least Contributors (Top 50)
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
stet_util.py
in gslib/utils
44 4 2021-08-30 2021-09-03 2 1 66492516+nickgoog@users.nor... 66492516+nickgoog@users.nor...
execution_util.py
in gslib/utils
18 1 2021-08-25 2021-09-15 2 1 66492516+nickgoog@users.nor... 66492516+nickgoog@users.nor...
arg_helper.py
in gslib/utils
12 1 2020-05-05 2020-05-05 1 1 thomasmaclean@google.com thomasmaclean@google.com
10 3 2021-08-25 2021-08-30 2 1 66492516+nickgoog@users.nor... 66492516+nickgoog@users.nor...
__init__.py
in gslib/utils
1 - 2018-04-11 2018-04-11 1 1 houglum@google.com houglum@google.com
__init__.py
in gslib/vendored
1 - 2019-03-08 2019-03-08 1 1 houglum@google.com houglum@google.com
retention_util.py
in gslib/utils
131 17 2017-11-14 2019-05-07 3 2 mnasr@google.com 43632885+catleeball@users.n...
unit_util.py
in gslib/utils
118 11 2018-04-11 2019-05-07 3 2 houglum@google.com 43632885+catleeball@users.n...
49 8 2018-04-11 2019-04-10 2 2 houglum@google.com 43632885+catleeball@users.n...
cloud_api_helper.py
in gslib/utils
45 4 2018-04-11 2019-05-07 3 2 houglum@google.com 43632885+catleeball@users.n...
metadata_util.py
in gslib/utils
37 5 2018-04-11 2019-05-07 3 2 houglum@google.com 43632885+catleeball@users.n...
retry_util.py
in gslib/utils
36 1 2018-04-11 2019-05-07 3 2 houglum@google.com 43632885+catleeball@users.n...
34 4 2019-10-01 2020-03-24 2 2 thomasmaclean@google.com dilip.ped@gmail.com
rsync_util.py
in gslib/utils
17 1 2018-04-11 2019-04-10 2 2 houglum@google.com 43632885+catleeball@users.n...
13 - 2017-05-05 2019-05-07 3 2 houglum@google.com 43632885+catleeball@users.n...
tz_utc.py
in gslib
13 3 2018-04-11 2019-04-10 2 2 houglum@google.com 43632885+catleeball@users.n...
7 1 2018-04-11 2019-05-07 3 2 houglum@google.com 43632885+catleeball@users.n...
acl_helper.py
in gslib/utils
230 13 2018-04-11 2023-06-28 4 3 houglum@google.com rrauber@google.com
176 7 2019-10-01 2023-06-05 4 3 thomasmaclean@google.com thomasmaclean@google.com
cat_helper.py
in gslib/utils
97 3 2018-04-11 2022-07-18 5 3 houglum@google.com 107933688+ejeselsohn@users....
65 12 2014-09-27 2019-05-07 10 3 berezv@google.com 43632885+catleeball@users.n...
43 3 2014-10-24 2019-06-28 9 3 thobrla@google.com houglum@google.com
36 2 2014-01-31 2019-05-07 6 3 thobrla@google.com 43632885+catleeball@users.n...
user_agent_helper.py
in gslib/utils
34 1 2020-05-05 2025-04-02 6 3 thomasmaclean@google.com sushantkhanna@google.com
version_check.py
in gslib/utils
18 1 2019-04-10 2021-09-22 4 3 43632885+catleeball@users.n... thomasmaclean@google.com
11 3 2014-01-31 2019-05-07 6 3 thobrla@google.com 43632885+catleeball@users.n...
__init__.py
in gslib/commands
4 - 2011-11-19 2019-04-10 5 3 mfschwartz@google.com 43632885+catleeball@users.n...
__init__.py
in gslib/addlhelp
4 - 2012-02-22 2019-04-10 5 3 mfschwartz@google.com 43632885+catleeball@users.n...
translation_helper.py
in gslib/utils
674 37 2018-04-11 2022-09-21 6 4 houglum@google.com rrauber@google.com
191 19 2014-09-27 2019-05-07 13 4 berezv@google.com 43632885+catleeball@users.n...
kms_api.py
in gslib
189 9 2018-03-19 2019-05-07 9 4 houglum@google.com 43632885+catleeball@users.n...
ubla.py
in gslib/commands
188 5 2019-09-24 2023-08-02 7 4 mynameisrafe@google.com thomasmaclean@google.com
autoclass.py
in gslib/commands
176 4 2021-10-11 2023-08-03 7 4 66492516+nickgoog@users.nor... thomasmaclean@google.com
175 10 2017-03-27 2019-05-07 10 4 brandony@gmail.com 43632885+catleeball@users.n...
rpo.py
in gslib/commands
147 5 2021-09-21 2023-09-21 8 4 dilip.ped@gmail.com nstock@google.com
145 6 2015-09-02 2020-05-15 8 4 thobrla@google.com dilip.ped@gmail.com
145 16 2016-06-09 2019-05-07 9 4 mengyazhu96@gmail.com 43632885+catleeball@users.n...
139 10 2020-10-26 2023-05-15 12 4 66492516+nickgoog@users.nor... rrauber@google.com
121 15 2022-02-25 2023-05-12 6 4 ryan.c.kohler@gmail.com rrauber@google.com
encryption_helper.py
in gslib/utils
103 8 2018-04-11 2021-01-13 6 4 houglum@google.com rrauber@google.com
72 4 2016-06-09 2019-05-07 10 4 mengyazhu96@gmail.com 43632885+catleeball@users.n...
file_part.py
in gslib
53 17 2013-07-16 2019-04-10 5 4 zwilt@google.com 43632885+catleeball@users.n...
constants.py
in gslib/utils
50 - 2018-04-10 2021-09-10 12 4 houglum@google.com thomasmaclean@google.com
47 7 2012-07-18 2019-05-07 10 4 mfschwartz@google.com 43632885+catleeball@users.n...
19 2 2015-03-07 2019-05-07 7 4 aalexand@google.com 43632885+catleeball@users.n...
592 37 2016-06-21 2023-08-02 13 5 michelzel@google.com thomasmaclean@google.com
metrics.py
in gslib
566 30 2016-06-09 2022-06-01 15 5 mengyazhu96@gmail.com thomasmaclean@google.com
shim_util.py
in gslib/utils
441 22 2021-11-22 2023-11-08 31 5 dilip.ped@gmail.com dilip.ped@gmail.com
ls_helper.py
in gslib/utils
304 12 2017-11-14 2021-09-03 8 5 mnasr@google.com 66492516+nickgoog@users.nor...
posix_util.py
in gslib/utils
293 17 2018-04-11 2022-04-20 8 5 houglum@google.com 66492516+nickgoog@users.nor...
Correlations

File Size vs. Number of Changes: 138 points

gslib/commands/mv.py x: 73 lines of code y: 52 # changes gslib/utils/user_agent_helper.py x: 34 lines of code y: 6 # changes gslib/commands/cp.py x: 577 lines of code y: 282 # changes gslib/commands/mb.py x: 245 lines of code y: 84 # changes gsutil.py x: 95 lines of code y: 39 # changes gslib/commands/hmac.py x: 289 lines of code y: 14 # changes setup.py x: 96 lines of code y: 110 # changes gslib/commands/perfdiag.py x: 1501 lines of code y: 90 # changes gslib/commands/signurl.py x: 447 lines of code y: 63 # changes gslib/utils/copy_helper.py x: 2543 lines of code y: 42 # changes gslib/utils/signurl_helper.py x: 88 lines of code y: 5 # changes gslib/commands/requesterpays.py x: 166 lines of code y: 13 # changes gslib/commands/label.py x: 263 lines of code y: 15 # changes gslib/commands/acl.py x: 316 lines of code y: 68 # changes gslib/commands/cors.py x: 154 lines of code y: 38 # changes gslib/commands/lifecycle.py x: 156 lines of code y: 35 # changes gslib/commands/logging.py x: 208 lines of code y: 41 # changes gslib/gcs_json_api.py x: 1864 lines of code y: 136 # changes gslib/gcs_json_credentials.py x: 296 lines of code y: 22 # changes gslib/__main__.py x: 549 lines of code y: 111 # changes gslib/utils/shim_util.py x: 441 lines of code y: 31 # changes gslib/addlhelp/shim.py x: 16 lines of code y: 11 # changes gslib/commands/hash.py x: 180 lines of code y: 27 # changes gslib/commands/rsync.py x: 976 lines of code y: 145 # changes gslib/addlhelp/command_opts.py x: 16 lines of code y: 46 # changes gslib/addlhelp/creds.py x: 16 lines of code y: 38 # changes gslib/commands/rpo.py x: 147 lines of code y: 8 # changes gslib/commands/setmeta.py x: 232 lines of code y: 60 # changes gslib/commands/iam.py x: 551 lines of code y: 39 # changes gslib/commands/config.py x: 467 lines of code y: 159 # changes gslib/commands/bucketpolicyonly.py x: 143 lines of code y: 15 # changes gslib/commands/autoclass.py x: 176 lines of code y: 7 # changes gslib/commands/compose.py x: 105 lines of code y: 33 # changes gslib/commands/defstorageclass.py x: 140 lines of code y: 15 # changes gslib/command_runner.py x: 329 lines of code y: 70 # changes gslib/commands/cat.py x: 79 lines of code y: 39 # changes gslib/commands/defacl.py x: 230 lines of code y: 49 # changes gslib/commands/du.py x: 180 lines of code y: 29 # changes gslib/commands/kms.py x: 303 lines of code y: 24 # changes gslib/commands/ls.py x: 409 lines of code y: 113 # changes gslib/commands/notification.py x: 460 lines of code y: 54 # changes gslib/commands/pap.py x: 169 lines of code y: 11 # changes gslib/commands/rb.py x: 108 lines of code y: 38 # changes gslib/commands/retention.py x: 448 lines of code y: 11 # changes gslib/commands/rewrite.py x: 328 lines of code y: 23 # changes gslib/commands/rm.py x: 218 lines of code y: 86 # changes gslib/commands/stat.py x: 113 lines of code y: 35 # changes gslib/commands/ubla.py x: 188 lines of code y: 7 # changes gslib/commands/versioning.py x: 172 lines of code y: 28 # changes gslib/daisy_chain_wrapper.py x: 199 lines of code y: 21 # changes gslib/ui_controller.py x: 592 lines of code y: 13 # changes gslib/utils/iam_helper.py x: 154 lines of code y: 12 # changes gslib/utils/acl_helper.py x: 230 lines of code y: 4 # changes gslib/iamcredentials_api.py x: 176 lines of code y: 4 # changes gslib/cloud_api_delegator.py x: 449 lines of code y: 42 # changes gslib/utils/boto_util.py x: 378 lines of code y: 27 # changes gslib/context_config.py x: 139 lines of code y: 12 # changes gslib/utils/system_util.py x: 171 lines of code y: 9 # changes gslib/utils/wrapped_credentials.py x: 121 lines of code y: 6 # changes gslib/addlhelp/crc32c.py x: 16 lines of code y: 34 # changes gslib/addlhelp/dev.py x: 22 lines of code y: 35 # changes gslib/addlhelp/security.py x: 16 lines of code y: 17 # changes gslib/command.py x: 1409 lines of code y: 186 # changes gslib/storage_url.py x: 257 lines of code y: 25 # changes gslib/wildcard_iterator.py x: 388 lines of code y: 69 # changes gslib/cred_types.py x: 13 lines of code y: 11 # changes gslib/boto_translation.py x: 1526 lines of code y: 92 # changes gslib/cloud_api.py x: 274 lines of code y: 38 # changes gslib/utils/translation_helper.py x: 674 lines of code y: 6 # changes gslib/commands/version.py x: 131 lines of code y: 43 # changes gslib/utils/cat_helper.py x: 97 lines of code y: 5 # changes gslib/metrics.py x: 566 lines of code y: 15 # changes gslib/utils/posix_util.py x: 293 lines of code y: 8 # changes gslib/addlhelp/versions.py x: 16 lines of code y: 19 # changes gslib/name_expansion.py x: 339 lines of code y: 42 # changes gslib/commands/help.py x: 158 lines of code y: 46 # changes gslib/exception.py x: 56 lines of code y: 21 # changes gslib/utils/version_check.py x: 18 lines of code y: 4 # changes gslib/boto_resumable_upload.py x: 313 lines of code y: 18 # changes gslib/utils/execution_util.py x: 18 lines of code y: 2 # changes gslib/commands/update.py x: 287 lines of code y: 63 # changes gslib/utils/constants.py x: 50 lines of code y: 12 # changes gslib/utils/update_util.py x: 63 lines of code y: 8 # changes gslib/utils/stet_util.py x: 44 lines of code y: 2 # changes gslib/utils/ls_helper.py x: 304 lines of code y: 8 # changes gslib/utils/temporary_file_util.py x: 10 lines of code y: 2 # changes gslib/utils/hashing_helper.py x: 216 lines of code y: 9 # changes gslib/progress_callback.py x: 77 lines of code y: 20 # changes gslib/tracker_file.py x: 319 lines of code y: 10 # changes gslib/addlhelp/prod.py x: 25 lines of code y: 28 # changes gslib/addlhelp/metadata.py x: 23 lines of code y: 34 # changes gslib/utils/encryption_helper.py x: 103 lines of code y: 6 # changes gslib/utils/parallelism_framework_util.py x: 213 lines of code y: 7 # changes gslib/addlhelp/encoding.py x: 23 lines of code y: 15 # changes gslib/sig_handling.py x: 68 lines of code y: 9 # changes gslib/__init__.py x: 80 lines of code y: 22 # changes gslib/parallel_tracker_file.py x: 145 lines of code y: 8 # changes gslib/utils/arg_helper.py x: 12 lines of code y: 1 # changes gslib/no_op_auth_plugin.py x: 11 lines of code y: 7 # changes gslib/impersonation_credentials.py x: 34 lines of code y: 2 # changes gslib/utils/text_util.py x: 152 lines of code y: 8 # changes gslib/help_provider.py x: 58 lines of code y: 15 # changes MANIFEST.in x: 19 lines of code y: 16 # changes gslib/resumable_streaming_upload.py x: 43 lines of code y: 9 # changes gslib/addlhelp/acls.py x: 23 lines of code y: 25 # changes gslib/addlhelp/support.py x: 23 lines of code y: 16 # changes gslib/bucket_listing_ref.py x: 44 lines of code y: 14 # changes gslib/command_argument.py x: 65 lines of code y: 10 # changes gslib/devshell_auth_plugin.py x: 19 lines of code y: 7 # changes gslib/discard_messages_queue.py x: 7 lines of code y: 3 # changes gslib/kms_api.py x: 189 lines of code y: 9 # changes gslib/metrics_reporter.py x: 72 lines of code y: 10 # changes gslib/metrics_tuple.py x: 13 lines of code y: 3 # changes gslib/no_op_credentials.py x: 11 lines of code y: 6 # changes gslib/plurality_checkable_iterator.py x: 47 lines of code y: 10 # changes gslib/pubsub_api.py x: 175 lines of code y: 10 # changes gslib/seek_ahead_thread.py x: 42 lines of code y: 8 # changes gslib/tab_complete.py x: 191 lines of code y: 13 # changes gslib/thread_message.py x: 145 lines of code y: 9 # changes gslib/utils/cloud_api_helper.py x: 45 lines of code y: 3 # changes gslib/utils/metadata_util.py x: 37 lines of code y: 3 # changes gslib/utils/retention_util.py x: 131 lines of code y: 3 # changes gslib/utils/retry_util.py x: 36 lines of code y: 3 # changes gslib/utils/unit_util.py x: 118 lines of code y: 3 # changes gslib/addlhelp/__init__.py x: 4 lines of code y: 5 # changes gslib/addlhelp/naming.py x: 16 lines of code y: 16 # changes gslib/file_part.py x: 53 lines of code y: 5 # changes gslib/lazy_wrapper.py x: 49 lines of code y: 2 # changes gslib/project_id.py x: 17 lines of code y: 15 # changes gslib/vendored/__init__.py x: 1 lines of code y: 1 # changes
282.0
# changes
  min: 1.0
  average: 29.2
  25th percentile: 7.0
  median: 15.0
  75th percentile: 38.0
  max: 282.0
0 2543.0
lines of code
min: 1.0 | average: 225.7 | 25th percentile: 35.5 | median: 139.5 | 75th percentile: 277.25 | max: 2543.0

Number of Contributors vs. Number of Changes: 138 points

gslib/commands/mv.py x: 18 # contributors y: 52 # changes gslib/utils/user_agent_helper.py x: 3 # contributors y: 6 # changes gslib/commands/cp.py x: 35 # contributors y: 282 # changes gslib/commands/mb.py x: 20 # contributors y: 84 # changes gsutil.py x: 14 # contributors y: 39 # changes gslib/commands/hmac.py x: 8 # contributors y: 14 # changes setup.py x: 21 # contributors y: 110 # changes gslib/commands/perfdiag.py x: 18 # contributors y: 90 # changes gslib/commands/signurl.py x: 22 # contributors y: 63 # changes gslib/utils/copy_helper.py x: 16 # contributors y: 42 # changes gslib/utils/signurl_helper.py x: 5 # contributors y: 5 # changes gslib/commands/requesterpays.py x: 8 # contributors y: 13 # changes gslib/commands/label.py x: 6 # contributors y: 15 # changes gslib/commands/acl.py x: 22 # contributors y: 68 # changes gslib/commands/cors.py x: 16 # contributors y: 38 # changes gslib/commands/lifecycle.py x: 16 # contributors y: 35 # changes gslib/commands/logging.py x: 15 # contributors y: 41 # changes gslib/gcs_json_api.py x: 33 # contributors y: 136 # changes gslib/gcs_json_credentials.py x: 8 # contributors y: 22 # changes gslib/__main__.py x: 25 # contributors y: 111 # changes gslib/utils/shim_util.py x: 5 # contributors y: 31 # changes gslib/addlhelp/shim.py x: 5 # contributors y: 11 # changes gslib/commands/hash.py x: 12 # contributors y: 27 # changes gslib/commands/rsync.py x: 28 # contributors y: 145 # changes gslib/addlhelp/command_opts.py x: 15 # contributors y: 46 # changes gslib/addlhelp/creds.py x: 15 # contributors y: 38 # changes gslib/commands/rpo.py x: 4 # contributors y: 8 # changes gslib/commands/setmeta.py x: 16 # contributors y: 60 # changes gslib/commands/iam.py x: 16 # contributors y: 39 # changes gslib/commands/config.py x: 34 # contributors y: 159 # changes gslib/commands/bucketpolicyonly.py x: 8 # contributors y: 15 # changes gslib/commands/autoclass.py x: 4 # contributors y: 7 # changes gslib/commands/compose.py x: 16 # contributors y: 33 # changes gslib/command_runner.py x: 18 # contributors y: 70 # changes gslib/commands/cat.py x: 13 # contributors y: 39 # changes gslib/commands/defacl.py x: 17 # contributors y: 49 # changes gslib/commands/du.py x: 14 # contributors y: 29 # changes gslib/commands/kms.py x: 10 # contributors y: 24 # changes gslib/commands/ls.py x: 27 # contributors y: 113 # changes gslib/commands/notification.py x: 18 # contributors y: 54 # changes gslib/commands/rb.py x: 14 # contributors y: 38 # changes gslib/commands/retention.py x: 8 # contributors y: 11 # changes gslib/commands/rewrite.py x: 7 # contributors y: 23 # changes gslib/commands/rm.py x: 17 # contributors y: 86 # changes gslib/commands/stat.py x: 11 # contributors y: 35 # changes gslib/commands/versioning.py x: 12 # contributors y: 28 # changes gslib/daisy_chain_wrapper.py x: 9 # contributors y: 21 # changes gslib/ui_controller.py x: 5 # contributors y: 13 # changes gslib/utils/iam_helper.py x: 9 # contributors y: 12 # changes gslib/utils/acl_helper.py x: 3 # contributors y: 4 # changes gslib/cloud_api_delegator.py x: 17 # contributors y: 42 # changes gslib/utils/boto_util.py x: 11 # contributors y: 27 # changes gslib/context_config.py x: 4 # contributors y: 12 # changes gslib/utils/system_util.py x: 5 # contributors y: 9 # changes gslib/utils/wrapped_credentials.py x: 4 # contributors y: 6 # changes gslib/addlhelp/crc32c.py x: 12 # contributors y: 34 # changes gslib/addlhelp/dev.py x: 8 # contributors y: 35 # changes gslib/addlhelp/security.py x: 10 # contributors y: 17 # changes gslib/command.py x: 27 # contributors y: 186 # changes gslib/storage_url.py x: 10 # contributors y: 25 # changes gslib/wildcard_iterator.py x: 10 # contributors y: 69 # changes gslib/boto_translation.py x: 20 # contributors y: 92 # changes gslib/cloud_api.py x: 17 # contributors y: 38 # changes gslib/commands/version.py x: 11 # contributors y: 43 # changes gslib/utils/cat_helper.py x: 3 # contributors y: 5 # changes gslib/metrics.py x: 5 # contributors y: 15 # changes gslib/utils/posix_util.py x: 5 # contributors y: 8 # changes gslib/addlhelp/versions.py x: 7 # contributors y: 19 # changes gslib/name_expansion.py x: 9 # contributors y: 42 # changes gslib/boto_resumable_upload.py x: 8 # contributors y: 18 # changes gslib/utils/execution_util.py x: 1 # contributors y: 2 # changes gslib/commands/update.py x: 12 # contributors y: 63 # changes gslib/utils/update_util.py x: 6 # contributors y: 8 # changes gslib/progress_callback.py x: 8 # contributors y: 20 # changes gslib/gcs_json_media.py x: 9 # contributors y: 30 # changes gslib/tracker_file.py x: 7 # contributors y: 10 # changes gslib/addlhelp/prod.py x: 10 # contributors y: 28 # changes gslib/addlhelp/metadata.py x: 11 # contributors y: 34 # changes gslib/utils/parallelism_framework_util.py x: 6 # contributors y: 7 # changes gslib/addlhelp/encoding.py x: 7 # contributors y: 15 # changes gslib/sig_handling.py x: 6 # contributors y: 9 # changes gslib/__init__.py x: 7 # contributors y: 22 # changes gslib/utils/arg_helper.py x: 1 # contributors y: 1 # changes gslib/no_op_auth_plugin.py x: 5 # contributors y: 7 # changes gslib/impersonation_credentials.py x: 2 # contributors y: 2 # changes gslib/help_provider.py x: 9 # contributors y: 15 # changes MANIFEST.in x: 8 # contributors y: 16 # changes gslib/resumable_streaming_upload.py x: 3 # contributors y: 9 # changes gslib/addlhelp/acls.py x: 9 # contributors y: 25 # changes gslib/addlhelp/support.py x: 6 # contributors y: 16 # changes gslib/bucket_listing_ref.py x: 5 # contributors y: 14 # changes gslib/command_argument.py x: 3 # contributors y: 10 # changes gslib/discard_messages_queue.py x: 2 # contributors y: 3 # changes gslib/kms_api.py x: 4 # contributors y: 9 # changes gslib/metrics_reporter.py x: 4 # contributors y: 10 # changes gslib/tab_complete.py x: 4 # contributors y: 13 # changes gslib/addlhelp/naming.py x: 5 # contributors y: 16 # changes gslib/file_part.py x: 4 # contributors y: 5 # changes
282.0
# changes
  min: 1.0
  average: 29.2
  25th percentile: 7.0
  median: 15.0
  75th percentile: 38.0
  max: 282.0
0 35.0
# contributors
min: 1.0 | average: 9.09 | 25th percentile: 4.0 | median: 7.0 | 75th percentile: 13.25 | max: 35.0

Number of Contributors vs. File Size: 138 points

gslib/commands/mv.py x: 18 # contributors y: 73 lines of code gslib/utils/user_agent_helper.py x: 3 # contributors y: 34 lines of code gslib/commands/cp.py x: 35 # contributors y: 577 lines of code gslib/commands/mb.py x: 20 # contributors y: 245 lines of code gsutil.py x: 14 # contributors y: 95 lines of code gslib/commands/hmac.py x: 8 # contributors y: 289 lines of code setup.py x: 21 # contributors y: 96 lines of code gslib/commands/perfdiag.py x: 18 # contributors y: 1501 lines of code gslib/commands/signurl.py x: 22 # contributors y: 447 lines of code gslib/utils/copy_helper.py x: 16 # contributors y: 2543 lines of code gslib/utils/signurl_helper.py x: 5 # contributors y: 88 lines of code gslib/commands/requesterpays.py x: 8 # contributors y: 166 lines of code gslib/commands/label.py x: 6 # contributors y: 263 lines of code gslib/commands/acl.py x: 22 # contributors y: 316 lines of code gslib/commands/cors.py x: 16 # contributors y: 154 lines of code gslib/commands/logging.py x: 15 # contributors y: 208 lines of code gslib/gcs_json_api.py x: 33 # contributors y: 1864 lines of code gslib/gcs_json_credentials.py x: 8 # contributors y: 296 lines of code gslib/__main__.py x: 25 # contributors y: 549 lines of code gslib/utils/shim_util.py x: 5 # contributors y: 441 lines of code gslib/addlhelp/shim.py x: 5 # contributors y: 16 lines of code gslib/commands/hash.py x: 12 # contributors y: 180 lines of code gslib/commands/rsync.py x: 28 # contributors y: 976 lines of code gslib/addlhelp/command_opts.py x: 15 # contributors y: 16 lines of code gslib/commands/rpo.py x: 4 # contributors y: 147 lines of code gslib/commands/setmeta.py x: 16 # contributors y: 232 lines of code gslib/commands/iam.py x: 16 # contributors y: 551 lines of code gslib/commands/config.py x: 34 # contributors y: 467 lines of code gslib/commands/bucketpolicyonly.py x: 8 # contributors y: 143 lines of code gslib/commands/autoclass.py x: 4 # contributors y: 176 lines of code gslib/commands/compose.py x: 16 # contributors y: 105 lines of code gslib/commands/defstorageclass.py x: 8 # contributors y: 140 lines of code gslib/command_runner.py x: 18 # contributors y: 329 lines of code gslib/commands/cat.py x: 13 # contributors y: 79 lines of code gslib/commands/defacl.py x: 17 # contributors y: 230 lines of code gslib/commands/du.py x: 14 # contributors y: 180 lines of code gslib/commands/kms.py x: 10 # contributors y: 303 lines of code gslib/commands/ls.py x: 27 # contributors y: 409 lines of code gslib/commands/notification.py x: 18 # contributors y: 460 lines of code gslib/commands/pap.py x: 5 # contributors y: 169 lines of code gslib/commands/rb.py x: 14 # contributors y: 108 lines of code gslib/commands/retention.py x: 8 # contributors y: 448 lines of code gslib/commands/rewrite.py x: 7 # contributors y: 328 lines of code gslib/commands/rm.py x: 17 # contributors y: 218 lines of code gslib/commands/stat.py x: 11 # contributors y: 113 lines of code gslib/commands/ubla.py x: 4 # contributors y: 188 lines of code gslib/daisy_chain_wrapper.py x: 9 # contributors y: 199 lines of code gslib/ui_controller.py x: 5 # contributors y: 592 lines of code gslib/utils/iam_helper.py x: 9 # contributors y: 154 lines of code gslib/utils/acl_helper.py x: 3 # contributors y: 230 lines of code gslib/iamcredentials_api.py x: 3 # contributors y: 176 lines of code gslib/cloud_api_delegator.py x: 17 # contributors y: 449 lines of code gslib/utils/boto_util.py x: 11 # contributors y: 378 lines of code gslib/context_config.py x: 4 # contributors y: 139 lines of code gslib/utils/system_util.py x: 5 # contributors y: 171 lines of code gslib/utils/wrapped_credentials.py x: 4 # contributors y: 121 lines of code gslib/addlhelp/crc32c.py x: 12 # contributors y: 16 lines of code gslib/addlhelp/dev.py x: 8 # contributors y: 22 lines of code gslib/addlhelp/security.py x: 10 # contributors y: 16 lines of code gslib/command.py x: 27 # contributors y: 1409 lines of code gslib/storage_url.py x: 10 # contributors y: 257 lines of code gslib/wildcard_iterator.py x: 10 # contributors y: 388 lines of code gslib/cred_types.py x: 8 # contributors y: 13 lines of code gslib/boto_translation.py x: 20 # contributors y: 1526 lines of code gslib/cloud_api.py x: 17 # contributors y: 274 lines of code gslib/utils/translation_helper.py x: 4 # contributors y: 674 lines of code gslib/commands/version.py x: 11 # contributors y: 131 lines of code gslib/utils/cat_helper.py x: 3 # contributors y: 97 lines of code gslib/metrics.py x: 5 # contributors y: 566 lines of code gslib/utils/posix_util.py x: 5 # contributors y: 293 lines of code gslib/addlhelp/versions.py x: 7 # contributors y: 16 lines of code gslib/name_expansion.py x: 9 # contributors y: 339 lines of code gslib/commands/help.py x: 15 # contributors y: 158 lines of code gslib/exception.py x: 9 # contributors y: 56 lines of code gslib/utils/version_check.py x: 3 # contributors y: 18 lines of code gslib/boto_resumable_upload.py x: 8 # contributors y: 313 lines of code gslib/utils/execution_util.py x: 1 # contributors y: 18 lines of code gslib/commands/update.py x: 12 # contributors y: 287 lines of code gslib/utils/constants.py x: 4 # contributors y: 50 lines of code gslib/utils/update_util.py x: 6 # contributors y: 63 lines of code gslib/utils/stet_util.py x: 1 # contributors y: 44 lines of code gslib/utils/ls_helper.py x: 5 # contributors y: 304 lines of code gslib/utils/temporary_file_util.py x: 1 # contributors y: 10 lines of code gslib/utils/hashing_helper.py x: 5 # contributors y: 216 lines of code gslib/progress_callback.py x: 8 # contributors y: 77 lines of code gslib/gcs_json_media.py x: 9 # contributors y: 444 lines of code gslib/tracker_file.py x: 7 # contributors y: 319 lines of code gslib/addlhelp/prod.py x: 10 # contributors y: 25 lines of code gslib/addlhelp/metadata.py x: 11 # contributors y: 23 lines of code gslib/utils/encryption_helper.py x: 4 # contributors y: 103 lines of code gslib/utils/parallelism_framework_util.py x: 6 # contributors y: 213 lines of code gslib/addlhelp/encoding.py x: 7 # contributors y: 23 lines of code gslib/__init__.py x: 7 # contributors y: 80 lines of code gslib/impersonation_credentials.py x: 2 # contributors y: 34 lines of code gslib/utils/text_util.py x: 5 # contributors y: 152 lines of code gslib/resumable_streaming_upload.py x: 3 # contributors y: 43 lines of code gslib/addlhelp/acls.py x: 9 # contributors y: 23 lines of code gslib/addlhelp/support.py x: 6 # contributors y: 23 lines of code gslib/bucket_listing_ref.py x: 5 # contributors y: 44 lines of code gslib/command_argument.py x: 3 # contributors y: 65 lines of code gslib/devshell_auth_plugin.py x: 4 # contributors y: 19 lines of code gslib/discard_messages_queue.py x: 2 # contributors y: 7 lines of code gslib/metrics_reporter.py x: 4 # contributors y: 72 lines of code gslib/metrics_tuple.py x: 2 # contributors y: 13 lines of code gslib/tab_complete.py x: 4 # contributors y: 191 lines of code gslib/utils/cloud_api_helper.py x: 2 # contributors y: 45 lines of code gslib/utils/retention_util.py x: 2 # contributors y: 131 lines of code gslib/utils/unit_util.py x: 2 # contributors y: 118 lines of code gslib/addlhelp/__init__.py x: 3 # contributors y: 4 lines of code gslib/file_part.py x: 4 # contributors y: 53 lines of code
2543.0
lines of code
  min: 1.0
  average: 225.7
  25th percentile: 35.5
  median: 139.5
  75th percentile: 277.25
  max: 2543.0
0 35.0
# contributors
min: 1.0 | average: 9.09 | 25th percentile: 4.0 | median: 7.0 | 75th percentile: 13.25 | max: 35.0