anthropics / apitools
File Churn

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

Overview
File Change Frequency Overall
  • There are 36 files with 7,357 lines of code.
    • 0 files changed more than 100 times (0 lines of code)
    • 1 file changed 51-100 times (461 lines of code)
    • 10 files changed 21-50 times (3,007 lines of code)
    • 11 files changed 6-20 times (2,448 lines of code)
    • 14 files changed 1-5 times (1,441 lines of code)
0% | 6% | 40% | 33% | 19%
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 36 files with 7,357 lines of code.
    • 0 files changed by more than 25 contributors (0 lines of code)
    • 10 files changed by 11-25 contributors (3,730 lines of code)
    • 10 files changed by 6-10 contributors (2,142 lines of code)
    • 16 files changed by 2-5 contributors (1,485 lines of code)
    • 0 files changed by 1 contributor (0 lines of code)
0% | 50% | 29% | 20% | 0%
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, json, in, cfg, ini, gitignore, txt, rst, sh, yaml
File Change Frequency per Extension
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
py0% | 6% | 40% | 33% | 19%
in0% | 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
apitools0% | 6% | 41% | 33% | 17%
ROOT0% | 0% | 0% | 0% | 100%
Most Frequently Changed Files (Top 36)

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsline
churn
first
contributor
latest
contributor
credentials_lib.py
in apitools/base/py
461 37 2014-04-07 2024-10-23 56 19 +1395 / -612 craigcitro@google.com sameershk@google.com
base_api.py
in apitools/base/py
502 58 2013-10-23 2024-09-05 45 17 +785 / -512 craigcitro@google.com 10370863+cglouch@users.nore...
transfer.py
in apitools/base/py
755 73 2013-10-23 2021-04-21 44 18 +1599 / -618 craigcitro@google.com 66492516+nickgoog@users.nor...
encoding.py
in apitools/base/py
16 - 2014-04-07 2018-06-15 39 19 +1018 / -1054 craigcitro@google.com harrisongregg@users.noreply...
gen_client_lib.py
in apitools/gen
201 18 2014-04-07 2020-07-09 35 10 +381 / -184 craigcitro@google.com jameslynnwu@users.noreply.g...
util.py
in apitools/gen
310 36 2014-04-07 2024-09-16 33 13 +382 / -133 craigcitro@google.com 10370863+cglouch@users.nore...
gen_client.py
in apitools/gen
255 14 2014-04-07 2024-09-16 30 10 +646 / -419 craigcitro@google.com 10370863+cglouch@users.nore...
service_registry.py
in apitools/gen
415 20 2013-10-23 2024-09-05 30 12 +338 / -211 craigcitro@google.com 10370863+cglouch@users.nore...
http_wrapper.py
in apitools/base/py
227 19 2014-04-07 2020-05-14 27 10 +614 / -144 craigcitro@google.com 34144949+ejochman@users.nor...
batch.py
in apitools/base/py
205 19 2014-04-07 2019-01-22 24 11 +695 / -151 craigcitro@google.com kevinli7@berkeley.edu
util.py
in apitools/base/py
121 9 2013-10-23 2020-01-27 21 10 +270 / -66 craigcitro@google.com tir.karthi@gmail.com
mock.py
in apitools/base/py/testing
222 18 2015-05-04 2019-09-12 20 8 +564 / -131 craigcitro@google.com jeff.tze.wu@gmail.com
message_registry.py
in apitools/gen
374 27 2014-04-07 2025-03-11 20 7 +300 / -145 craigcitro@google.com sergeiz@google.com
extended_descriptor.py
in apitools/gen
364 32 2014-04-07 2020-07-09 19 10 +228 / -99 craigcitro@google.com jameslynnwu@users.noreply.g...
list_pager.py
in apitools/base/py
54 3 2014-11-06 2020-02-07 18 12 +196 / -41 craigcitro@google.com 60764042+kaylajin@users.nor...
protojson.py
in apitools/base/protorpclite
215 11 2015-09-18 2022-08-09 18 13 +861 / -89 craigcitro@google.com jameslynnwu@users.noreply.g...
extra_types.py
in apitools/base/py
179 19 2014-04-07 2020-01-27 17 7 +388 / -61 craigcitro@google.com tir.karthi@gmail.com
exceptions.py
in apitools/base/py
72 7 2014-04-07 2019-05-07 13 7 +215 / -31 craigcitro@google.com tvalentyn@users.noreply.git...
messages.py
in apitools/base/protorpclite
797 83 2015-09-18 2024-06-11 13 11 +4250 / -242 craigcitro@google.com kaiqizheng@google.com
__init__.py
in apitools/base/py
14 - 2014-04-07 2016-12-19 8 4 +66 / -9 craigcitro@google.com arthur.cherba@gmail.com
util.py
in apitools/base/protorpclite
127 7 2015-09-18 2024-04-29 8 8 +632 / -26 craigcitro@google.com 10370863+cglouch@users.nore...
stream_slice.py
in apitools/base/py
30 6 2015-03-01 2015-10-26 7 3 +97 / -3 craigcitro@google.com craigcitro@gmail.com
150 6 2013-10-23 2019-01-22 5 5 +283 / -2 craigcitro@google.com kevinli7@berkeley.edu
__init__.py
in apitools
2 - 2014-07-15 2015-10-26 4 3 +34 / -0 craigcitro@gmail.com craigcitro@gmail.com
buffered_stream.py
in apitools/base/py
39 7 2015-03-01 2015-10-26 4 3 +90 / -1 craigcitro@google.com craigcitro@gmail.com
compression.py
in apitools/base/py
51 7 2017-10-13 2017-11-15 4 4 +293 / -11 mooman219@gmail.com jcumbo@google.com
__init__.py
in apitools/base/py/testing
1 - 2015-05-04 2015-10-26 3 3 +31 / -0 craigcitro@google.com craigcitro@gmail.com
__init__.py
in apitools/scripts
2 - 2015-06-03 2015-10-26 3 3 +40 / -0 craigcitro@gmail.com craigcitro@gmail.com
__init__.py
in apitools/base
2 - 2014-11-06 2015-10-26 3 3 +34 / -0 craigcitro@google.com craigcitro@gmail.com
__init__.py
in apitools/base/protorpclite
2 - 2015-09-18 2016-01-01 3 3 +38 / -0 craigcitro@google.com cherba@google.com
__init__.py
in apitools/gen
2 - 2014-11-06 2015-10-26 3 3 +34 / -0 craigcitro@google.com craigcitro@gmail.com
in
6 - 2013-10-23 2022-08-09 3 3 +7 / -0 craigcitro@google.com xhochy@users.noreply.github...
message_types.py
in apitools/base/protorpclite
51 3 2015-09-18 2024-10-23 3 3 +246 / -8 craigcitro@google.com sameershk@google.com
descriptor.py
in apitools/base/protorpclite
242 11 2015-09-18 2019-09-12 3 3 +1257 / -27 craigcitro@google.com jeff.tze.wu@gmail.com
gzip.py
in apitools/base/py
402 37 2017-10-13 2017-11-07 3 3 +1235 / -1 mooman219@gmail.com joewcu+git@gmail.com
encoding_helper.py
in apitools/base/py
489 44 2018-06-15 2022-08-09 3 3 +812 / -4 harrisongregg@users.noreply... jameslynnwu@users.noreply.g...
Files With Most Churn (Top 36)
Based on the number of lines added and deleted across all commits.

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsline
churn
first
contributor
latest
contributor
messages.py
in apitools/base/protorpclite
797 83 2015-09-18 2024-06-11 13 11 +4250 / -242 craigcitro@google.com kaiqizheng@google.com
transfer.py
in apitools/base/py
755 73 2013-10-23 2021-04-21 44 18 +1599 / -618 craigcitro@google.com 66492516+nickgoog@users.nor...
encoding.py
in apitools/base/py
16 - 2014-04-07 2018-06-15 39 19 +1018 / -1054 craigcitro@google.com harrisongregg@users.noreply...
credentials_lib.py
in apitools/base/py
461 37 2014-04-07 2024-10-23 56 19 +1395 / -612 craigcitro@google.com sameershk@google.com
base_api.py
in apitools/base/py
502 58 2013-10-23 2024-09-05 45 17 +785 / -512 craigcitro@google.com 10370863+cglouch@users.nore...
descriptor.py
in apitools/base/protorpclite
242 11 2015-09-18 2019-09-12 3 3 +1257 / -27 craigcitro@google.com jeff.tze.wu@gmail.com
gzip.py
in apitools/base/py
402 37 2017-10-13 2017-11-07 3 3 +1235 / -1 mooman219@gmail.com joewcu+git@gmail.com
gen_client.py
in apitools/gen
255 14 2014-04-07 2024-09-16 30 10 +646 / -419 craigcitro@google.com 10370863+cglouch@users.nore...
protojson.py
in apitools/base/protorpclite
215 11 2015-09-18 2022-08-09 18 13 +861 / -89 craigcitro@google.com jameslynnwu@users.noreply.g...
batch.py
in apitools/base/py
205 19 2014-04-07 2019-01-22 24 11 +695 / -151 craigcitro@google.com kevinli7@berkeley.edu
encoding_helper.py
in apitools/base/py
489 44 2018-06-15 2022-08-09 3 3 +812 / -4 harrisongregg@users.noreply... jameslynnwu@users.noreply.g...
http_wrapper.py
in apitools/base/py
227 19 2014-04-07 2020-05-14 27 10 +614 / -144 craigcitro@google.com 34144949+ejochman@users.nor...
mock.py
in apitools/base/py/testing
222 18 2015-05-04 2019-09-12 20 8 +564 / -131 craigcitro@google.com jeff.tze.wu@gmail.com
util.py
in apitools/base/protorpclite
127 7 2015-09-18 2024-04-29 8 8 +632 / -26 craigcitro@google.com 10370863+cglouch@users.nore...
gen_client_lib.py
in apitools/gen
201 18 2014-04-07 2020-07-09 35 10 +381 / -184 craigcitro@google.com jameslynnwu@users.noreply.g...
service_registry.py
in apitools/gen
415 20 2013-10-23 2024-09-05 30 12 +338 / -211 craigcitro@google.com 10370863+cglouch@users.nore...
util.py
in apitools/gen
310 36 2014-04-07 2024-09-16 33 13 +382 / -133 craigcitro@google.com 10370863+cglouch@users.nore...
extra_types.py
in apitools/base/py
179 19 2014-04-07 2020-01-27 17 7 +388 / -61 craigcitro@google.com tir.karthi@gmail.com
message_registry.py
in apitools/gen
374 27 2014-04-07 2025-03-11 20 7 +300 / -145 craigcitro@google.com sergeiz@google.com
util.py
in apitools/base/py
121 9 2013-10-23 2020-01-27 21 10 +270 / -66 craigcitro@google.com tir.karthi@gmail.com
extended_descriptor.py
in apitools/gen
364 32 2014-04-07 2020-07-09 19 10 +228 / -99 craigcitro@google.com jameslynnwu@users.noreply.g...
compression.py
in apitools/base/py
51 7 2017-10-13 2017-11-15 4 4 +293 / -11 mooman219@gmail.com jcumbo@google.com
150 6 2013-10-23 2019-01-22 5 5 +283 / -2 craigcitro@google.com kevinli7@berkeley.edu
message_types.py
in apitools/base/protorpclite
51 3 2015-09-18 2024-10-23 3 3 +246 / -8 craigcitro@google.com sameershk@google.com
exceptions.py
in apitools/base/py
72 7 2014-04-07 2019-05-07 13 7 +215 / -31 craigcitro@google.com tvalentyn@users.noreply.git...
list_pager.py
in apitools/base/py
54 3 2014-11-06 2020-02-07 18 12 +196 / -41 craigcitro@google.com 60764042+kaylajin@users.nor...
stream_slice.py
in apitools/base/py
30 6 2015-03-01 2015-10-26 7 3 +97 / -3 craigcitro@google.com craigcitro@gmail.com
buffered_stream.py
in apitools/base/py
39 7 2015-03-01 2015-10-26 4 3 +90 / -1 craigcitro@google.com craigcitro@gmail.com
__init__.py
in apitools/base/py
14 - 2014-04-07 2016-12-19 8 4 +66 / -9 craigcitro@google.com arthur.cherba@gmail.com
__init__.py
in apitools/scripts
2 - 2015-06-03 2015-10-26 3 3 +40 / -0 craigcitro@gmail.com craigcitro@gmail.com
__init__.py
in apitools/base/protorpclite
2 - 2015-09-18 2016-01-01 3 3 +38 / -0 craigcitro@google.com cherba@google.com
__init__.py
in apitools/base
2 - 2014-11-06 2015-10-26 3 3 +34 / -0 craigcitro@google.com craigcitro@gmail.com
__init__.py
in apitools
2 - 2014-07-15 2015-10-26 4 3 +34 / -0 craigcitro@gmail.com craigcitro@gmail.com
__init__.py
in apitools/gen
2 - 2014-11-06 2015-10-26 3 3 +34 / -0 craigcitro@google.com craigcitro@gmail.com
__init__.py
in apitools/base/py/testing
1 - 2015-05-04 2015-10-26 3 3 +31 / -0 craigcitro@google.com craigcitro@gmail.com
in
6 - 2013-10-23 2022-08-09 3 3 +7 / -0 craigcitro@google.com xhochy@users.noreply.github...
Files With Most Contributors (Top 36)
Based on the number of unique email addresses found in commits.

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsline
churn
first
contributor
latest
contributor
credentials_lib.py
in apitools/base/py
461 37 2014-04-07 2024-10-23 56 19 +1395 / -612 craigcitro@google.com sameershk@google.com
encoding.py
in apitools/base/py
16 - 2014-04-07 2018-06-15 39 19 +1018 / -1054 craigcitro@google.com harrisongregg@users.noreply...
transfer.py
in apitools/base/py
755 73 2013-10-23 2021-04-21 44 18 +1599 / -618 craigcitro@google.com 66492516+nickgoog@users.nor...
base_api.py
in apitools/base/py
502 58 2013-10-23 2024-09-05 45 17 +785 / -512 craigcitro@google.com 10370863+cglouch@users.nore...
util.py
in apitools/gen
310 36 2014-04-07 2024-09-16 33 13 +382 / -133 craigcitro@google.com 10370863+cglouch@users.nore...
protojson.py
in apitools/base/protorpclite
215 11 2015-09-18 2022-08-09 18 13 +861 / -89 craigcitro@google.com jameslynnwu@users.noreply.g...
service_registry.py
in apitools/gen
415 20 2013-10-23 2024-09-05 30 12 +338 / -211 craigcitro@google.com 10370863+cglouch@users.nore...
list_pager.py
in apitools/base/py
54 3 2014-11-06 2020-02-07 18 12 +196 / -41 craigcitro@google.com 60764042+kaylajin@users.nor...
batch.py
in apitools/base/py
205 19 2014-04-07 2019-01-22 24 11 +695 / -151 craigcitro@google.com kevinli7@berkeley.edu
messages.py
in apitools/base/protorpclite
797 83 2015-09-18 2024-06-11 13 11 +4250 / -242 craigcitro@google.com kaiqizheng@google.com
gen_client_lib.py
in apitools/gen
201 18 2014-04-07 2020-07-09 35 10 +381 / -184 craigcitro@google.com jameslynnwu@users.noreply.g...
gen_client.py
in apitools/gen
255 14 2014-04-07 2024-09-16 30 10 +646 / -419 craigcitro@google.com 10370863+cglouch@users.nore...
http_wrapper.py
in apitools/base/py
227 19 2014-04-07 2020-05-14 27 10 +614 / -144 craigcitro@google.com 34144949+ejochman@users.nor...
util.py
in apitools/base/py
121 9 2013-10-23 2020-01-27 21 10 +270 / -66 craigcitro@google.com tir.karthi@gmail.com
extended_descriptor.py
in apitools/gen
364 32 2014-04-07 2020-07-09 19 10 +228 / -99 craigcitro@google.com jameslynnwu@users.noreply.g...
mock.py
in apitools/base/py/testing
222 18 2015-05-04 2019-09-12 20 8 +564 / -131 craigcitro@google.com jeff.tze.wu@gmail.com
util.py
in apitools/base/protorpclite
127 7 2015-09-18 2024-04-29 8 8 +632 / -26 craigcitro@google.com 10370863+cglouch@users.nore...
message_registry.py
in apitools/gen
374 27 2014-04-07 2025-03-11 20 7 +300 / -145 craigcitro@google.com sergeiz@google.com
extra_types.py
in apitools/base/py
179 19 2014-04-07 2020-01-27 17 7 +388 / -61 craigcitro@google.com tir.karthi@gmail.com
exceptions.py
in apitools/base/py
72 7 2014-04-07 2019-05-07 13 7 +215 / -31 craigcitro@google.com tvalentyn@users.noreply.git...
150 6 2013-10-23 2019-01-22 5 5 +283 / -2 craigcitro@google.com kevinli7@berkeley.edu
__init__.py
in apitools/base/py
14 - 2014-04-07 2016-12-19 8 4 +66 / -9 craigcitro@google.com arthur.cherba@gmail.com
compression.py
in apitools/base/py
51 7 2017-10-13 2017-11-15 4 4 +293 / -11 mooman219@gmail.com jcumbo@google.com
stream_slice.py
in apitools/base/py
30 6 2015-03-01 2015-10-26 7 3 +97 / -3 craigcitro@google.com craigcitro@gmail.com
__init__.py
in apitools
2 - 2014-07-15 2015-10-26 4 3 +34 / -0 craigcitro@gmail.com craigcitro@gmail.com
buffered_stream.py
in apitools/base/py
39 7 2015-03-01 2015-10-26 4 3 +90 / -1 craigcitro@google.com craigcitro@gmail.com
in
6 - 2013-10-23 2022-08-09 3 3 +7 / -0 craigcitro@google.com xhochy@users.noreply.github...
__init__.py
in apitools/gen
2 - 2014-11-06 2015-10-26 3 3 +34 / -0 craigcitro@google.com craigcitro@gmail.com
message_types.py
in apitools/base/protorpclite
51 3 2015-09-18 2024-10-23 3 3 +246 / -8 craigcitro@google.com sameershk@google.com
__init__.py
in apitools/base/protorpclite
2 - 2015-09-18 2016-01-01 3 3 +38 / -0 craigcitro@google.com cherba@google.com
descriptor.py
in apitools/base/protorpclite
242 11 2015-09-18 2019-09-12 3 3 +1257 / -27 craigcitro@google.com jeff.tze.wu@gmail.com
__init__.py
in apitools/base
2 - 2014-11-06 2015-10-26 3 3 +34 / -0 craigcitro@google.com craigcitro@gmail.com
__init__.py
in apitools/base/py/testing
1 - 2015-05-04 2015-10-26 3 3 +31 / -0 craigcitro@google.com craigcitro@gmail.com
gzip.py
in apitools/base/py
402 37 2017-10-13 2017-11-07 3 3 +1235 / -1 mooman219@gmail.com joewcu+git@gmail.com
encoding_helper.py
in apitools/base/py
489 44 2018-06-15 2022-08-09 3 3 +812 / -4 harrisongregg@users.noreply... jameslynnwu@users.noreply.g...
__init__.py
in apitools/scripts
2 - 2015-06-03 2015-10-26 3 3 +40 / -0 craigcitro@gmail.com craigcitro@gmail.com
Files With Least Contributors (Top 36)
Based on the number of unique email addresses found in commits.

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsline
churn
first
contributor
latest
contributor
encoding_helper.py
in apitools/base/py
489 44 2018-06-15 2022-08-09 3 3 +812 / -4 harrisongregg@users.noreply... jameslynnwu@users.noreply.g...
gzip.py
in apitools/base/py
402 37 2017-10-13 2017-11-07 3 3 +1235 / -1 mooman219@gmail.com joewcu+git@gmail.com
descriptor.py
in apitools/base/protorpclite
242 11 2015-09-18 2019-09-12 3 3 +1257 / -27 craigcitro@google.com jeff.tze.wu@gmail.com
message_types.py
in apitools/base/protorpclite
51 3 2015-09-18 2024-10-23 3 3 +246 / -8 craigcitro@google.com sameershk@google.com
buffered_stream.py
in apitools/base/py
39 7 2015-03-01 2015-10-26 4 3 +90 / -1 craigcitro@google.com craigcitro@gmail.com
stream_slice.py
in apitools/base/py
30 6 2015-03-01 2015-10-26 7 3 +97 / -3 craigcitro@google.com craigcitro@gmail.com
in
6 - 2013-10-23 2022-08-09 3 3 +7 / -0 craigcitro@google.com xhochy@users.noreply.github...
__init__.py
in apitools/gen
2 - 2014-11-06 2015-10-26 3 3 +34 / -0 craigcitro@google.com craigcitro@gmail.com
__init__.py
in apitools
2 - 2014-07-15 2015-10-26 4 3 +34 / -0 craigcitro@gmail.com craigcitro@gmail.com
__init__.py
in apitools/base/protorpclite
2 - 2015-09-18 2016-01-01 3 3 +38 / -0 craigcitro@google.com cherba@google.com
__init__.py
in apitools/base
2 - 2014-11-06 2015-10-26 3 3 +34 / -0 craigcitro@google.com craigcitro@gmail.com
__init__.py
in apitools/scripts
2 - 2015-06-03 2015-10-26 3 3 +40 / -0 craigcitro@gmail.com craigcitro@gmail.com
__init__.py
in apitools/base/py/testing
1 - 2015-05-04 2015-10-26 3 3 +31 / -0 craigcitro@google.com craigcitro@gmail.com
compression.py
in apitools/base/py
51 7 2017-10-13 2017-11-15 4 4 +293 / -11 mooman219@gmail.com jcumbo@google.com
__init__.py
in apitools/base/py
14 - 2014-04-07 2016-12-19 8 4 +66 / -9 craigcitro@google.com arthur.cherba@gmail.com
150 6 2013-10-23 2019-01-22 5 5 +283 / -2 craigcitro@google.com kevinli7@berkeley.edu
message_registry.py
in apitools/gen
374 27 2014-04-07 2025-03-11 20 7 +300 / -145 craigcitro@google.com sergeiz@google.com
extra_types.py
in apitools/base/py
179 19 2014-04-07 2020-01-27 17 7 +388 / -61 craigcitro@google.com tir.karthi@gmail.com
exceptions.py
in apitools/base/py
72 7 2014-04-07 2019-05-07 13 7 +215 / -31 craigcitro@google.com tvalentyn@users.noreply.git...
mock.py
in apitools/base/py/testing
222 18 2015-05-04 2019-09-12 20 8 +564 / -131 craigcitro@google.com jeff.tze.wu@gmail.com
util.py
in apitools/base/protorpclite
127 7 2015-09-18 2024-04-29 8 8 +632 / -26 craigcitro@google.com 10370863+cglouch@users.nore...
extended_descriptor.py
in apitools/gen
364 32 2014-04-07 2020-07-09 19 10 +228 / -99 craigcitro@google.com jameslynnwu@users.noreply.g...
gen_client.py
in apitools/gen
255 14 2014-04-07 2024-09-16 30 10 +646 / -419 craigcitro@google.com 10370863+cglouch@users.nore...
http_wrapper.py
in apitools/base/py
227 19 2014-04-07 2020-05-14 27 10 +614 / -144 craigcitro@google.com 34144949+ejochman@users.nor...
gen_client_lib.py
in apitools/gen
201 18 2014-04-07 2020-07-09 35 10 +381 / -184 craigcitro@google.com jameslynnwu@users.noreply.g...
util.py
in apitools/base/py
121 9 2013-10-23 2020-01-27 21 10 +270 / -66 craigcitro@google.com tir.karthi@gmail.com
messages.py
in apitools/base/protorpclite
797 83 2015-09-18 2024-06-11 13 11 +4250 / -242 craigcitro@google.com kaiqizheng@google.com
batch.py
in apitools/base/py
205 19 2014-04-07 2019-01-22 24 11 +695 / -151 craigcitro@google.com kevinli7@berkeley.edu
service_registry.py
in apitools/gen
415 20 2013-10-23 2024-09-05 30 12 +338 / -211 craigcitro@google.com 10370863+cglouch@users.nore...
list_pager.py
in apitools/base/py
54 3 2014-11-06 2020-02-07 18 12 +196 / -41 craigcitro@google.com 60764042+kaylajin@users.nor...
util.py
in apitools/gen
310 36 2014-04-07 2024-09-16 33 13 +382 / -133 craigcitro@google.com 10370863+cglouch@users.nore...
protojson.py
in apitools/base/protorpclite
215 11 2015-09-18 2022-08-09 18 13 +861 / -89 craigcitro@google.com jameslynnwu@users.noreply.g...
base_api.py
in apitools/base/py
502 58 2013-10-23 2024-09-05 45 17 +785 / -512 craigcitro@google.com 10370863+cglouch@users.nore...
transfer.py
in apitools/base/py
755 73 2013-10-23 2021-04-21 44 18 +1599 / -618 craigcitro@google.com 66492516+nickgoog@users.nor...
credentials_lib.py
in apitools/base/py
461 37 2014-04-07 2024-10-23 56 19 +1395 / -612 craigcitro@google.com sameershk@google.com
encoding.py
in apitools/base/py
16 - 2014-04-07 2018-06-15 39 19 +1018 / -1054 craigcitro@google.com harrisongregg@users.noreply...
Correlations

File Size vs. Number of Changes: 36 points

apitools/gen/message_registry.py x: 374 lines of code y: 20 # changes apitools/base/protorpclite/message_types.py x: 51 lines of code y: 3 # changes apitools/base/py/credentials_lib.py x: 461 lines of code y: 56 # changes apitools/gen/gen_client.py x: 255 lines of code y: 30 # changes apitools/gen/util.py x: 310 lines of code y: 33 # changes apitools/base/py/base_api.py x: 502 lines of code y: 45 # changes apitools/gen/service_registry.py x: 415 lines of code y: 30 # changes apitools/base/protorpclite/messages.py x: 797 lines of code y: 13 # changes apitools/base/protorpclite/util.py x: 127 lines of code y: 8 # changes MANIFEST.in x: 6 lines of code y: 3 # changes apitools/base/protorpclite/protojson.py x: 215 lines of code y: 18 # changes apitools/base/py/encoding_helper.py x: 489 lines of code y: 3 # changes apitools/base/py/transfer.py x: 755 lines of code y: 44 # changes apitools/gen/extended_descriptor.py x: 364 lines of code y: 19 # changes apitools/gen/gen_client_lib.py x: 201 lines of code y: 35 # changes apitools/base/py/http_wrapper.py x: 227 lines of code y: 27 # changes apitools/base/py/list_pager.py x: 54 lines of code y: 18 # changes apitools/base/py/extra_types.py x: 179 lines of code y: 17 # changes apitools/base/py/util.py x: 121 lines of code y: 21 # changes apitools/base/py/testing/mock.py x: 222 lines of code y: 20 # changes apitools/base/protorpclite/descriptor.py x: 242 lines of code y: 3 # changes apitools/base/py/exceptions.py x: 72 lines of code y: 13 # changes apitools/base/py/batch.py x: 205 lines of code y: 24 # changes ez_setup.py x: 150 lines of code y: 5 # changes apitools/base/py/encoding.py x: 16 lines of code y: 39 # changes apitools/base/py/compression.py x: 51 lines of code y: 4 # changes apitools/base/py/gzip.py x: 402 lines of code y: 3 # changes apitools/base/py/__init__.py x: 14 lines of code y: 8 # changes apitools/base/protorpclite/__init__.py x: 2 lines of code y: 3 # changes apitools/__init__.py x: 2 lines of code y: 4 # changes apitools/base/py/buffered_stream.py x: 39 lines of code y: 4 # changes apitools/base/py/stream_slice.py x: 30 lines of code y: 7 # changes apitools/base/py/testing/__init__.py x: 1 lines of code y: 3 # changes
56.0
# changes
  min: 3.0
  average: 16.44
  25th percentile: 3.0
  median: 13.0
  75th percentile: 26.25
  max: 56.0
0 797.0
lines of code
min: 1.0 | average: 204.36 | 25th percentile: 19.5 | median: 164.5 | 75th percentile: 350.5 | max: 797.0

Number of Contributors vs. Number of Changes: 36 points

apitools/gen/message_registry.py x: 7 # contributors y: 20 # changes apitools/base/protorpclite/message_types.py x: 3 # contributors y: 3 # changes apitools/base/py/credentials_lib.py x: 19 # contributors y: 56 # changes apitools/gen/gen_client.py x: 10 # contributors y: 30 # changes apitools/gen/util.py x: 13 # contributors y: 33 # changes apitools/base/py/base_api.py x: 17 # contributors y: 45 # changes apitools/gen/service_registry.py x: 12 # contributors y: 30 # changes apitools/base/protorpclite/messages.py x: 11 # contributors y: 13 # changes apitools/base/protorpclite/util.py x: 8 # contributors y: 8 # changes apitools/base/protorpclite/protojson.py x: 13 # contributors y: 18 # changes apitools/base/py/transfer.py x: 18 # contributors y: 44 # changes apitools/gen/extended_descriptor.py x: 10 # contributors y: 19 # changes apitools/gen/gen_client_lib.py x: 10 # contributors y: 35 # changes apitools/base/py/http_wrapper.py x: 10 # contributors y: 27 # changes apitools/base/py/list_pager.py x: 12 # contributors y: 18 # changes apitools/base/py/extra_types.py x: 7 # contributors y: 17 # changes apitools/base/py/util.py x: 10 # contributors y: 21 # changes apitools/base/py/testing/mock.py x: 8 # contributors y: 20 # changes apitools/base/py/exceptions.py x: 7 # contributors y: 13 # changes apitools/base/py/batch.py x: 11 # contributors y: 24 # changes ez_setup.py x: 5 # contributors y: 5 # changes apitools/base/py/encoding.py x: 19 # contributors y: 39 # changes apitools/base/py/compression.py x: 4 # contributors y: 4 # changes apitools/base/py/__init__.py x: 4 # contributors y: 8 # changes apitools/__init__.py x: 3 # contributors y: 4 # changes apitools/base/py/stream_slice.py x: 3 # contributors y: 7 # changes
56.0
# changes
  min: 3.0
  average: 16.44
  25th percentile: 3.0
  median: 13.0
  75th percentile: 26.25
  max: 56.0
0 19.0
# contributors
min: 3.0 | average: 7.89 | 25th percentile: 3.0 | median: 7.0 | 75th percentile: 11.0 | max: 19.0

Number of Contributors vs. File Size: 36 points

apitools/gen/message_registry.py x: 7 # contributors y: 374 lines of code apitools/base/protorpclite/message_types.py x: 3 # contributors y: 51 lines of code apitools/base/py/credentials_lib.py x: 19 # contributors y: 461 lines of code apitools/gen/gen_client.py x: 10 # contributors y: 255 lines of code apitools/gen/util.py x: 13 # contributors y: 310 lines of code apitools/base/py/base_api.py x: 17 # contributors y: 502 lines of code apitools/gen/service_registry.py x: 12 # contributors y: 415 lines of code apitools/base/protorpclite/messages.py x: 11 # contributors y: 797 lines of code apitools/base/protorpclite/util.py x: 8 # contributors y: 127 lines of code MANIFEST.in x: 3 # contributors y: 6 lines of code apitools/base/protorpclite/protojson.py x: 13 # contributors y: 215 lines of code apitools/base/py/encoding_helper.py x: 3 # contributors y: 489 lines of code apitools/base/py/transfer.py x: 18 # contributors y: 755 lines of code apitools/gen/extended_descriptor.py x: 10 # contributors y: 364 lines of code apitools/gen/gen_client_lib.py x: 10 # contributors y: 201 lines of code apitools/base/py/http_wrapper.py x: 10 # contributors y: 227 lines of code apitools/base/py/list_pager.py x: 12 # contributors y: 54 lines of code apitools/base/py/extra_types.py x: 7 # contributors y: 179 lines of code apitools/base/py/util.py x: 10 # contributors y: 121 lines of code apitools/base/py/testing/mock.py x: 8 # contributors y: 222 lines of code apitools/base/protorpclite/descriptor.py x: 3 # contributors y: 242 lines of code apitools/base/py/exceptions.py x: 7 # contributors y: 72 lines of code apitools/base/py/batch.py x: 11 # contributors y: 205 lines of code ez_setup.py x: 5 # contributors y: 150 lines of code apitools/base/py/encoding.py x: 19 # contributors y: 16 lines of code apitools/base/py/compression.py x: 4 # contributors y: 51 lines of code apitools/base/py/gzip.py x: 3 # contributors y: 402 lines of code apitools/base/py/__init__.py x: 4 # contributors y: 14 lines of code apitools/base/protorpclite/__init__.py x: 3 # contributors y: 2 lines of code apitools/base/py/buffered_stream.py x: 3 # contributors y: 39 lines of code apitools/base/py/stream_slice.py x: 3 # contributors y: 30 lines of code
797.0
lines of code
  min: 1.0
  average: 204.36
  25th percentile: 19.5
  median: 164.5
  75th percentile: 350.5
  max: 797.0
0 19.0
# contributors
min: 3.0 | average: 7.89 | 25th percentile: 3.0 | median: 7.0 | 75th percentile: 11.0 | max: 19.0

Number of Changes vs. Line Churn: 154 points

README.rst x: 8 # changes y: 155 line churn setup.cfg x: 4 # changes y: 15 line churn setup.py x: 94 # changes y: 445 line churn apitools/gen/gen_client_test.py x: 22 # changes y: 638 line churn apitools/gen/message_registry.py x: 20 # changes y: 445 line churn apitools/gen/testdata/compute/compute_2025-01-01-preview.json x: 1 # changes y: 87952 line churn apitools/base/protorpclite/descriptor_test.py x: 4 # changes y: 1152 line churn apitools/base/protorpclite/message_types.py x: 3 # changes y: 254 line churn apitools/base/protorpclite/messages_test.py x: 11 # changes y: 4962 line churn apitools/base/protorpclite/protojson_test.py x: 10 # changes y: 1143 line churn apitools/base/protorpclite/test_util.py x: 11 # changes y: 1491 line churn apitools/base/protorpclite/util_test.py x: 4 # changes y: 556 line churn apitools/base/py/batch_test.py x: 18 # changes y: 829 line churn apitools/base/py/credentials_lib.py x: 56 # changes y: 2007 line churn apitools/base/py/exceptions_test.py x: 5 # changes y: 158 line churn apitools/base/py/list_pager_test.py x: 16 # changes y: 766 line churn apitools/base/py/transfer_test.py x: 25 # changes y: 1304 line churn apitools/base/py/util_test.py x: 14 # changes y: 359 line churn samples/uptodate_check_test.py x: 12 # changes y: 206 line churn apitools/gen/gen_client.py x: 30 # changes y: 1065 line churn apitools/gen/testdata/dns/dns_2015-08-07-preview.json x: 1 # changes y: 716 line churn apitools/gen/util.py x: 33 # changes y: 515 line churn apitools/base/py/base_api.py x: 45 # changes y: 1297 line churn apitools/base/py/base_api_test.py x: 32 # changes y: 563 line churn apitools/gen/service_registry.py x: 30 # changes y: 549 line churn apitools/base/protorpclite/messages.py x: 13 # changes y: 4492 line churn samples/iam_sample/iam_v1.json x: 3 # changes y: 2446 line churn samples/iam_sample/iam_v1/iam_v1_client.py x: 12 # changes y: 2323 line churn samples/iam_sample/iam_v1/iam_v1_messages.py x: 9 # changes y: 2192 line churn apitools/base/protorpclite/util.py x: 8 # changes y: 658 line churn samples/bigquery_sample/bigquery_v2/bigquery_v2_client.py x: 8 # changes y: 1745 line churn samples/bigquery_sample/bigquery_v2/bigquery_v2_messages.py x: 6 # changes y: 4492 line churn samples/dns_sample/dns_v1/dns_v1_client.py x: 11 # changes y: 1319 line churn samples/dns_sample/dns_v1/dns_v1_messages.py x: 6 # changes y: 960 line churn samples/fusiontables_sample/fusiontables_v1/fusiontables_v1_client.py x: 10 # changes y: 4323 line churn samples/fusiontables_sample/fusiontables_v1/fusiontables_v1_messages.py x: 8 # changes y: 2248 line churn samples/servicemanagement_sample/servicemanagement_v1/servicemanagement_v1_client.py x: 10 # changes y: 3589 line churn samples/servicemanagement_sample/servicemanagement_v1/servicemanagement_v1_messages.py x: 8 # changes y: 7779 line churn samples/storage_sample/storage_v1/storage_v1_client.py x: 11 # changes y: 5795 line churn samples/storage_sample/storage_v1/storage_v1_messages.py x: 7 # changes y: 4978 line churn apitools/base/py/encoding_helper.py x: 3 # changes y: 816 line churn apitools/base/py/encoding_test.py x: 41 # changes y: 1578 line churn apitools/base/py/transfer.py x: 44 # changes y: 2217 line churn apitools/gen/extended_descriptor.py x: 19 # changes y: 327 line churn apitools/gen/gen_client_lib.py x: 35 # changes y: 565 line churn apitools/base/py/http_wrapper.py x: 27 # changes y: 758 line churn apitools/base/py/extra_types_test.py x: 16 # changes y: 311 line churn apitools/gen/client_generation_test.py x: 21 # changes y: 462 line churn apitools/gen/test_utils.py x: 9 # changes y: 130 line churn apitools/gen/util_test.py x: 7 # changes y: 197 line churn samples/storage_sample/storage_v1.json x: 4 # changes y: 6679 line churn apitools/base/py/list_pager.py x: 18 # changes y: 237 line churn apitools/base/py/extra_types.py x: 17 # changes y: 449 line churn apitools/base/py/util.py x: 21 # changes y: 336 line churn apitools/base/py/testing/mock.py x: 20 # changes y: 695 line churn apitools/base/protorpclite/descriptor.py x: 3 # changes y: 1284 line churn apitools/base/py/exceptions.py x: 13 # changes y: 246 line churn apitools/base/py/batch.py x: 24 # changes y: 846 line churn samples/storage_sample/downloads_test.py x: 14 # changes y: 261 line churn apitools/scripts/testdata/fake_client_secrets.json x: 2 # changes y: 34 line churn apitools/base/py/encoding.py x: 39 # changes y: 2072 line churn samples/storage_sample/uploads_test.py x: 11 # changes y: 242 line churn samples/regenerate_samples.py x: 10 # changes y: 143 line churn apitools/base/py/app2.py x: 13 # changes y: 1011 line churn apitools/base/py/base_cli.py x: 15 # changes y: 431 line churn apitools/gen/command_registry.py x: 19 # changes y: 1602 line churn samples/bigquery_sample/bigquery_v2/bigquery_v2.py x: 4 # changes y: 4384 line churn samples/dns_sample/dns_v1/dns_v1.py x: 4 # changes y: 2216 line churn samples/fusiontables_sample/fusiontables_v1/fusiontables_v1.py x: 4 # changes y: 7188 line churn samples/iam_sample/iam_v1/iam_v1.py x: 4 # changes y: 3684 line churn samples/servicemanagement_sample/servicemanagement_v1/servicemanagement_v1.py x: 4 # changes y: 6080 line churn samples/storage_sample/storage_v1/storage_v1.py x: 4 # changes y: 14312 line churn apitools/scripts/oauth2l_test.py x: 10 # changes y: 1676 line churn default.pylintrc x: 13 # changes y: 1189 line churn run_pylint.py x: 21 # changes y: 833 line churn apitools/base/py/gzip_test.py x: 2 # changes y: 1028 line churn samples/bigquery_sample/bigquery_v2.json x: 2 # changes y: 5272 line churn samples/servicemanagement_sample/servicemanagement_v1.json x: 2 # changes y: 6764 line churn apitools/base/py/testing/testclient/fusiontables_v1_client.py x: 6 # changes y: 436 line churn apitools/base/py/testing/testclient/fusiontables_v1_messages.py x: 9 # changes y: 508 line churn samples/fusiontables_sample/fusiontables_v1.json x: 2 # changes y: 3652 line churn samples/dns_sample/__init__.py x: 1 # changes y: 26 line churn apitools/gen/testdata/dns/dns_v1_messages.py x: 4 # changes y: 1700 line churn apitools/gen/testdata/iam/iam_v1.json x: 4 # changes y: 4880 line churn apitools/gen/testdata/iam/iam_v1_messages.py x: 4 # changes y: 3856 line churn samples/dns_sample/dns_v1.json x: 2 # changes y: 1414 line churn samples/storage_sample/storage/storage_v1.py x: 9 # changes y: 15312 line churn samples/storage_sample/storage/storage_v1_client.py x: 9 # changes y: 4905 line churn samples/storage_sample/storage/storage_v1_messages.py x: 9 # changes y: 6634 line churn apitools/gen/testdata/dns_v1.json x: 4 # changes y: 2828 line churn apitools/gen/testdata/gen_dns_v1.py x: 3 # changes y: 2216 line churn apitools/gen/testdata/gen_dns_v1_client.py x: 5 # changes y: 1272 line churn apitools/gen/testdata/gen_dns_v1_messages.py x: 3 # changes y: 1700 line churn
87952.0
line churn
  min: 4.0
  average: 2008.89
  25th percentile: 106.0
  median: 511.5
  75th percentile: 1711.25
  max: 87952.0
0 94.0
# changes
min: 1.0 | average: 10.25 | 25th percentile: 3.0 | median: 5.0 | 75th percentile: 13.0 | max: 94.0

Number of Contributors vs. Line Churn: 36 points

apitools/gen/message_registry.py x: 7 # contributors y: 445 line churn apitools/base/protorpclite/message_types.py x: 3 # contributors y: 254 line churn apitools/base/py/credentials_lib.py x: 19 # contributors y: 2007 line churn apitools/gen/gen_client.py x: 10 # contributors y: 1065 line churn apitools/gen/util.py x: 13 # contributors y: 515 line churn apitools/base/py/base_api.py x: 17 # contributors y: 1297 line churn apitools/gen/service_registry.py x: 12 # contributors y: 549 line churn apitools/base/protorpclite/messages.py x: 11 # contributors y: 4492 line churn apitools/base/protorpclite/util.py x: 8 # contributors y: 658 line churn MANIFEST.in x: 3 # contributors y: 7 line churn apitools/base/protorpclite/protojson.py x: 13 # contributors y: 950 line churn apitools/base/py/encoding_helper.py x: 3 # contributors y: 816 line churn apitools/base/py/transfer.py x: 18 # contributors y: 2217 line churn apitools/gen/extended_descriptor.py x: 10 # contributors y: 327 line churn apitools/gen/gen_client_lib.py x: 10 # contributors y: 565 line churn apitools/base/py/http_wrapper.py x: 10 # contributors y: 758 line churn apitools/base/py/list_pager.py x: 12 # contributors y: 237 line churn apitools/base/py/testing/mock.py x: 8 # contributors y: 695 line churn apitools/base/protorpclite/descriptor.py x: 3 # contributors y: 1284 line churn apitools/base/py/exceptions.py x: 7 # contributors y: 246 line churn apitools/base/py/batch.py x: 11 # contributors y: 846 line churn ez_setup.py x: 5 # contributors y: 285 line churn apitools/base/py/encoding.py x: 19 # contributors y: 2072 line churn apitools/base/py/compression.py x: 4 # contributors y: 304 line churn apitools/base/py/gzip.py x: 3 # contributors y: 1236 line churn apitools/base/py/__init__.py x: 4 # contributors y: 75 line churn apitools/base/protorpclite/__init__.py x: 3 # contributors y: 38 line churn apitools/__init__.py x: 3 # contributors y: 34 line churn apitools/base/py/buffered_stream.py x: 3 # contributors y: 91 line churn
4492.0
line churn
  min: 7.0
  average: 705.25
  25th percentile: 93.25
  median: 447.0
  75th percentile: 924.0
  max: 4492.0
0 19.0
# contributors
min: 3.0 | average: 7.89 | 25th percentile: 3.0 | median: 7.0 | 75th percentile: 11.0 | max: 19.0

File Size vs. Line Churn: 36 points

apitools/gen/message_registry.py x: 374 lines of code y: 445 line churn apitools/base/protorpclite/message_types.py x: 51 lines of code y: 254 line churn apitools/base/py/credentials_lib.py x: 461 lines of code y: 2007 line churn apitools/gen/gen_client.py x: 255 lines of code y: 1065 line churn apitools/gen/util.py x: 310 lines of code y: 515 line churn apitools/base/py/base_api.py x: 502 lines of code y: 1297 line churn apitools/gen/service_registry.py x: 415 lines of code y: 549 line churn apitools/base/protorpclite/messages.py x: 797 lines of code y: 4492 line churn apitools/base/protorpclite/util.py x: 127 lines of code y: 658 line churn MANIFEST.in x: 6 lines of code y: 7 line churn apitools/base/protorpclite/protojson.py x: 215 lines of code y: 950 line churn apitools/base/py/encoding_helper.py x: 489 lines of code y: 816 line churn apitools/base/py/transfer.py x: 755 lines of code y: 2217 line churn apitools/gen/extended_descriptor.py x: 364 lines of code y: 327 line churn apitools/gen/gen_client_lib.py x: 201 lines of code y: 565 line churn apitools/base/py/http_wrapper.py x: 227 lines of code y: 758 line churn apitools/base/py/list_pager.py x: 54 lines of code y: 237 line churn apitools/base/py/extra_types.py x: 179 lines of code y: 449 line churn apitools/base/py/util.py x: 121 lines of code y: 336 line churn apitools/base/py/testing/mock.py x: 222 lines of code y: 695 line churn apitools/base/protorpclite/descriptor.py x: 242 lines of code y: 1284 line churn apitools/base/py/exceptions.py x: 72 lines of code y: 246 line churn apitools/base/py/batch.py x: 205 lines of code y: 846 line churn ez_setup.py x: 150 lines of code y: 285 line churn apitools/base/py/encoding.py x: 16 lines of code y: 2072 line churn apitools/base/py/compression.py x: 51 lines of code y: 304 line churn apitools/base/py/gzip.py x: 402 lines of code y: 1236 line churn apitools/base/py/__init__.py x: 14 lines of code y: 75 line churn apitools/base/protorpclite/__init__.py x: 2 lines of code y: 38 line churn apitools/__init__.py x: 2 lines of code y: 34 line churn apitools/base/py/buffered_stream.py x: 39 lines of code y: 91 line churn apitools/base/py/stream_slice.py x: 30 lines of code y: 100 line churn apitools/base/py/testing/__init__.py x: 1 lines of code y: 31 line churn
4492.0
line churn
  min: 7.0
  average: 705.25
  25th percentile: 93.25
  median: 447.0
  75th percentile: 924.0
  max: 4492.0
0 797.0
lines of code
min: 1.0 | average: 204.36 | 25th percentile: 19.5 | median: 164.5 | 75th percentile: 350.5 | max: 797.0