facebook / ThreatExchange
Temporal Dependencies

A temporal dependency occurs when developers change two or more files at the same time (i.e. they are a part of the same commit).


Files Most Frequently Changed Together (Top 50)

data...

Pairs # same commits # commits 1 # commits 2 latest commit
python-threatexchange/threatexchange/cli/main.py
python-threatexchange/threatexchange/cli/cli_config.py
3 14 (21%) 4 (75%) 2022-03-29
python-threatexchange/threatexchange/cli/main.py
python-threatexchange/threatexchange/cli/label_cmd.py
2 14 (14%) 2 (100%) 2022-03-29
python-threatexchange/threatexchange/signal_type/signal_base.py
python-threatexchange/threatexchange/cli/hash_cmd.py
2 16 (12%) 5 (40%) 2022-03-29
python-threatexchange/threatexchange/signal_type/signal_base.py
python-threatexchange/threatexchange/cli/fetch_cmd.py
2 16 (12%) 2 (100%) 2022-03-29
python-threatexchange/threatexchange/cli/match_cmd.py
python-threatexchange/threatexchange/cli/hash_cmd.py
2 2 (100%) 5 (40%) 2022-03-29
python-threatexchange/threatexchange/cli/hash_cmd.py
python-threatexchange/threatexchange/cli/dataset_cmd.py
2 5 (40%) 5 (40%) 2022-03-29
python-threatexchange/threatexchange/cli/match_cmd.py
python-threatexchange/threatexchange/cli/label_cmd.py
2 2 (100%) 2 (100%) 2022-03-29
python-threatexchange/threatexchange/cli/match_cmd.py
python-threatexchange/threatexchange/cli/main.py
2 2 (100%) 14 (14%) 2022-03-29
python-threatexchange/threatexchange/cli/label_cmd.py
python-threatexchange/threatexchange/cli/dataset_cmd.py
2 2 (100%) 5 (40%) 2022-03-29
python-threatexchange/threatexchange/cli/fetch_cmd.py
python-threatexchange/threatexchange/cli/cli_config.py
2 2 (100%) 4 (50%) 2022-03-29
python-threatexchange/threatexchange/cli/config_cmd.py
python-threatexchange/threatexchange/cli/cli_config.py
2 2 (100%) 4 (50%) 2022-03-23
python-threatexchange/threatexchange/signal_type/url.py
python-threatexchange/threatexchange/cli/main.py
2 4 (50%) 14 (14%) 2022-03-29
python-threatexchange/threatexchange/signal_type/signal_base.py
python-threatexchange/threatexchange/cli/dataset_cmd.py
2 16 (12%) 5 (40%) 2022-03-29
python-threatexchange/threatexchange/cli/match_cmd.py
python-threatexchange/threatexchange/cli/dataset_cmd.py
2 2 (100%) 5 (40%) 2022-03-29
python-threatexchange/threatexchange/signal_type/signal_base.py
python-threatexchange/threatexchange/cli/label_cmd.py
2 16 (12%) 2 (100%) 2022-03-29
python-threatexchange/threatexchange/signal_type/url.py
python-threatexchange/threatexchange/signal_type/signal_base.py
2 4 (50%) 16 (12%) 2022-03-29
python-threatexchange/threatexchange/signal_type/signal_base.py
python-threatexchange/threatexchange/cli/match_cmd.py
2 16 (12%) 2 (100%) 2022-03-29
python-threatexchange/threatexchange/signal_type/signal_base.py
python-threatexchange/threatexchange/cli/cli_config.py
2 16 (12%) 4 (50%) 2022-03-29
python-threatexchange/threatexchange/cli/label_cmd.py
python-threatexchange/threatexchange/cli/hash_cmd.py
2 2 (100%) 5 (40%) 2022-03-29
python-threatexchange/threatexchange/signal_type/url.py
python-threatexchange/threatexchange/cli/fetch_cmd.py
2 4 (50%) 2 (100%) 2022-03-29
python-threatexchange/threatexchange/cli/label_cmd.py
python-threatexchange/threatexchange/cli/cli_config.py
2 2 (100%) 4 (50%) 2022-03-29
python-threatexchange/threatexchange/cli/dataset_cmd.py
python-threatexchange/threatexchange/cli/cli_config.py
2 5 (40%) 4 (50%) 2022-03-29
python-threatexchange/threatexchange/signal_type/url.py
python-threatexchange/threatexchange/cli/dataset_cmd.py
2 4 (50%) 5 (40%) 2022-03-29
python-threatexchange/threatexchange/cli/match_cmd.py
python-threatexchange/threatexchange/cli/fetch_cmd.py
2 2 (100%) 2 (100%) 2022-03-29
python-threatexchange/threatexchange/signal_type/signal_base.py
python-threatexchange/threatexchange/cli/main.py
2 16 (12%) 14 (14%) 2022-03-29
python-threatexchange/threatexchange/cli/hash_cmd.py
python-threatexchange/threatexchange/cli/fetch_cmd.py
2 5 (40%) 2 (100%) 2022-03-29
python-threatexchange/threatexchange/signal_type/url.py
python-threatexchange/threatexchange/cli/label_cmd.py
2 4 (50%) 2 (100%) 2022-03-29
python-threatexchange/threatexchange/cli/main.py
python-threatexchange/threatexchange/cli/fetch_cmd.py
2 14 (14%) 2 (100%) 2022-03-29
python-threatexchange/threatexchange/cli/label_cmd.py
python-threatexchange/threatexchange/cli/fetch_cmd.py
2 2 (100%) 2 (100%) 2022-03-29
python-threatexchange/threatexchange/cli/config_cmd.py
python-threatexchange/threatexchange/cli/main.py
2 2 (100%) 14 (14%) 2022-03-23
python-threatexchange/threatexchange/cli/match_cmd.py
python-threatexchange/threatexchange/cli/cli_config.py
2 2 (100%) 4 (50%) 2022-03-29
python-threatexchange/threatexchange/cli/hash_cmd.py
python-threatexchange/threatexchange/cli/cli_config.py
2 5 (40%) 4 (50%) 2022-03-29
python-threatexchange/threatexchange/cli/main.py
python-threatexchange/threatexchange/cli/hash_cmd.py
2 14 (14%) 5 (40%) 2022-03-29
python-threatexchange/threatexchange/signal_type/url.py
python-threatexchange/threatexchange/cli/cli_config.py
2 4 (50%) 4 (50%) 2022-03-29
python-threatexchange/threatexchange/cli/main.py
python-threatexchange/threatexchange/cli/dataset_cmd.py
2 14 (14%) 5 (40%) 2022-03-29
python-threatexchange/threatexchange/signal_type/url.py
python-threatexchange/threatexchange/cli/hash_cmd.py
2 4 (50%) 5 (40%) 2022-03-29
python-threatexchange/threatexchange/cli/fetch_cmd.py
python-threatexchange/threatexchange/cli/dataset_cmd.py
2 2 (100%) 5 (40%) 2022-03-29
python-threatexchange/threatexchange/signal_type/url.py
python-threatexchange/threatexchange/cli/match_cmd.py
2 4 (50%) 2 (100%) 2022-03-29
python-threatexchange/threatexchange/signal_type/url_md5.py
python-threatexchange/threatexchange/fb_threatexchange/api.py
1 3 (33%) 1 (100%) 2022-03-22
python-threatexchange/threatexchange/signal_type/pdq.py
python-threatexchange/threatexchange/cli/config_cmd.py
1 10 (10%) 2 (50%) 2022-03-22
python-threatexchange/threatexchange/content_type/text.py
python-threatexchange/threatexchange/cli/fetch_cmd.py
1 3 (33%) 2 (50%) 2022-03-22
hasher-matcher-actioner/terraform/durable-fs/variables.tf
hasher-matcher-actioner/terraform/durable-fs/outputs.tf
1 1 (100%) 1 (100%) 2022-03-02
python-threatexchange/threatexchange/content_type/pdf.py
python-threatexchange/threatexchange/cli/cli_state.py
1 2 (50%) 1 (100%) 2022-03-22
python-threatexchange/threatexchange/signal_type/pdq.py
python-threatexchange/threatexchange/fb_threatexchange/threat_updates.py
1 10 (10%) 1 (100%) 2022-03-22
python-threatexchange/threatexchange/extensions/__init__.py
python-threatexchange/threatexchange/cli/config_cmd.py
1 1 (100%) 2 (50%) 2022-03-23
python-threatexchange/threatexchange/signal_type/pdq.py
python-threatexchange/threatexchange/signal_type/index.py
1 10 (10%) 4 (25%) 2022-03-22
python-threatexchange/threatexchange/fetcher/apis/fb_threatexchange_api.py
python-threatexchange/threatexchange/cli/dataset_cmd.py
1 1 (100%) 5 (20%) 2022-03-22
python-threatexchange/threatexchange/fetcher/apis/fb_threatexchange_api.py
python-threatexchange/threatexchange/fetcher/apis/__init__.py
1 1 (100%) 1 (100%) 2022-03-22
python-threatexchange/threatexchange/fb_threatexchange/descriptor.py
python-threatexchange/threatexchange/cli/config_cmd.py
1 1 (100%) 2 (50%) 2022-03-22
python-threatexchange/threatexchange/fb_threatexchange/api_representations.py
python-threatexchange/threatexchange/cli/dataset_cmd.py
1 1 (100%) 5 (20%) 2022-03-22
Dependencies between files in same commits
The number on the lines shows the number of shared commits.
G [python-threatexchange/threatexchange/cli/main.py] [python-threatexchange/threatexchange/cli/main.py] [python-threatexchange/threatexchange/cli/cli_config.py] [python-threatexchange/threatexchange/cli/cli_config.py] [python-threatexchange/threatexchange/cli/main.py]--[python-threatexchange/threatexchange/cli/cli_config.py] 3 [python-threatexchange/threatexchange/cli/label_cmd.py] [python-threatexchange/threatexchange/cli/label_cmd.py] [python-threatexchange/threatexchange/cli/main.py]--[python-threatexchange/threatexchange/cli/label_cmd.py] 2 [python-threatexchange/threatexchange/cli/hash_cmd.py] [python-threatexchange/threatexchange/cli/hash_cmd.py] [python-threatexchange/threatexchange/cli/main.py]--[python-threatexchange/threatexchange/cli/hash_cmd.py] 2 [python-threatexchange/threatexchange/cli/fetch_cmd.py] [python-threatexchange/threatexchange/cli/fetch_cmd.py] [python-threatexchange/threatexchange/cli/main.py]--[python-threatexchange/threatexchange/cli/fetch_cmd.py] 2 [python-threatexchange/threatexchange/cli/dataset_cmd.py] [python-threatexchange/threatexchange/cli/dataset_cmd.py] [python-threatexchange/threatexchange/cli/main.py]--[python-threatexchange/threatexchange/cli/dataset_cmd.py] 2 [python-threatexchange/threatexchange/cli/label_cmd.py]--[python-threatexchange/threatexchange/cli/cli_config.py] 2 [python-threatexchange/threatexchange/cli/label_cmd.py]--[python-threatexchange/threatexchange/cli/hash_cmd.py] 2 [python-threatexchange/threatexchange/cli/label_cmd.py]--[python-threatexchange/threatexchange/cli/fetch_cmd.py] 2 [python-threatexchange/threatexchange/cli/label_cmd.py]--[python-threatexchange/threatexchange/cli/dataset_cmd.py] 2 [python-threatexchange/threatexchange/signal_type/signal_base.py] [python-threatexchange/threatexchange/signal_type/signal_base.py] [python-threatexchange/threatexchange/signal_type/signal_base.py]--[python-threatexchange/threatexchange/cli/main.py] 2 [python-threatexchange/threatexchange/signal_type/signal_base.py]--[python-threatexchange/threatexchange/cli/cli_config.py] 2 [python-threatexchange/threatexchange/signal_type/signal_base.py]--[python-threatexchange/threatexchange/cli/label_cmd.py] 2 [python-threatexchange/threatexchange/signal_type/signal_base.py]--[python-threatexchange/threatexchange/cli/hash_cmd.py] 2 [python-threatexchange/threatexchange/signal_type/signal_base.py]--[python-threatexchange/threatexchange/cli/fetch_cmd.py] 2 [python-threatexchange/threatexchange/cli/match_cmd.py] [python-threatexchange/threatexchange/cli/match_cmd.py] [python-threatexchange/threatexchange/signal_type/signal_base.py]--[python-threatexchange/threatexchange/cli/match_cmd.py] 2 [python-threatexchange/threatexchange/signal_type/signal_base.py]--[python-threatexchange/threatexchange/cli/dataset_cmd.py] 2 [python-threatexchange/threatexchange/cli/hash_cmd.py]--[python-threatexchange/threatexchange/cli/cli_config.py] 2 [python-threatexchange/threatexchange/cli/hash_cmd.py]--[python-threatexchange/threatexchange/cli/fetch_cmd.py] 2 [python-threatexchange/threatexchange/cli/hash_cmd.py]--[python-threatexchange/threatexchange/cli/dataset_cmd.py] 2 [python-threatexchange/threatexchange/cli/fetch_cmd.py]--[python-threatexchange/threatexchange/cli/cli_config.py] 2 [python-threatexchange/threatexchange/cli/fetch_cmd.py]--[python-threatexchange/threatexchange/cli/dataset_cmd.py] 2 [python-threatexchange/threatexchange/cli/match_cmd.py]--[python-threatexchange/threatexchange/cli/main.py] 2 [python-threatexchange/threatexchange/cli/match_cmd.py]--[python-threatexchange/threatexchange/cli/cli_config.py] 2 [python-threatexchange/threatexchange/cli/match_cmd.py]--[python-threatexchange/threatexchange/cli/label_cmd.py] 2 [python-threatexchange/threatexchange/cli/match_cmd.py]--[python-threatexchange/threatexchange/cli/hash_cmd.py] 2 [python-threatexchange/threatexchange/cli/match_cmd.py]--[python-threatexchange/threatexchange/cli/fetch_cmd.py] 2 [python-threatexchange/threatexchange/cli/match_cmd.py]--[python-threatexchange/threatexchange/cli/dataset_cmd.py] 2 [python-threatexchange/threatexchange/cli/dataset_cmd.py]--[python-threatexchange/threatexchange/cli/cli_config.py] 2 [python-threatexchange/threatexchange/cli/config_cmd.py] [python-threatexchange/threatexchange/cli/config_cmd.py] [python-threatexchange/threatexchange/cli/config_cmd.py]--[python-threatexchange/threatexchange/cli/main.py] 2 [python-threatexchange/threatexchange/cli/config_cmd.py]--[python-threatexchange/threatexchange/cli/cli_config.py] 2 [python-threatexchange/threatexchange/signal_type/url.py] [python-threatexchange/threatexchange/signal_type/url.py] [python-threatexchange/threatexchange/signal_type/url.py]--[python-threatexchange/threatexchange/cli/main.py] 2 [python-threatexchange/threatexchange/signal_type/url.py]--[python-threatexchange/threatexchange/cli/cli_config.py] 2 [python-threatexchange/threatexchange/signal_type/url.py]--[python-threatexchange/threatexchange/cli/label_cmd.py] 2 [python-threatexchange/threatexchange/signal_type/url.py]--[python-threatexchange/threatexchange/signal_type/signal_base.py] 2 [python-threatexchange/threatexchange/signal_type/url.py]--[python-threatexchange/threatexchange/cli/hash_cmd.py] 2 [python-threatexchange/threatexchange/signal_type/url.py]--[python-threatexchange/threatexchange/cli/fetch_cmd.py] 2 [python-threatexchange/threatexchange/signal_type/url.py]--[python-threatexchange/threatexchange/cli/match_cmd.py] 2 [python-threatexchange/threatexchange/signal_type/url.py]--[python-threatexchange/threatexchange/cli/dataset_cmd.py] 2 [python-threatexchange/threatexchange/signal_type/url_md5.py] [python-threatexchange/threatexchange/signal_type/url_md5.py] [python-threatexchange/threatexchange/fb_threatexchange/api.py] [python-threatexchange/threatexchange/fb_threatexchange/api.py] [python-threatexchange/threatexchange/signal_type/url_md5.py]--[python-threatexchange/threatexchange/fb_threatexchange/api.py] 1 [python-threatexchange/threatexchange/signal_type/pdq.py] [python-threatexchange/threatexchange/signal_type/pdq.py] [python-threatexchange/threatexchange/signal_type/pdq.py]--[python-threatexchange/threatexchange/cli/config_cmd.py] 1 [python-threatexchange/threatexchange/fb_threatexchange/threat_updates.py] [python-threatexchange/threatexchange/fb_threatexchange/threat_updates.py] [python-threatexchange/threatexchange/signal_type/pdq.py]--[python-threatexchange/threatexchange/fb_threatexchange/threat_updates.py] 1 [python-threatexchange/threatexchange/signal_type/index.py] [python-threatexchange/threatexchange/signal_type/index.py] [python-threatexchange/threatexchange/signal_type/pdq.py]--[python-threatexchange/threatexchange/signal_type/index.py] 1 [python-threatexchange/threatexchange/content_type/text.py] [python-threatexchange/threatexchange/content_type/text.py] [python-threatexchange/threatexchange/content_type/text.py]--[python-threatexchange/threatexchange/cli/fetch_cmd.py] 1 [hasher-matcher-actioner/terraform/durable-fs/variables.tf] [hasher-matcher-actioner/terraform/durable-fs/variables.tf] [hasher-matcher-actioner/terraform/durable-fs/outputs.tf] [hasher-matcher-actioner/terraform/durable-fs/outputs.tf] [hasher-matcher-actioner/terraform/durable-fs/variables.tf]--[hasher-matcher-actioner/terraform/durable-fs/outputs.tf] 1 [python-threatexchange/threatexchange/content_type/pdf.py] [python-threatexchange/threatexchange/content_type/pdf.py] [python-threatexchange/threatexchange/cli/cli_state.py] [python-threatexchange/threatexchange/cli/cli_state.py] [python-threatexchange/threatexchange/content_type/pdf.py]--[python-threatexchange/threatexchange/cli/cli_state.py] 1 [python-threatexchange/threatexchange/extensions/__init__.py] [python-threatexchange/threatexchange/extensions/__init__.py] [python-threatexchange/threatexchange/extensions/__init__.py]--[python-threatexchange/threatexchange/cli/config_cmd.py] 1 [python-threatexchange/threatexchange/fetcher/apis/fb_threatexchange_api.py] [python-threatexchange/threatexchange/fetcher/apis/fb_threatexchange_api.py] [python-threatexchange/threatexchange/fetcher/apis/fb_threatexchange_api.py]--[python-threatexchange/threatexchange/cli/dataset_cmd.py] 1 [python-threatexchange/threatexchange/fetcher/apis/__init__.py] [python-threatexchange/threatexchange/fetcher/apis/__init__.py] [python-threatexchange/threatexchange/fetcher/apis/fb_threatexchange_api.py]--[python-threatexchange/threatexchange/fetcher/apis/__init__.py] 1 [python-threatexchange/threatexchange/fb_threatexchange/descriptor.py] [python-threatexchange/threatexchange/fb_threatexchange/descriptor.py] [python-threatexchange/threatexchange/fb_threatexchange/descriptor.py]--[python-threatexchange/threatexchange/cli/config_cmd.py] 1 [python-threatexchange/threatexchange/fb_threatexchange/api_representations.py] [python-threatexchange/threatexchange/fb_threatexchange/api_representations.py] [python-threatexchange/threatexchange/fb_threatexchange/api_representations.py]--[python-threatexchange/threatexchange/cli/dataset_cmd.py] 1

Open 3D force graph (file dependencies)...
Open 3D force graph (file dependencies with commits)...
Dependencies between components in same commits (primary)
The number on the lines shows the number of shared commits.
G python-threatexchange/threatexchange python-threatexchange/threatexchange python-threatexchange/threatexchange--python-threatexchange/threatexchange 3 python-threatexchange python-threatexchange python-threatexchange/threatexchange--python-threatexchange 1 hasher-matcher-actioner/hmalib hasher-matcher-actioner/hmalib hasher-matcher-actioner/hmalib--hasher-matcher-actioner/hmalib 2 hasher-matcher-actioner hasher-matcher-actioner hasher-matcher-actioner/hmalib--hasher-matcher-actioner 2 hasher-matcher-actioner/terraform hasher-matcher-actioner/terraform hasher-matcher-actioner/terraform--hasher-matcher-actioner/terraform 1 hasher-matcher-actioner/scripts hasher-matcher-actioner/scripts hasher-matcher-actioner/scripts--hasher-matcher-actioner/hmalib 1 tmk/cpp tmk/cpp tmk/cpp--tmk/cpp 1 pdq/cpp pdq/cpp tmk/cpp--pdq/cpp 1

Open 3D force graph (file dependencies)...