facebook / ThreatExchange
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 430 files with 45,524 lines of code.
    • 0 files changed more than 100 times (0 lines of code)
    • 1 files changed 51-100 times (239 lines of code)
    • 6 files changed 21-50 times (1,474 lines of code)
    • 57 files changed 6-20 times (8,813 lines of code)
    • 366 files changed 1-5 times (34,998 lines of code)
0% | <1% | 3% | 19% | 76%
Legend:
101+
51-100
21-50
6-20
1-5
explore: zoomable circles | data
File Change Frequency per File Extension
py, tsx, tf, md, cpp, java, h, rst, php, json, rb, txt, scss, gitignore, yml, js, yaml, sh, ini, hcl, c, css, html, ipynb, go, dockerignore, watchmanconfig, bat, bzl, xml, in, m4, tpl, prettierignore, ts
File Change Frequency per Extension
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
tf0% | 6% | 20% | 39% | 33%
py0% | 0% | 3% | 25% | 70%
tsx0% | 0% | 0% | 36% | 63%
scss0% | 0% | 0% | 22% | 77%
java0% | 0% | 0% | 0% | 100%
cpp0% | 0% | 0% | 0% | 100%
rb0% | 0% | 0% | 0% | 100%
h0% | 0% | 0% | 0% | 100%
php0% | 0% | 0% | 0% | 100%
c0% | 0% | 0% | 0% | 100%
ipynb0% | 0% | 0% | 0% | 100%
js0% | 0% | 0% | 0% | 100%
go0% | 0% | 0% | 0% | 100%
ts0% | 0% | 0% | 0% | 100%
bzl0% | 0% | 0% | 0% | 100%
tpl0% | 0% | 0% | 0% | 100%
html0% | 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
hasher-matcher-actioner/terraform0% | 6% | 20% | 38% | 34%
hasher-matcher-actioner/hmalib0% | 0% | 7% | 43% | 48%
hasher-matcher-actioner/webapp0% | 0% | 0% | 35% | 64%
python-threatexchange/threatexchange0% | 0% | 0% | 18% | 81%
python-threatexchange0% | 0% | 0% | 100% | 0%
hasher-matcher-actioner0% | 0% | 0% | 100% | 0%
api-reference-examples/java0% | 0% | 0% | 0% | 100%
api-reference-examples/python0% | 0% | 0% | 0% | 100%
pdq/java0% | 0% | 0% | 0% | 100%
tmk/cpp0% | 0% | 0% | 0% | 100%
pdq/cpp0% | 0% | 0% | 0% | 100%
pdq/php0% | 0% | 0% | 0% | 100%
api-reference-examples/ruby0% | 0% | 0% | 0% | 100%
pdq/python0% | 0% | 0% | 0% | 100%
api-reference-examples/python-notebook0% | 0% | 0% | 0% | 100%
api-reference-examples/js0% | 0% | 0% | 0% | 100%
api-reference-examples/php0% | 0% | 0% | 0% | 100%
api-reference-examples/go0% | 0% | 0% | 0% | 100%
python-threatexchange/benchmarks0% | 0% | 0% | 0% | 100%
hasher-matcher-actioner/scripts0% | 0% | 0% | 0% | 100%
hasher-matcher-actioner/hmalib_extensions0% | 0% | 0% | 0% | 100%
Most Frequently Changed Files (Top 50)

See data for all files...

File# lines# unitslast modified
(days ago)
created
(days ago)
# changes# contributors
main.tf
in hasher-matcher-actioner/terraform
239 - 44 413 57 7
api_root.py
in hasher-matcher-actioner/hmalib/lambdas/api
157 7 71 396 41 5
main.tf
in hasher-matcher-actioner/terraform/api
479 - 116 402 34 5
fetcher.py
in hasher-matcher-actioner/hmalib/lambdas
128 7 116 406 31 6
variables.tf
in hasher-matcher-actioner/terraform/api
165 - 122 402 27 5
variables.tf
in hasher-matcher-actioner/terraform
137 - 116 413 25 6
matches.py
in hasher-matcher-actioner/hmalib/lambdas/api
408 28 23 361 22 3
main.tf
in hasher-matcher-actioner/terraform/fetcher
166 - 128 403 19 5
submit.py
in hasher-matcher-actioner/hmalib/lambdas/api
305 24 185 351 19 3
setup.py
in hasher-matcher-actioner
31 - 17 389 18 5
action_performer.py
in hasher-matcher-actioner/hmalib/lambdas/actions
34 2 234 372 18 6
action_evaluator.py
in hasher-matcher-actioner/hmalib/lambdas/actions
156 6 122 366 18 4
Api.tsx
in hasher-matcher-actioner/webapp/src
645 65 71 231 18 3
setup.py
in python-threatexchange
60 - 24 498 15 6
variables.tf
in hasher-matcher-actioner/terraform/fetcher
53 - 175 403 14 5
signal_base.py
in python-threatexchange/threatexchange/signal_type
127 27 17 498 14 5
outputs.tf
in hasher-matcher-actioner/terraform
33 - 150 408 12 3
main.py
in python-threatexchange/threatexchange/cli
172 8 17 498 12 3
matchers_base.py
in hasher-matcher-actioner/hmalib/matchers
197 9 23 243 12 2
main.tf
in hasher-matcher-actioner/terraform/actions
356 - 175 372 12 4
s3_adapters.py
in hasher-matcher-actioner/hmalib/common
400 33 122 371 12 4
__init__.py
in hasher-matcher-actioner/hmalib/metrics
111 10 17 407 11 3
main.tf
in hasher-matcher-actioner/terraform/hashing-data
114 - 198 413 11 3
content.py
in hasher-matcher-actioner/hmalib/lambdas/api
176 11 190 331 11 2
bank.py
in hasher-matcher-actioner/hmalib/common/models
487 34 71 218 11 2
variables.tf
in hasher-matcher-actioner/terraform/actions
66 - 175 372 10 4
populate_config_db.py
in hasher-matcher-actioner/hmalib/scripts
175 5 220 364 10 4
config.py
in hasher-matcher-actioner/hmalib/common
193 28 217 365 10 5
bank.py
in hasher-matcher-actioner/hmalib/lambdas/api
194 18 79 218 10 2
main.tf
in hasher-matcher-actioner/terraform/datastore
146 - 122 327 9 2
pdq.py
in python-threatexchange/threatexchange/signal_type
188 6 24 498 9 4
ActionRuleSettingsTab.tsx
in hasher-matcher-actioner/webapp/src/pages/settings
287 - 86 269 9 3
_app.scss
in hasher-matcher-actioner/webapp/src/styles
52 - 116 371 8 3
aws_secrets.py
in hasher-matcher-actioner/hmalib
55 8 116 396 8 4
App.tsx
in hasher-matcher-actioner/webapp/src
63 - 67 231 8 2
threatexchange_config.py
in hasher-matcher-actioner/hmalib/common
78 5 116 351 8 4
stats.py
in hasher-matcher-actioner/hmalib/lambdas/api
94 4 178 343 8 2
ThreatExchangeSettingsTab.tsx
in hasher-matcher-actioner/webapp/src/pages/settings
238 1 67 281 8 4
common.py
in python-threatexchange/threatexchange
36 5 24 498 7 5
BankMessages.tsx
in hasher-matcher-actioner/webapp/src/messages
36 - 79 217 7 1
pdq_index.py
in python-threatexchange/threatexchange/signal_type
53 9 24 413 7 3
pdq_ocr.py
in python-threatexchange/threatexchange/signal_type
69 5 24 479 7 2
Sidebar.tsx
in hasher-matcher-actioner/webapp/src
70 1 67 231 7 2
matcher.py
in hasher-matcher-actioner/hmalib/lambdas
82 4 79 243 7 2
variables.tf
in hasher-matcher-actioner/terraform/hasher
85 - 44 243 7 2
ActionRulesTableRow.tsx
in hasher-matcher-actioner/webapp/src/components/settings
198 - 86 269 7 3
ActionRuleFormColumns.tsx
in hasher-matcher-actioner/webapp/src/components/settings
225 1 150 291 7 2
main.tf
in hasher-matcher-actioner/terraform/dashboard
274 - 170 296 7 2
datasets.py
in hasher-matcher-actioner/hmalib/lambdas/api
336 27 116 217 7 2
utils.py
in hasher-matcher-actioner/hmalib/scripts/common
409 32 150 212 7 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
main.tf
in hasher-matcher-actioner/terraform
239 - 44 413 57 7
api_root.py
in hasher-matcher-actioner/hmalib/lambdas/api
157 7 71 396 41 5
main.tf
in hasher-matcher-actioner/terraform/api
479 - 116 402 34 5
fetcher.py
in hasher-matcher-actioner/hmalib/lambdas
128 7 116 406 31 6
variables.tf
in hasher-matcher-actioner/terraform/api
165 - 122 402 27 5
variables.tf
in hasher-matcher-actioner/terraform
137 - 116 413 25 6
matches.py
in hasher-matcher-actioner/hmalib/lambdas/api
408 28 23 361 22 3
submit.py
in hasher-matcher-actioner/hmalib/lambdas/api
305 24 185 351 19 3
main.tf
in hasher-matcher-actioner/terraform/fetcher
166 - 128 403 19 5
Api.tsx
in hasher-matcher-actioner/webapp/src
645 65 71 231 18 3
action_evaluator.py
in hasher-matcher-actioner/hmalib/lambdas/actions
156 6 122 366 18 4
setup.py
in hasher-matcher-actioner
31 - 17 389 18 5
action_performer.py
in hasher-matcher-actioner/hmalib/lambdas/actions
34 2 234 372 18 6
setup.py
in python-threatexchange
60 - 24 498 15 6
signal_base.py
in python-threatexchange/threatexchange/signal_type
127 27 17 498 14 5
variables.tf
in hasher-matcher-actioner/terraform/fetcher
53 - 175 403 14 5
matchers_base.py
in hasher-matcher-actioner/hmalib/matchers
197 9 23 243 12 2
main.py
in python-threatexchange/threatexchange/cli
172 8 17 498 12 3
outputs.tf
in hasher-matcher-actioner/terraform
33 - 150 408 12 3
s3_adapters.py
in hasher-matcher-actioner/hmalib/common
400 33 122 371 12 4
main.tf
in hasher-matcher-actioner/terraform/actions
356 - 175 372 12 4
bank.py
in hasher-matcher-actioner/hmalib/common/models
487 34 71 218 11 2
content.py
in hasher-matcher-actioner/hmalib/lambdas/api
176 11 190 331 11 2
__init__.py
in hasher-matcher-actioner/hmalib/metrics
111 10 17 407 11 3
main.tf
in hasher-matcher-actioner/terraform/hashing-data
114 - 198 413 11 3
bank.py
in hasher-matcher-actioner/hmalib/lambdas/api
194 18 79 218 10 2
populate_config_db.py
in hasher-matcher-actioner/hmalib/scripts
175 5 220 364 10 4
variables.tf
in hasher-matcher-actioner/terraform/actions
66 - 175 372 10 4
config.py
in hasher-matcher-actioner/hmalib/common
193 28 217 365 10 5
main.tf
in hasher-matcher-actioner/terraform/datastore
146 - 122 327 9 2
ActionRuleSettingsTab.tsx
in hasher-matcher-actioner/webapp/src/pages/settings
287 - 86 269 9 3
pdq.py
in python-threatexchange/threatexchange/signal_type
188 6 24 498 9 4
stats.py
in hasher-matcher-actioner/hmalib/lambdas/api
94 4 178 343 8 2
App.tsx
in hasher-matcher-actioner/webapp/src
63 - 67 231 8 2
_app.scss
in hasher-matcher-actioner/webapp/src/styles
52 - 116 371 8 3
aws_secrets.py
in hasher-matcher-actioner/hmalib
55 8 116 396 8 4
threatexchange_config.py
in hasher-matcher-actioner/hmalib/common
78 5 116 351 8 4
ThreatExchangeSettingsTab.tsx
in hasher-matcher-actioner/webapp/src/pages/settings
238 1 67 281 8 4
BankMessages.tsx
in hasher-matcher-actioner/webapp/src/messages
36 - 79 217 7 1
pdq_ocr.py
in python-threatexchange/threatexchange/signal_type
69 5 24 479 7 2
utils.py
in hasher-matcher-actioner/hmalib/scripts/common
409 32 150 212 7 2
datasets.py
in hasher-matcher-actioner/hmalib/lambdas/api
336 27 116 217 7 2
matcher.py
in hasher-matcher-actioner/hmalib/lambdas
82 4 79 243 7 2
Sidebar.tsx
in hasher-matcher-actioner/webapp/src
70 1 67 231 7 2
ActionRuleFormColumns.tsx
in hasher-matcher-actioner/webapp/src/components/settings
225 1 150 291 7 2
main.tf
in hasher-matcher-actioner/terraform/dashboard
274 - 170 296 7 2
variables.tf
in hasher-matcher-actioner/terraform/hasher
85 - 44 243 7 2
pdq_index.py
in python-threatexchange/threatexchange/signal_type
53 9 24 413 7 3
ActionRulesTableRow.tsx
in hasher-matcher-actioner/webapp/src/components/settings
198 - 86 269 7 3
common.py
in python-threatexchange/threatexchange
36 5 24 498 7 5
Correlations

File Size vs. Number of Changes: 430 points

hasher-matcher-actioner/hmalib/banks/bank_operations.py x: 93 lines of code y: 6 # changes hasher-matcher-actioner/hmalib/lambdas/unified_indexer.py x: 102 lines of code y: 6 # changes hasher-matcher-actioner/hmalib/metrics/__init__.py x: 111 lines of code y: 11 # changes hasher-matcher-actioner/setup.py x: 31 lines of code y: 18 # changes pdq/cpp/hashing/pdqhashing.cpp x: 421 lines of code y: 3 # changes tmk/cpp/algo/tmkfv.cpp x: 529 lines of code y: 2 # changes tmk/cpp/hashing/filehasher.cpp x: 163 lines of code y: 3 # changes python-threatexchange/threatexchange/cli/cli_config.py x: 191 lines of code y: 4 # changes python-threatexchange/threatexchange/cli/dataset_cmd.py x: 205 lines of code y: 5 # changes python-threatexchange/threatexchange/cli/fetch_cmd.py x: 197 lines of code y: 2 # changes python-threatexchange/threatexchange/cli/hash_cmd.py x: 79 lines of code y: 5 # changes python-threatexchange/threatexchange/cli/label_cmd.py x: 131 lines of code y: 2 # changes python-threatexchange/threatexchange/cli/main.py x: 172 lines of code y: 12 # changes python-threatexchange/threatexchange/cli/match_cmd.py x: 171 lines of code y: 2 # changes python-threatexchange/threatexchange/signal_type/signal_base.py x: 127 lines of code y: 14 # changes python-threatexchange/threatexchange/signal_type/url.py x: 12 lines of code y: 4 # changes python-threatexchange/threatexchange/cli/config_cmd.py x: 450 lines of code y: 2 # changes python-threatexchange/threatexchange/extensions/__init__.py x: 1 lines of code y: 1 # changes python-threatexchange/threatexchange/extensions/manifest.py x: 27 lines of code y: 1 # changes python-threatexchange/threatexchange/extensions/text_tlsh/__init__.py x: 5 lines of code y: 1 # changes python-threatexchange/threatexchange/extensions/text_tlsh/text_tlsh.py x: 36 lines of code y: 1 # changes hasher-matcher-actioner/hmalib/common/models/pipeline.py x: 272 lines of code y: 4 # changes hasher-matcher-actioner/hmalib/lambdas/api/matches.py x: 408 lines of code y: 22 # changes hasher-matcher-actioner/hmalib/lambdas/hashing.py x: 114 lines of code y: 6 # changes hasher-matcher-actioner/hmalib/matchers/matchers_base.py x: 197 lines of code y: 12 # changes hasher-matcher-actioner/scripts/benchmark_for_match_api.py x: 71 lines of code y: 2 # changes python-threatexchange/setup.py x: 60 lines of code y: 15 # changes python-threatexchange/threatexchange/cli/cli_state.py x: 150 lines of code y: 1 # changes python-threatexchange/threatexchange/cli/command_base.py x: 60 lines of code y: 6 # changes python-threatexchange/threatexchange/cli/dataclass_json.py x: 46 lines of code y: 1 # changes python-threatexchange/threatexchange/cli/dataset/simple_serialization.py x: 132 lines of code y: 6 # changes python-threatexchange/threatexchange/cli/exceptions.py x: 4 lines of code y: 1 # changes python-threatexchange/threatexchange/common.py x: 36 lines of code y: 7 # changes python-threatexchange/threatexchange/content_type/content_base.py x: 11 lines of code y: 4 # changes python-threatexchange/threatexchange/content_type/pdf.py x: 33 lines of code y: 2 # changes python-threatexchange/threatexchange/content_type/photo.py x: 2 lines of code y: 4 # changes python-threatexchange/threatexchange/content_type/text.py x: 2 lines of code y: 3 # changes python-threatexchange/threatexchange/content_type/url.py x: 2 lines of code y: 2 # changes python-threatexchange/threatexchange/content_type/video.py x: 3 lines of code y: 3 # changes python-threatexchange/threatexchange/fb_threatexchange/api.py x: 407 lines of code y: 1 # changes python-threatexchange/threatexchange/fb_threatexchange/api_representations.py x: 29 lines of code y: 1 # changes python-threatexchange/threatexchange/fb_threatexchange/collab_config.py x: 58 lines of code y: 1 # changes python-threatexchange/threatexchange/fb_threatexchange/descriptor.py x: 147 lines of code y: 1 # changes python-threatexchange/threatexchange/fb_threatexchange/threat_updates.py x: 258 lines of code y: 1 # changes python-threatexchange/threatexchange/fetcher/apis/fb_threatexchange_api.py x: 211 lines of code y: 1 # changes python-threatexchange/threatexchange/fetcher/apis/file_api.py x: 60 lines of code y: 1 # changes python-threatexchange/threatexchange/fetcher/apis/static_sample.py x: 42 lines of code y: 1 # changes python-threatexchange/threatexchange/fetcher/collab_config.py x: 29 lines of code y: 2 # changes python-threatexchange/threatexchange/fetcher/fetch_api.py x: 83 lines of code y: 3 # changes python-threatexchange/threatexchange/fetcher/fetch_state.py x: 105 lines of code y: 2 # changes python-threatexchange/threatexchange/fetcher/simple/state.py x: 128 lines of code y: 1 # changes python-threatexchange/threatexchange/meta.py x: 63 lines of code y: 1 # changes python-threatexchange/threatexchange/signal_type/index.py x: 36 lines of code y: 4 # changes python-threatexchange/threatexchange/signal_type/md5.py x: 36 lines of code y: 6 # changes python-threatexchange/threatexchange/signal_type/pdq.py x: 188 lines of code y: 9 # changes python-threatexchange/threatexchange/signal_type/pdq_index.py x: 53 lines of code y: 7 # changes python-threatexchange/threatexchange/signal_type/pdq_ocr.py x: 69 lines of code y: 7 # changes python-threatexchange/threatexchange/signal_type/raw_text.py x: 48 lines of code y: 5 # changes python-threatexchange/threatexchange/signal_type/trend_query.py x: 88 lines of code y: 5 # changes python-threatexchange/threatexchange/signal_type/url_md5.py x: 20 lines of code y: 3 # changes hasher-matcher-actioner/hmalib/common/timebucketizer.py x: 115 lines of code y: 1 # changes hasher-matcher-actioner/terraform/hasher/main.tf x: 117 lines of code y: 5 # changes hasher-matcher-actioner/terraform/durable-fs/outputs.tf x: 9 lines of code y: 1 # changes hasher-matcher-actioner/terraform/hasher/variables.tf x: 85 lines of code y: 7 # changes hasher-matcher-actioner/terraform/main.tf x: 239 lines of code y: 57 # changes hasher-matcher-actioner/scripts/create_test_bank.py x: 24 lines of code y: 1 # changes hasher-matcher-actioner/webapp/src/pages/bank-management/Members.tsx x: 63 lines of code y: 6 # changes hasher-matcher-actioner/webapp/src/App.tsx x: 63 lines of code y: 8 # changes hasher-matcher-actioner/webapp/src/components/settings/ActionPerformer/ActionPerformerRows.tsx x: 103 lines of code y: 5 # changes hasher-matcher-actioner/webapp/src/pages/bank-management/ViewAllBanks.tsx x: 110 lines of code y: 4 # changes hasher-matcher-actioner/webapp/src/pages/bank-management/ViewBankMember.tsx x: 289 lines of code y: 6 # changes hasher-matcher-actioner/webapp/src/pages/settings/ThreatExchangeSettingsTab.tsx x: 238 lines of code y: 8 # changes hasher-matcher-actioner/hmalib/common/models/bank.py x: 487 lines of code y: 11 # changes hasher-matcher-actioner/hmalib/lambdas/api/api_root.py x: 157 lines of code y: 41 # changes hasher-matcher-actioner/webapp/src/Api.tsx x: 645 lines of code y: 18 # changes hasher-matcher-actioner/webapp/src/components/ContentMatchTable.tsx x: 167 lines of code y: 3 # changes hasher-matcher-actioner/webapp/src/pages/ContentDetails.tsx x: 127 lines of code y: 3 # changes hasher-matcher-actioner/webapp/src/components/PillBox.tsx x: 86 lines of code y: 2 # changes hasher-matcher-actioner/webapp/src/forms/BankMemberForm.tsx x: 104 lines of code y: 6 # changes hasher-matcher-actioner/hmalib/common/models/models_base.py x: 95 lines of code y: 5 # changes hasher-matcher-actioner/hmalib/lambdas/api/bank.py x: 194 lines of code y: 10 # changes hasher-matcher-actioner/hmalib/lambdas/matcher.py x: 82 lines of code y: 7 # changes hasher-matcher-actioner/webapp/src/forms/BankDetailsForm.tsx x: 147 lines of code y: 5 # changes hasher-matcher-actioner/webapp/src/pages/bank-management/AddBankMemberModal.tsx x: 98 lines of code y: 4 # changes hasher-matcher-actioner/webapp/src/pages/bank-management/AddBankModal.tsx x: 35 lines of code y: 5 # changes hasher-matcher-actioner/webapp/src/pages/bank-management/ViewBank.tsx x: 89 lines of code y: 5 # changes hasher-matcher-actioner/hmalib/matchers/filters.py x: 178 lines of code y: 1 # changes hasher-matcher-actioner/terraform/matcher/main.tf x: 126 lines of code y: 3 # changes hasher-matcher-actioner/terraform/matcher/variables.tf x: 66 lines of code y: 5 # changes hasher-matcher-actioner/webapp/src/pages/settings/ActionRuleSettingsTab.tsx x: 287 lines of code y: 9 # changes hasher-matcher-actioner/webapp/src/components/settings/ActionRulesTableRow.tsx x: 198 lines of code y: 7 # changes hasher-matcher-actioner/hmalib/aws_secrets.py x: 55 lines of code y: 8 # changes hasher-matcher-actioner/hmalib/common/threatexchange_config.py x: 78 lines of code y: 8 # changes hasher-matcher-actioner/hmalib/lambdas/api/datasets.py x: 336 lines of code y: 7 # changes hasher-matcher-actioner/hmalib/lambdas/fetcher.py x: 128 lines of code y: 31 # changes hasher-matcher-actioner/hmalib/writebacker/writebacker_base.py x: 244 lines of code y: 2 # changes hasher-matcher-actioner/terraform/api/main.tf x: 479 lines of code y: 34 # changes hasher-matcher-actioner/terraform/variables.tf x: 137 lines of code y: 25 # changes hasher-matcher-actioner/webapp/src/components/HolidaysDatasetInformationBlock.tsx x: 71 lines of code y: 4 # changes hasher-matcher-actioner/webapp/src/pages/settings/ThreatExchangeTokenEditor.tsx x: 89 lines of code y: 1 # changes hasher-matcher-actioner/webapp/src/AppWithNotifications.tsx x: 65 lines of code y: 1 # changes hasher-matcher-actioner/webapp/src/pages/settings/ActionPerformerSettingsTab.tsx x: 206 lines of code y: 2 # changes hasher-matcher-actioner/webapp/src/styles/_app.scss x: 52 lines of code y: 8 # changes hasher-matcher-actioner/webapp/src/utils/TextFieldsUtils.tsx x: 69 lines of code y: 4 # changes hasher-matcher-actioner/webapp/src/components/settings/ThreatExchangePrivacyGroupCard.tsx x: 248 lines of code y: 3 # changes hasher-matcher-actioner/webapp/src/pages/settings/SettingsTabPane.tsx x: 24 lines of code y: 2 # changes hasher-matcher-actioner/hmalib/common/messages/match.py x: 38 lines of code y: 2 # changes hasher-matcher-actioner/hmalib/common/s3_adapters.py x: 400 lines of code y: 12 # changes hasher-matcher-actioner/hmalib/lambdas/actions/action_evaluator.py x: 156 lines of code y: 18 # changes hasher-matcher-actioner/terraform/datastore/main.tf x: 146 lines of code y: 9 # changes hasher-matcher-actioner/terraform/indexer/main.tf x: 179 lines of code y: 6 # changes hasher-matcher-actioner/terraform/indexer/variables.tf x: 57 lines of code y: 5 # changes hasher-matcher-actioner/hmalib/indexers/s3_indexers.py x: 58 lines of code y: 3 # changes hasher-matcher-actioner/terraform/api/variables.tf x: 165 lines of code y: 27 # changes hasher-matcher-actioner/terraform/indexer/outputs.tf x: 6 lines of code y: 2 # changes hasher-matcher-actioner/webapp/src/pages/settings/IndexSettingsTab.tsx x: 47 lines of code y: 1 # changes hasher-matcher-actioner/hmalib/common/mappings.py x: 16 lines of code y: 2 # changes hasher-matcher-actioner/webapp/src/components/Loader.tsx x: 15 lines of code y: 1 # changes hasher-matcher-actioner/terraform/fetcher/main.tf x: 166 lines of code y: 19 # changes python-threatexchange/threatexchange/hashing/pdq_faiss_matcher.py x: 140 lines of code y: 5 # changes python-threatexchange/benchmarks/benchmark_pdq_faiss_matchers.py x: 149 lines of code y: 4 # changes hasher-matcher-actioner/hmalib/common/external_api.py x: 50 lines of code y: 1 # changes hasher-matcher-actioner/hmalib/hashexchanges/api/stopnciiorg.py x: 34 lines of code y: 1 # changes hasher-matcher-actioner/hmalib/hashexchanges/api/stopnciiorg_representations.py x: 80 lines of code y: 1 # changes hasher-matcher-actioner/hmalib/common/models/count.py x: 112 lines of code y: 3 # changes hasher-matcher-actioner/hmalib/scripts/common/client_lib.py x: 236 lines of code y: 4 # changes hasher-matcher-actioner/hmalib/common/extension.py x: 11 lines of code y: 1 # changes hasher-matcher-actioner/hmalib/common/extensions/action_performers.py x: 14 lines of code y: 1 # changes hasher-matcher-actioner/hmalib/scripts/common/utils.py x: 409 lines of code y: 7 # changes hasher-matcher-actioner/hmalib_extensions/action_performer_example.py x: 20 lines of code y: 1 # changes hasher-matcher-actioner/terraform/outputs.tf x: 33 lines of code y: 12 # changes hasher-matcher-actioner/webapp/src/components/settings/ActionPerformer/ActionPerformerDetails.tsx x: 255 lines of code y: 1 # changes hasher-matcher-actioner/webapp/src/components/settings/ActionRuleFormColumns.tsx x: 225 lines of code y: 7 # changes hasher-matcher-actioner/webapp/src/utils/constants.ts x: 49 lines of code y: 4 # changes hasher-matcher-actioner/hmalib/lambdas/ddb_stream_counter.py x: 80 lines of code y: 3 # changes hasher-matcher-actioner/webapp/src/pages/SubmitContent.tsx x: 280 lines of code y: 5 # changes hasher-matcher-actioner/hmalib/scripts/cli/storm.py x: 206 lines of code y: 3 # changes hasher-matcher-actioner/terraform/counters/main.tf x: 97 lines of code y: 3 # changes hasher-matcher-actioner/terraform/counters/variables.tf x: 40 lines of code y: 5 # changes hasher-matcher-actioner/terraform/dashboard/main.tf x: 274 lines of code y: 7 # changes hasher-matcher-actioner/terraform/actions/main.tf x: 356 lines of code y: 12 # changes hasher-matcher-actioner/terraform/actions/variables.tf x: 66 lines of code y: 10 # changes hasher-matcher-actioner/terraform/dashboard/variables.tf x: 55 lines of code y: 5 # changes hasher-matcher-actioner/terraform/datastore/variables.tf x: 8 lines of code y: 2 # changes hasher-matcher-actioner/terraform/fetcher/variables.tf x: 53 lines of code y: 14 # changes hasher-matcher-actioner/terraform/hashing-data/variables.tf x: 22 lines of code y: 5 # changes hasher-matcher-actioner/terraform/submit_events/main.tf x: 164 lines of code y: 2 # changes hasher-matcher-actioner/terraform/submit_events/outputs.tf x: 12 lines of code y: 2 # changes hasher-matcher-actioner/terraform/submit_events/variables.tf x: 47 lines of code y: 2 # changes hasher-matcher-actioner/hmalib/lambdas/submit_event_handler.py x: 147 lines of code y: 2 # changes hasher-matcher-actioner/hmalib/hashing/unified_hasher.py x: 56 lines of code y: 4 # changes hasher-matcher-actioner/hmalib/metrics/cloudwatch.py x: 108 lines of code y: 6 # changes hasher-matcher-actioner/scripts/gen_fake_cloudwatch_metrics.py x: 24 lines of code y: 3 # changes hasher-matcher-actioner/hmalib/lambdas/api/stats.py x: 94 lines of code y: 8 # changes hasher-matcher-actioner/webapp/src/forms/PreviewableDropzone.tsx x: 89 lines of code y: 3 # changes hasher-matcher-actioner/webapp/src/pages/Matches.tsx x: 250 lines of code y: 2 # changes hasher-matcher-actioner/terraform/datastore/outputs.tf x: 20 lines of code y: 4 # changes hasher-matcher-actioner/terraform/webapp/main.tf x: 85 lines of code y: 5 # changes hasher-matcher-actioner/webapp/src/components/SubmitContentFields.tsx x: 135 lines of code y: 2 # changes hasher-matcher-actioner/hmalib/lambdas/api/submit.py x: 305 lines of code y: 19 # changes hasher-matcher-actioner/hmalib/scripts/cli/main.py x: 129 lines of code y: 4 # changes hasher-matcher-actioner/hmalib/scripts/cli/run_api.py x: 74 lines of code y: 2 # changes hasher-matcher-actioner/hmalib/lambdas/api/action_rules.py x: 127 lines of code y: 2 # changes hasher-matcher-actioner/hmalib/lambdas/api/actions.py x: 83 lines of code y: 2 # changes hasher-matcher-actioner/hmalib/lambdas/api/api_auth.py x: 99 lines of code y: 5 # changes hasher-matcher-actioner/hmalib/lambdas/api/content.py x: 176 lines of code y: 11 # changes hasher-matcher-actioner/hmalib/lambdas/api/middleware.py x: 62 lines of code y: 5 # changes hasher-matcher-actioner/terraform/api/outputs.tf x: 12 lines of code y: 5 # changes pdq/cpp/index/mih.h x: 200 lines of code y: 2 # changes tmk/cpp/hashing/bufferhashers.cpp x: 70 lines of code y: 2 # changes hasher-matcher-actioner/terraform/hashing-data/main.tf x: 114 lines of code y: 11 # changes hasher-matcher-actioner/hmalib/common/messages/bank.py x: 32 lines of code y: 1 # changes hasher-matcher-actioner/hmalib/common/messages/submit.py x: 61 lines of code y: 3 # changes hasher-matcher-actioner/hmalib/scripts/cli/run_lambda.py x: 56 lines of code y: 1 # changes hasher-matcher-actioner/hmalib/scripts/cli/soak.py x: 304 lines of code y: 2 # changes hasher-matcher-actioner/webapp/src/styles/_media_blur.scss x: 26 lines of code y: 3 # changes hasher-matcher-actioner/webapp/src/utils/MediaUtils.tsx x: 59 lines of code y: 5 # changes hasher-matcher-actioner/hmalib/scripts/common/listener.py x: 106 lines of code y: 1 # changes hasher-matcher-actioner/hmalib/scripts/common/submitter.py x: 78 lines of code y: 1 # changes hasher-matcher-actioner/webapp/src/pages/layouts/FixedWidthCenterAlignedLayout.tsx x: 26 lines of code y: 4 # changes hasher-matcher-actioner/hmalib/metrics/query.py x: 70 lines of code y: 3 # changes hasher-matcher-actioner/hmalib/scripts/populate_config_db.py x: 175 lines of code y: 10 # changes hasher-matcher-actioner/hmalib/common/models/signal.py x: 140 lines of code y: 3 # changes hasher-matcher-actioner/webapp/public/index.html x: 11 lines of code y: 5 # changes hasher-matcher-actioner/webapp/src/components/ActionHistoryTable.tsx x: 94 lines of code y: 1 # changes hasher-matcher-actioner/webapp/src/components/ContentProgressStepper.tsx x: 252 lines of code y: 3 # changes hasher-matcher-actioner/webapp/src/components/OpinionTableCell.tsx x: 44 lines of code y: 1 # changes hasher-matcher-actioner/webapp/src/pages/Dashboard.tsx x: 202 lines of code y: 1 # changes hasher-matcher-actioner/hmalib/common/messages/writeback.py x: 55 lines of code y: 2 # changes hasher-matcher-actioner/hmalib/common/models/content.py x: 191 lines of code y: 1 # changes hasher-matcher-actioner/hmalib/lambdas/actions/action_performer.py x: 34 lines of code y: 18 # changes hasher-matcher-actioner/hmalib/common/classification_models.py x: 41 lines of code y: 6 # changes pdq/cpp/hashing/pdqhashing.h x: 114 lines of code y: 2 # changes hasher-matcher-actioner/hmalib/common/aws_dataclass.py x: 114 lines of code y: 4 # changes hasher-matcher-actioner/terraform/dashboard/lambda_widget.tpl x: 21 lines of code y: 2 # changes hasher-matcher-actioner/terraform/fetcher/outputs.tf x: 3 lines of code y: 2 # changes hasher-matcher-actioner/terraform/webapp/outputs.tf x: 9 lines of code y: 3 # changes hasher-matcher-actioner/terraform/authentication-shared/main.tf x: 74 lines of code y: 3 # changes hasher-matcher-actioner/terraform/authentication/main.tf x: 66 lines of code y: 4 # changes python-threatexchange/threatexchange/hashing/ocr_utils.py x: 14 lines of code y: 3 # changes hasher-matcher-actioner/terraform/webapp/variables.tf x: 17 lines of code y: 2 # changes python-threatexchange/threatexchange/hashing/pdq_utils.py x: 15 lines of code y: 3 # changes pdq/cpp/common/pdqhashtypes.h x: 142 lines of code y: 2 # changes api-reference-examples/go/threatexchange/threatexchange.go x: 205 lines of code y: 2 # changes pdq/cpp/common/pdqhashtypes.cpp x: 171 lines of code y: 1 # changes pdq/cpp/downscaling/downscaling.cpp x: 294 lines of code y: 1 # changes pdq/cpp/downscaling/downscaling.h x: 108 lines of code y: 1 # changes pdq/cpp/hashing/torben.cpp x: 52 lines of code y: 1 # changes pdq/cpp/io/hashio.cpp x: 131 lines of code y: 1 # changes pdq/cpp/io/pdqio.cpp x: 158 lines of code y: 1 # changes pdq/java/src/main/java/pdqhashing/hasher/PDQHasher.java x: 516 lines of code y: 1 # changes pdq/java/src/main/java/pdqhashing/indexer/MIH256.java x: 361 lines of code y: 1 # changes pdq/java/src/main/java/pdqhashing/tools/Clusterize256Tool.java x: 269 lines of code y: 1 # changes pdq/java/src/main/java/pdqhashing/tools/Clusterize256xTool.java x: 169 lines of code y: 1 # changes pdq/java/src/main/java/pdqhashing/tools/Hash256Tool.java x: 273 lines of code y: 1 # changes pdq/java/src/main/java/pdqhashing/tools/MIHQueryTool.java x: 174 lines of code y: 1 # changes pdq/java/src/main/java/pdqhashing/tools/PDQPhotoHasherTool.java x: 264 lines of code y: 1 # changes pdq/java/src/main/java/pdqhashing/types/Hash256.java x: 218 lines of code y: 1 # changes pdq/java/src/main/java/pdqhashing/utils/MatrixUtil.java x: 75 lines of code y: 1 # changes pdq/php/ext/pdq/impl/pdqhashing.c x: 534 lines of code y: 1 # changes pdq/php/ext/pdq/impl/torben.c x: 39 lines of code y: 1 # changes pdq/php/ext/pdq/pdq.c x: 231 lines of code y: 1 # changes pdq/php/pdqhash.php x: 123 lines of code y: 1 # changes pdq/php/pdqhasher.php x: 647 lines of code y: 1 # changes pdq/php/pdqhasherdihtest.php x: 18 lines of code y: 1 # changes pdq/python/pdqhashing/hasher/pdq_hasher.py x: 444 lines of code y: 1 # changes pdq/python/pdqhashing/tools/pdq_photo_hasher_tool.py x: 310 lines of code y: 1 # changes pdq/python/pypdq.cpp x: 226 lines of code y: 1 # changes tmk/cpp/hashing/bufferhashers.h x: 66 lines of code y: 1 # changes tmk/cpp/io/tmkio.cpp x: 396 lines of code y: 1 # changes tmk/cpp/io/tmkio.h x: 72 lines of code y: 1 # changes tmk/cpp/lib/vec.cpp x: 194 lines of code y: 1 # changes tmk/cpp/raster/rasterwriters.cpp x: 102 lines of code y: 1 # changes tmk/cpp/raster/rasterwriters.h x: 83 lines of code y: 1 # changes api-reference-examples/python/pytx/pytx/common.py x: 425 lines of code y: 1 # changes api-reference-examples/python/pytx/pytx/malware.py x: 96 lines of code y: 1 # changes api-reference-examples/python/pytx/pytx/request.py x: 285 lines of code y: 1 # changes api-reference-examples/python/pytx/pytx/threat_exchange_member.py x: 85 lines of code y: 1 # changes api-reference-examples/python/pytx/pytx/threat_tag.py x: 23 lines of code y: 1 # changes api-reference-examples/python/pytx/pytx/vocabulary.py x: 411 lines of code y: 1 # changes api-reference-examples/python/pytx/scripts/get_data.py x: 182 lines of code y: 1 # changes api-reference-examples/python/pytx/scripts/malware_family_grabber.py x: 88 lines of code y: 1 # changes api-reference-examples/python-notebook/Getting Started with Sharing.ipynb x: 274 lines of code y: 1 # changes api-reference-examples/python-notebook/ThreatExchange Data Dashboard.ipynb x: 479 lines of code y: 1 # changes api-reference-examples/js/node/lib/vocabulary.js x: 339 lines of code y: 1 # changes api-reference-examples/java/te-tag-query/com/facebook/threatexchange/DescriptorPostParameters.java x: 433 lines of code y: 1 # changes api-reference-examples/java/te-tag-query/com/facebook/threatexchange/Net.java x: 491 lines of code y: 1 # changes api-reference-examples/java/te-tag-query/com/facebook/threatexchange/TETagQuery.java x: 1296 lines of code y: 1 # changes api-reference-examples/java/te-tag-query/com/facebook/threatexchange/Utils.java x: 155 lines of code y: 1 # changes api-reference-examples/java/te-tag-query/org/json/simple/parser/JSONParser.java x: 432 lines of code y: 1 # changes api-reference-examples/python/te-tag-query/TE.py x: 470 lines of code y: 1 # changes api-reference-examples/python/te-tag-query/TETagQuery.py x: 961 lines of code y: 1 # changes api-reference-examples/ruby/te-tag-query/TETagQuery.rb x: 918 lines of code y: 1 # changes api-reference-examples/php/BaseUpload.php x: 134 lines of code y: 1 # changes api-reference-examples/php/ThreatExchangeUtils.php x: 73 lines of code y: 1 # changes
57.0
# changes
  min: 1.0
  average: 3.32
  25th percentile: 1.0
  median: 1.0
  75th percentile: 4.0
  max: 57.0
0 1296.0
lines of code
min: 1.0 | average: 105.87 | 25th percentile: 20.75 | median: 58.5 | 75th percentile: 134.25 | max: 1296.0

Number of Contributors vs. Number of Changes: 430 points

hasher-matcher-actioner/hmalib/banks/bank_operations.py x: 1 # contributors y: 6 # changes hasher-matcher-actioner/hmalib/lambdas/unified_indexer.py x: 2 # contributors y: 6 # changes hasher-matcher-actioner/hmalib/metrics/__init__.py x: 3 # contributors y: 11 # changes hasher-matcher-actioner/setup.py x: 5 # contributors y: 18 # changes pdq/cpp/hashing/pdqhashing.cpp x: 2 # contributors y: 3 # changes tmk/cpp/algo/tmkfv.cpp x: 2 # contributors y: 2 # changes tmk/cpp/hashing/filehasher.cpp x: 3 # contributors y: 3 # changes python-threatexchange/threatexchange/cli/cli_config.py x: 1 # contributors y: 4 # changes python-threatexchange/threatexchange/cli/dataset_cmd.py x: 3 # contributors y: 5 # changes python-threatexchange/threatexchange/cli/fetch_cmd.py x: 1 # contributors y: 2 # changes python-threatexchange/threatexchange/cli/hash_cmd.py x: 2 # contributors y: 5 # changes python-threatexchange/threatexchange/cli/main.py x: 3 # contributors y: 12 # changes python-threatexchange/threatexchange/signal_type/signal_base.py x: 5 # contributors y: 14 # changes python-threatexchange/threatexchange/signal_type/url.py x: 2 # contributors y: 4 # changes python-threatexchange/threatexchange/extensions/__init__.py x: 1 # contributors y: 1 # changes hasher-matcher-actioner/hmalib/common/models/pipeline.py x: 3 # contributors y: 4 # changes hasher-matcher-actioner/hmalib/lambdas/api/matches.py x: 3 # contributors y: 22 # changes hasher-matcher-actioner/hmalib/matchers/matchers_base.py x: 2 # contributors y: 12 # changes python-threatexchange/setup.py x: 6 # contributors y: 15 # changes python-threatexchange/threatexchange/cli/command_base.py x: 3 # contributors y: 6 # changes python-threatexchange/threatexchange/common.py x: 5 # contributors y: 7 # changes python-threatexchange/threatexchange/fetcher/fetch_api.py x: 1 # contributors y: 3 # changes python-threatexchange/threatexchange/signal_type/md5.py x: 4 # contributors y: 6 # changes python-threatexchange/threatexchange/signal_type/pdq.py x: 4 # contributors y: 9 # changes python-threatexchange/threatexchange/signal_type/pdq_index.py x: 3 # contributors y: 7 # changes python-threatexchange/threatexchange/signal_type/pdq_ocr.py x: 2 # contributors y: 7 # changes hasher-matcher-actioner/terraform/main.tf x: 7 # contributors y: 57 # changes hasher-matcher-actioner/webapp/src/App.tsx x: 2 # contributors y: 8 # changes hasher-matcher-actioner/webapp/src/pages/settings/ThreatExchangeSettingsTab.tsx x: 4 # contributors y: 8 # changes hasher-matcher-actioner/hmalib/common/models/bank.py x: 2 # contributors y: 11 # changes hasher-matcher-actioner/hmalib/lambdas/api/api_root.py x: 5 # contributors y: 41 # changes hasher-matcher-actioner/webapp/src/Api.tsx x: 3 # contributors y: 18 # changes hasher-matcher-actioner/hmalib/common/models/models_base.py x: 1 # contributors y: 5 # changes hasher-matcher-actioner/hmalib/lambdas/api/bank.py x: 2 # contributors y: 10 # changes hasher-matcher-actioner/webapp/src/messages/BankMessages.tsx x: 1 # contributors y: 7 # changes hasher-matcher-actioner/webapp/src/pages/settings/ActionRuleSettingsTab.tsx x: 3 # contributors y: 9 # changes hasher-matcher-actioner/hmalib/lambdas/fetcher.py x: 6 # contributors y: 31 # changes hasher-matcher-actioner/terraform/api/main.tf x: 5 # contributors y: 34 # changes hasher-matcher-actioner/terraform/variables.tf x: 6 # contributors y: 25 # changes hasher-matcher-actioner/webapp/src/components/HolidaysDatasetInformationBlock.tsx x: 4 # contributors y: 4 # changes hasher-matcher-actioner/webapp/src/styles/_app.scss x: 3 # contributors y: 8 # changes hasher-matcher-actioner/hmalib/common/s3_adapters.py x: 4 # contributors y: 12 # changes hasher-matcher-actioner/hmalib/lambdas/actions/action_evaluator.py x: 4 # contributors y: 18 # changes hasher-matcher-actioner/terraform/datastore/main.tf x: 2 # contributors y: 9 # changes hasher-matcher-actioner/terraform/api/variables.tf x: 5 # contributors y: 27 # changes hasher-matcher-actioner/terraform/fetcher/main.tf x: 5 # contributors y: 19 # changes python-threatexchange/threatexchange/hashing/pdq_faiss_matcher.py x: 4 # contributors y: 5 # changes hasher-matcher-actioner/terraform/actions/variables.tf x: 4 # contributors y: 10 # changes hasher-matcher-actioner/hmalib/lambdas/api/submit.py x: 3 # contributors y: 19 # changes hasher-matcher-actioner/hmalib/common/config.py x: 5 # contributors y: 10 # changes hasher-matcher-actioner/hmalib/lambdas/actions/action_performer.py x: 6 # contributors y: 18 # changes api-reference-examples/php/BaseSearch.php x: 2 # contributors y: 1 # changes
57.0
# changes
  min: 1.0
  average: 3.32
  25th percentile: 1.0
  median: 1.0
  75th percentile: 4.0
  max: 57.0
0 7.0
# contributors
min: 1.0 | average: 1.63 | 25th percentile: 1.0 | median: 1.0 | 75th percentile: 2.0 | max: 7.0