instagram / Fixit
File Change Frequency

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

File Change Frequency Overall
File Change Frequency Overall
The number of recorded file updates
  • There are 69 files with 6,332 lines of code.
    • 0 files changed more than 100 times (0 lines of code)
    • 0 files changed 51-100 times (0 lines of code)
    • 1 files changed 21-50 times (173 lines of code)
    • 19 files changed 6-20 times (2,324 lines of code)
    • 49 files changed 1-5 times (3,835 lines of code)
0% | 0% | 2% | 36% | 60%
Legend:
101+
51-100
21-50
6-20
1-5
explore: zoomable circles | data
File Change Frequency per File Extension
py, json, svg, rst, md, txt, ipynb, yaml, yml, css, in, ini, gitignore, watchmanconfig, toml, editorconfig, html
File Change Frequency per Extension
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
py0% | 0% | 2% | 36% | 60%
toml0% | 0% | 0% | 0% | 100%
yml0% | 0% | 0% | 0% | 100%
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
fixit/common0% | 0% | 10% | 32% | 57%
fixit/rules0% | 0% | 0% | 31% | 68%
fixit/cli0% | 0% | 0% | 48% | 51%
fixit0% | 0% | 0% | 91% | 8%
ROOT0% | 0% | 0% | 77% | 22%
fixit/common/cli0% | 0% | 0% | 90% | 10%
Most Frequently Changed Files (Top 50)

See data for all files...

File# lines# unitslast modified
(days ago)
created
(days ago)
# changes# contributors
testing.py
in fixit/common
173 6 100 774 21 6
_version.py
in fixit
1 - 261 696 15 6
__init__.py
in fixit/common/cli
2 - 100 774 15 4
config.py
in fixit/common
86 4 100 774 15 6
139 7 100 774 15 5
base.py
in fixit/common
108 9 100 774 13 6
utils.py
in fixit/common
146 9 100 655 13 5
setup.py
in root
47 - 101 774 11 6
args.py
in fixit/common/cli
16 - 599 683 9 2
cls_in_classmethod.py
in fixit/rules
108 3 325 774 9 5
import_constraints.py
in fixit/rules
432 17 500 618 9 3
80 4 382 774 8 5
92 4 100 655 8 3
flake8_compat.py
in fixit/common
106 20 149 774 8 5
await_async_call.py
in fixit/rules
236 10 100 654 8 4
54 2 255 774 7 6
apply_fix.py
in fixit/cli
242 7 100 599 7 4
rewrite_to_literal.py
in fixit/rules
119 1 588 683 6 3
run_rules.py
in fixit/cli
132 4 100 599 6 4
__init__.py
in fixit/cli
178 6 100 599 6 4
no_assert_equals.py
in fixit/rules
25 1 592 774 5 4
no_implicit_concat.py
in fixit/rules
54 1 592 774 5 4
71 5 592 607 5 2
76 2 592 774 5 4
report.py
in fixit/common
100 9 101 662 5 4
117 1 487 683 5 3
139 5 100 655 5 3
199 5 100 599 5 4
in
1 - 325 753 4 4
avoid_or_in_except.py
in fixit/rules
24 1 592 774 4 4
53 3 100 599 4 2
add_new_rule.py
in fixit/cli
71 6 354 583 4 2
80 2 592 774 4 4
83 3 592 774 4 4
document.py
in fixit/common
99 8 591 605 4 2
100 2 592 683 4 2
insert_suppressions.py
in fixit/common
103 3 591 774 4 3
use_fstring.py
in fixit/rules
168 7 101 592 4 4
ignores.py
in fixit/common
207 14 541 774 4 4
unused_suppressions.py
in fixit/common
209 22 100 591 4 3
full_repo_metadata.py
in fixit/common
59 1 100 646 3 3
args.py
in fixit/cli
184 15 100 599 3 3
__init__.py
in fixit/rules
1 - 757 761 2 1
9 - 593 774 2 3
utils.py
in fixit/cli
12 6 573 599 2 2
37 1 592 600 2 1
no_namedtuple.py
in fixit/rules
88 2 100 569 2 2
add_file_header.py
in fixit/rules
115 2 560 561 2 2
autofix.py
in fixit/common
125 6 355 604 2 2
130 1 101 500 2 2
Files With Most Contributors (Top 50)
Files sorted by the number of unique email addresses found in commits.

See data for all files...

File# lines# unitslast modified
(days ago)
created
(days ago)
# changes# contributors
testing.py
in fixit/common
173 6 100 774 21 6
__init__.py
in fixit/common/cli
2 - 100 774 15 4
139 7 100 774 15 5
config.py
in fixit/common
86 4 100 774 15 6
_version.py
in fixit
1 - 261 696 15 6
utils.py
in fixit/common
146 9 100 655 13 5
base.py
in fixit/common
108 9 100 774 13 6
setup.py
in root
47 - 101 774 11 6
args.py
in fixit/common/cli
16 - 599 683 9 2
import_constraints.py
in fixit/rules
432 17 500 618 9 3
cls_in_classmethod.py
in fixit/rules
108 3 325 774 9 5
92 4 100 655 8 3
await_async_call.py
in fixit/rules
236 10 100 654 8 4
80 4 382 774 8 5
flake8_compat.py
in fixit/common
106 20 149 774 8 5
apply_fix.py
in fixit/cli
242 7 100 599 7 4
54 2 255 774 7 6
rewrite_to_literal.py
in fixit/rules
119 1 588 683 6 3
run_rules.py
in fixit/cli
132 4 100 599 6 4
__init__.py
in fixit/cli
178 6 100 599 6 4
71 5 592 607 5 2
117 1 487 683 5 3
139 5 100 655 5 3
76 2 592 774 5 4
no_assert_equals.py
in fixit/rules
25 1 592 774 5 4
no_implicit_concat.py
in fixit/rules
54 1 592 774 5 4
report.py
in fixit/common
100 9 101 662 5 4
199 5 100 599 5 4
100 2 592 683 4 2
document.py
in fixit/common
99 8 591 605 4 2
add_new_rule.py
in fixit/cli
71 6 354 583 4 2
53 3 100 599 4 2
unused_suppressions.py
in fixit/common
209 22 100 591 4 3
insert_suppressions.py
in fixit/common
103 3 591 774 4 3
use_fstring.py
in fixit/rules
168 7 101 592 4 4
83 3 592 774 4 4
80 2 592 774 4 4
avoid_or_in_except.py
in fixit/rules
24 1 592 774 4 4
ignores.py
in fixit/common
207 14 541 774 4 4
in
1 - 325 753 4 4
full_repo_metadata.py
in fixit/common
59 1 100 646 3 3
args.py
in fixit/cli
184 15 100 599 3 3
135 1 549 556 2 1
__init__.py
in fixit/rules
1 - 757 761 2 1
37 1 592 600 2 1
add_file_header.py
in fixit/rules
115 2 560 561 2 2
no_namedtuple.py
in fixit/rules
88 2 100 569 2 2
130 1 101 500 2 2
autofix.py
in fixit/common
125 6 355 604 2 2
utils.py
in fixit/cli
12 6 573 599 2 2
Correlations

File Size vs. Number of Changes: 69 points

fixit/cli/args.py x: 184 lines of code y: 3 # changes fixit/cli/__init__.py x: 178 lines of code y: 6 # changes fixit/cli/apply_fix.py x: 242 lines of code y: 7 # changes fixit/cli/full_repo_metadata.py x: 53 lines of code y: 4 # changes fixit/cli/insert_suppressions.py x: 199 lines of code y: 5 # changes fixit/cli/run_rules.py x: 132 lines of code y: 6 # changes fixit/common/base.py x: 108 lines of code y: 13 # changes fixit/common/cli/__init__.py x: 2 lines of code y: 15 # changes fixit/common/config.py x: 86 lines of code y: 15 # changes fixit/common/full_repo_metadata.py x: 59 lines of code y: 3 # changes fixit/common/generate_pyre_fixtures.py x: 92 lines of code y: 8 # changes fixit/common/testing.py x: 173 lines of code y: 21 # changes fixit/common/unused_suppressions.py x: 209 lines of code y: 4 # changes fixit/common/utils.py x: 146 lines of code y: 13 # changes fixit/rule_lint_engine.py x: 139 lines of code y: 15 # changes fixit/rules/await_async_call.py x: 236 lines of code y: 8 # changes fixit/rules/no_namedtuple.py x: 88 lines of code y: 2 # changes fixit/rules/use_is_none_on_optional.py x: 139 lines of code y: 5 # changes fixit/common/report.py x: 100 lines of code y: 5 # changes fixit/rules/explicit_frozen_dataclass.py x: 130 lines of code y: 2 # changes fixit/rules/use_fstring.py x: 168 lines of code y: 4 # changes setup.py x: 47 lines of code y: 11 # changes fixit/common/flake8_compat.py x: 106 lines of code y: 8 # changes fixit/rules/gather_sequential_await.py x: 54 lines of code y: 7 # changes fixit/_version.py x: 1 lines of code y: 15 # changes MANIFEST.in x: 1 lines of code y: 4 # changes fixit/rules/cls_in_classmethod.py x: 108 lines of code y: 9 # changes fixit/cli/add_new_rule.py x: 71 lines of code y: 4 # changes fixit/common/autofix.py x: 125 lines of code y: 2 # changes fixit/rules/use_types_from_typing.py x: 80 lines of code y: 8 # changes fixit/rules/rewrite_to_comprehension.py x: 117 lines of code y: 5 # changes fixit/rules/use_assert_in.py x: 146 lines of code y: 1 # changes fixit/rules/use_lint_fixme_comment.py x: 21 lines of code y: 1 # changes fixit/rules/import_constraints.py x: 432 lines of code y: 9 # changes fixit/rules/no_redundant_arguments_super.py x: 71 lines of code y: 1 # changes fixit/common/ignores.py x: 207 lines of code y: 4 # changes fixit/rules/sorted_attributes_rule.py x: 52 lines of code y: 1 # changes fixit/rules/use_assert_is_not_none.py x: 135 lines of code y: 2 # changes fixit/rules/add_file_header.py x: 115 lines of code y: 2 # changes fixit/rules/no_string_type_annotation.py x: 127 lines of code y: 1 # changes fixit/rules/no_assert_true_for_comparison.py x: 95 lines of code y: 1 # changes fixit/cli/utils.py x: 12 lines of code y: 2 # changes fixit/rules/chained_instance_check.py x: 132 lines of code y: 1 # changes fixit/rules/rewrite_to_literal.py x: 119 lines of code y: 6 # changes fixit/rules/no_redundant_lambda.py x: 63 lines of code y: 1 # changes fixit/common/insert_suppressions.py x: 103 lines of code y: 4 # changes fixit/common/document.py x: 99 lines of code y: 4 # changes codecov.yml x: 4 lines of code y: 1 # changes fixit/rules/no_redundant_fstring.py x: 46 lines of code y: 1 # changes fixit/rules/no_redundant_list_comprehension.py x: 48 lines of code y: 1 # changes fixit/rules/avoid_or_in_except.py x: 24 lines of code y: 4 # changes fixit/rules/compare_primitives_by_equal.py x: 76 lines of code y: 5 # changes fixit/rules/no_assert_equals.py x: 25 lines of code y: 5 # changes fixit/rules/no_implicit_concat.py x: 54 lines of code y: 5 # changes fixit/rules/no_static_if_condition.py x: 80 lines of code y: 4 # changes fixit/rules/replace_union_with_optional.py x: 83 lines of code y: 4 # changes fixit/rules/use_classname_as_code.py x: 71 lines of code y: 5 # changes fixit/__init__.py x: 13 lines of code y: 1 # changes fixit/rules/compare_singleton_primitives_by_is.py x: 100 lines of code y: 4 # changes fixit/rules/no_inherit_from_object.py x: 37 lines of code y: 2 # changes pyproject.toml x: 9 lines of code y: 2 # changes fixit/cli/init_config.py x: 5 lines of code y: 1 # changes fixit/common/cli/args.py x: 16 lines of code y: 9 # changes fixit/common/cli/formatter.py x: 2 lines of code y: 1 # changes fixit/rules/flake8_compat.py x: 24 lines of code y: 1 # changes fixit/rules/__init__.py x: 1 lines of code y: 2 # changes fixit/common/line_mapping.py x: 45 lines of code y: 1 # changes
21.0
# changes
  min: 1.0
  average: 4.91
  25th percentile: 1.0
  median: 4.0
  75th percentile: 6.5
  max: 21.0
0 432.0
lines of code
min: 1.0 | average: 91.77 | 25th percentile: 41.0 | median: 83.0 | 75th percentile: 131.0 | max: 432.0

Number of Contributors vs. Number of Changes: 69 points

fixit/cli/args.py x: 3 # contributors y: 3 # changes fixit/cli/__init__.py x: 4 # contributors y: 6 # changes fixit/cli/apply_fix.py x: 4 # contributors y: 7 # changes fixit/cli/full_repo_metadata.py x: 2 # contributors y: 4 # changes fixit/cli/insert_suppressions.py x: 4 # contributors y: 5 # changes fixit/common/base.py x: 6 # contributors y: 13 # changes fixit/common/cli/__init__.py x: 4 # contributors y: 15 # changes fixit/common/config.py x: 6 # contributors y: 15 # changes fixit/common/generate_pyre_fixtures.py x: 3 # contributors y: 8 # changes fixit/common/testing.py x: 6 # contributors y: 21 # changes fixit/common/unused_suppressions.py x: 3 # contributors y: 4 # changes fixit/common/utils.py x: 5 # contributors y: 13 # changes fixit/rule_lint_engine.py x: 5 # contributors y: 15 # changes fixit/rules/await_async_call.py x: 4 # contributors y: 8 # changes fixit/rules/no_namedtuple.py x: 2 # contributors y: 2 # changes fixit/rules/use_is_none_on_optional.py x: 3 # contributors y: 5 # changes fixit/rules/use_fstring.py x: 4 # contributors y: 4 # changes setup.py x: 6 # contributors y: 11 # changes fixit/common/flake8_compat.py x: 5 # contributors y: 8 # changes fixit/rules/gather_sequential_await.py x: 6 # contributors y: 7 # changes fixit/rules/cls_in_classmethod.py x: 5 # contributors y: 9 # changes fixit/rules/use_assert_in.py x: 1 # contributors y: 1 # changes fixit/rules/import_constraints.py x: 3 # contributors y: 9 # changes fixit/rules/use_assert_is_not_none.py x: 1 # contributors y: 2 # changes fixit/rules/rewrite_to_literal.py x: 3 # contributors y: 6 # changes fixit/rules/use_classname_as_code.py x: 2 # contributors y: 5 # changes pyproject.toml x: 3 # contributors y: 2 # changes fixit/cli/formatter.py x: 2 # contributors y: 1 # changes fixit/common/cli/args.py x: 2 # contributors y: 9 # changes
21.0
# changes
  min: 1.0
  average: 4.91
  25th percentile: 1.0
  median: 4.0
  75th percentile: 6.5
  max: 21.0
0 6.0
# contributors
min: 1.0 | average: 2.9 | 25th percentile: 1.0 | median: 3.0 | 75th percentile: 4.0 | max: 6.0