guardian / securedrop-client
File Change Frequency

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

Overview
File Change Frequency Overall
  • There are 167 files with 13,394 lines of code.
    • 0 files changed more than 100 times (0 lines of code)
    • 0 files changed 51-100 times (0 lines of code)
    • 12 files changed 21-50 times (4,705 lines of code)
    • 100 files changed 6-20 times (7,556 lines of code)
    • 55 files changed 1-5 times (1,133 lines of code)
0% | 0% | 35% | 56% | 8%
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 167 files with 13,394 lines of code.
    • 0 files changed by more than 25 contributors (0 lines of code)
    • 1 file changed by 11-25 contributors (122 lines of code)
    • 61 files changed by 6-10 contributors (9,244 lines of code)
    • 105 files changed by 2-5 contributors (4,028 lines of code)
    • 0 files changed by 1 contributor (0 lines of code)
0% | <1% | 69% | 30% | 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, yaml, svg, css, mo, po, md, sh, toml, desktop, txt, asc, in, rs, ini, json, jinja, pyi, xml, mako, cfg, gitignore
File Change Frequency per Extension
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
py0% | 0% | 42% | 56% | 1%
toml0% | 0% | 28% | 69% | 1%
css0% | 0% | 0% | 47% | 52%
mo0% | 0% | 0% | 56% | 43%
rs0% | 0% | 0% | 73% | 26%
in0% | 0% | 0% | 100% | 0%
desktop0% | 0% | 0% | 0% | 100%
mako0% | 0% | 0% | 0% | 100%
jinja0% | 0% | 0% | 0% | 100%
xml0% | 0% | 0% | 0% | 100%
pyi0% | 0% | 0% | 0% | 100%
cfg0% | 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
client0% | 0% | 40% | 51% | 8%
ROOT0% | 0% | 91% | 8% | <1%
log0% | 0% | 17% | 82% | <1%
export0% | 0% | 1% | 95% | 2%
supply-chain0% | 0% | 0% | 100% | 0%
proxy0% | 0% | 0% | 77% | 22%
workstation-config0% | 0% | 0% | 0% | 100%
scripts0% | 0% | 0% | 0% | 100%
keyring0% | 0% | 0% | 0% | 100%
Most Frequently Changed Files (Top 50)

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsfirst
contributor
latest
contributor
122 - 2020-06-04 2025-02-20 48 13 john@freedom.press philip.mcmahon@guardian.co.uk
__init__.py
in client/securedrop_client
1 - 2023-12-11 2025-02-21 37 6 legoktm@debian.org philip.mcmahon@guardian.co.uk
__init__.py
in export/securedrop_export
1 - 2023-12-11 2025-02-21 37 6 legoktm@debian.org philip.mcmahon@guardian.co.uk
widgets.py
in client/securedrop_client/gui
2486 225 2023-10-05 2025-02-20 32 7 ro@freedom.press philip.mcmahon@guardian.co.uk
actions.py
in client/securedrop_client/gui
261 19 2023-10-05 2025-02-20 31 8 ro@freedom.press philip.mcmahon@guardian.co.uk
__init__.py
in client/securedrop_client/sdk
643 33 2023-12-15 2025-02-21 28 8 legoktm@debian.org philip.mcmahon@guardian.co.uk
logic.py
in client/securedrop_client
664 65 2023-12-11 2025-02-20 25 7 legoktm@debian.org philip.mcmahon@guardian.co.uk
22 - 2023-12-11 2025-02-20 24 7 legoktm@debian.org philip.mcmahon@guardian.co.uk
42 - 2023-12-11 2025-02-20 24 6 legoktm@debian.org philip.mcmahon@guardian.co.uk
export.py
in client/securedrop_client
328 22 2023-10-05 2024-09-05 24 6 ro@freedom.press philip.mcmahon@guardian.co.uk
20 - 2023-10-05 2025-02-20 22 7 ro@freedom.press philip.mcmahon@guardian.co.uk
main.py
in client/securedrop_client/gui
115 16 2023-11-13 2025-02-20 21 6 legoktm@debian.org philip.mcmahon@guardian.co.uk
12 - 2023-12-04 2024-09-05 20 6 legoktm@debian.org philip.mcmahon@guardian.co.uk
print_dialog.py
in client/securedrop_client/gui/conversation/export
140 11 2023-10-05 2024-09-05 20 6 ro@freedom.press philip.mcmahon@guardian.co.uk
downloads.py
in client/securedrop_client/api_jobs
214 22 2023-12-11 2025-02-20 20 6 legoktm@debian.org philip.mcmahon@guardian.co.uk
dialog.py
in client/securedrop_client/gui/source/delete
104 7 2023-12-11 2025-02-20 18 8 legoktm@debian.org philip.mcmahon@guardian.co.uk
cli.py
in export/securedrop_export/disk
328 9 2023-10-05 2024-07-31 17 6 ro@freedom.press philip.mcmahon@guardian.co.uk
config.py
in client/securedrop_client
54 2 2023-12-11 2024-09-05 16 7 legoktm@debian.org philip.mcmahon@guardian.co.uk
export_wizard_page.py
in client/securedrop_client/gui/conversation/export
346 29 2023-11-13 2024-07-31 16 5 legoktm@debian.org philip.mcmahon@guardian.co.uk
storage.py
in client/securedrop_client
662 42 2023-12-11 2025-02-20 16 6 legoktm@debian.org philip.mcmahon@guardian.co.uk
__init__.py
in client/securedrop_client/gui/conversation/export
3 - 2023-12-11 2024-09-05 15 6 legoktm@debian.org philip.mcmahon@guardian.co.uk
__init__.py
in client/securedrop_client/gui/conversation
6 - 2023-12-11 2024-09-05 15 6 legoktm@debian.org philip.mcmahon@guardian.co.uk
sync.py
in client/securedrop_client/api_jobs
84 4 2023-12-11 2025-02-20 15 6 legoktm@debian.org philip.mcmahon@guardian.co.uk
service.py
in export/securedrop_export/print
285 15 2023-12-11 2024-09-05 15 6 legoktm@debian.org philip.mcmahon@guardian.co.uk
setup.py
in log
31 - 2023-12-11 2024-07-31 14 7 legoktm@debian.org philip.mcmahon@guardian.co.uk
mo
messages.mo
in client/securedrop_client/locale/pl/LC_MESSAGES
41 - 2023-12-18 2025-02-20 14 7 kog@freedom.press philip.mcmahon@guardian.co.uk
export_wizard.py
in client/securedrop_client/gui/conversation/export
157 15 2023-11-13 2024-07-31 14 5 legoktm@debian.org philip.mcmahon@guardian.co.uk
export_status.py
in client/securedrop_client
39 1 2023-10-05 2024-09-05 13 6 ro@freedom.press philip.mcmahon@guardian.co.uk
sdlocalobjects.py
in client/securedrop_client/sdk
149 15 2023-12-15 2024-09-05 13 6 legoktm@debian.org philip.mcmahon@guardian.co.uk
mo
messages.mo
in client/securedrop_client/locale/is/LC_MESSAGES
45 - 2023-12-11 2025-02-20 12 7 legoktm@debian.org philip.mcmahon@guardian.co.uk
archive.py
in export/securedrop_export
56 5 2023-10-05 2024-07-31 12 6 ro@freedom.press philip.mcmahon@guardian.co.uk
directory.py
in export/securedrop_export
65 6 2023-12-11 2024-07-31 12 5 legoktm@debian.org philip.mcmahon@guardian.co.uk
base.py
in client/securedrop_client/api_jobs
66 10 2023-12-11 2024-07-31 12 6 legoktm@debian.org philip.mcmahon@guardian.co.uk
verify-mo.py
in client/scripts
90 8 2023-12-11 2024-09-05 12 5 legoktm@debian.org philip.mcmahon@guardian.co.uk
uploads.py
in client/securedrop_client/api_jobs
118 7 2023-12-11 2025-02-21 12 6 legoktm@debian.org philip.mcmahon@guardian.co.uk
crypto.py
in client/securedrop_client
142 7 2023-12-11 2024-07-31 12 6 legoktm@debian.org philip.mcmahon@guardian.co.uk
audits.toml
in supply-chain
367 - 2024-02-09 2025-02-20 12 7 legoktm@debian.org philip.mcmahon@guardian.co.uk
2 - 2024-02-09 2025-02-20 11 6 legoktm@debian.org philip.mcmahon@guardian.co.uk
in
7 - 2023-12-11 2024-07-31 11 6 legoktm@debian.org philip.mcmahon@guardian.co.uk
status.py
in export/securedrop_export/print
16 - 2023-12-11 2024-09-05 11 6 legoktm@debian.org philip.mcmahon@guardian.co.uk
setup.py
in client
31 - 2023-12-11 2024-07-31 11 5 legoktm@debian.org philip.mcmahon@guardian.co.uk
dialog_button.css
in client/securedrop_client/gui/base
42 - 2023-12-11 2025-02-20 11 6 legoktm@debian.org philip.mcmahon@guardian.co.uk
main.py
in export/securedrop_export
119 5 2023-10-05 2024-07-31 11 6 ro@freedom.press philip.mcmahon@guardian.co.uk
queue.py
in client/securedrop_client
222 19 2023-12-11 2024-07-31 11 6 legoktm@debian.org philip.mcmahon@guardian.co.uk
db.py
in client/securedrop_client
459 47 2023-12-11 2024-09-05 11 5 legoktm@debian.org philip.mcmahon@guardian.co.uk
mo
messages.mo
in client/securedrop_client/locale/zh_Hant/LC_MESSAGES
37 - 2023-12-18 2024-07-31 10 6 kog@freedom.press philip.mcmahon@guardian.co.uk
misc.py
in client/securedrop_client/gui/base
104 10 2023-12-11 2024-07-31 10 5 legoktm@debian.org philip.mcmahon@guardian.co.uk
utils.py
in client/securedrop_client
116 13 2023-12-11 2024-07-31 10 5 legoktm@debian.org philip.mcmahon@guardian.co.uk
main.rs
in proxy/src
136 2 2023-11-17 2024-07-31 10 6 cory@freedom.press philip.mcmahon@guardian.co.uk
__init__.py
in export/securedrop_export/disk
3 - 2023-10-05 2024-07-31 9 6 ro@freedom.press philip.mcmahon@guardian.co.uk
Files With Most Contributors (Top 50)
Based on the number of unique email addresses found in commits.

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsfirst
contributor
latest
contributor
122 - 2020-06-04 2025-02-20 48 13 john@freedom.press philip.mcmahon@guardian.co.uk
actions.py
in client/securedrop_client/gui
261 19 2023-10-05 2025-02-20 31 8 ro@freedom.press philip.mcmahon@guardian.co.uk
__init__.py
in client/securedrop_client/sdk
643 33 2023-12-15 2025-02-21 28 8 legoktm@debian.org philip.mcmahon@guardian.co.uk
dialog.py
in client/securedrop_client/gui/source/delete
104 7 2023-12-11 2025-02-20 18 8 legoktm@debian.org philip.mcmahon@guardian.co.uk
widgets.py
in client/securedrop_client/gui
2486 225 2023-10-05 2025-02-20 32 7 ro@freedom.press philip.mcmahon@guardian.co.uk
logic.py
in client/securedrop_client
664 65 2023-12-11 2025-02-20 25 7 legoktm@debian.org philip.mcmahon@guardian.co.uk
22 - 2023-12-11 2025-02-20 24 7 legoktm@debian.org philip.mcmahon@guardian.co.uk
20 - 2023-10-05 2025-02-20 22 7 ro@freedom.press philip.mcmahon@guardian.co.uk
config.py
in client/securedrop_client
54 2 2023-12-11 2024-09-05 16 7 legoktm@debian.org philip.mcmahon@guardian.co.uk
mo
messages.mo
in client/securedrop_client/locale/pl/LC_MESSAGES
41 - 2023-12-18 2025-02-20 14 7 kog@freedom.press philip.mcmahon@guardian.co.uk
setup.py
in log
31 - 2023-12-11 2024-07-31 14 7 legoktm@debian.org philip.mcmahon@guardian.co.uk
audits.toml
in supply-chain
367 - 2024-02-09 2025-02-20 12 7 legoktm@debian.org philip.mcmahon@guardian.co.uk
mo
messages.mo
in client/securedrop_client/locale/is/LC_MESSAGES
45 - 2023-12-11 2025-02-20 12 7 legoktm@debian.org philip.mcmahon@guardian.co.uk
mo
messages.mo
in client/securedrop_client/locale/sv/LC_MESSAGES
41 - 2023-12-11 2025-02-20 9 7 legoktm@debian.org philip.mcmahon@guardian.co.uk
mo
messages.mo
in client/securedrop_client/locale/tr/LC_MESSAGES
45 - 2023-12-11 2025-02-20 9 7 legoktm@debian.org philip.mcmahon@guardian.co.uk
mo
messages.mo
in client/securedrop_client/locale/de/LC_MESSAGES
35 - 2023-12-11 2025-02-20 9 7 legoktm@debian.org philip.mcmahon@guardian.co.uk
mo
messages.mo
in client/securedrop_client/locale/ca/LC_MESSAGES
41 - 2023-12-11 2025-02-20 9 7 legoktm@debian.org philip.mcmahon@guardian.co.uk
mo
messages.mo
in client/securedrop_client/locale/fr/LC_MESSAGES
41 - 2023-12-18 2025-02-20 9 7 kog@freedom.press philip.mcmahon@guardian.co.uk
__init__.py
in export/securedrop_export
1 - 2023-12-11 2025-02-21 37 6 legoktm@debian.org philip.mcmahon@guardian.co.uk
__init__.py
in client/securedrop_client
1 - 2023-12-11 2025-02-21 37 6 legoktm@debian.org philip.mcmahon@guardian.co.uk
export.py
in client/securedrop_client
328 22 2023-10-05 2024-09-05 24 6 ro@freedom.press philip.mcmahon@guardian.co.uk
42 - 2023-12-11 2025-02-20 24 6 legoktm@debian.org philip.mcmahon@guardian.co.uk
main.py
in client/securedrop_client/gui
115 16 2023-11-13 2025-02-20 21 6 legoktm@debian.org philip.mcmahon@guardian.co.uk
12 - 2023-12-04 2024-09-05 20 6 legoktm@debian.org philip.mcmahon@guardian.co.uk
print_dialog.py
in client/securedrop_client/gui/conversation/export
140 11 2023-10-05 2024-09-05 20 6 ro@freedom.press philip.mcmahon@guardian.co.uk
downloads.py
in client/securedrop_client/api_jobs
214 22 2023-12-11 2025-02-20 20 6 legoktm@debian.org philip.mcmahon@guardian.co.uk
cli.py
in export/securedrop_export/disk
328 9 2023-10-05 2024-07-31 17 6 ro@freedom.press philip.mcmahon@guardian.co.uk
storage.py
in client/securedrop_client
662 42 2023-12-11 2025-02-20 16 6 legoktm@debian.org philip.mcmahon@guardian.co.uk
service.py
in export/securedrop_export/print
285 15 2023-12-11 2024-09-05 15 6 legoktm@debian.org philip.mcmahon@guardian.co.uk
__init__.py
in client/securedrop_client/gui/conversation/export
3 - 2023-12-11 2024-09-05 15 6 legoktm@debian.org philip.mcmahon@guardian.co.uk
__init__.py
in client/securedrop_client/gui/conversation
6 - 2023-12-11 2024-09-05 15 6 legoktm@debian.org philip.mcmahon@guardian.co.uk
sync.py
in client/securedrop_client/api_jobs
84 4 2023-12-11 2025-02-20 15 6 legoktm@debian.org philip.mcmahon@guardian.co.uk
export_status.py
in client/securedrop_client
39 1 2023-10-05 2024-09-05 13 6 ro@freedom.press philip.mcmahon@guardian.co.uk
sdlocalobjects.py
in client/securedrop_client/sdk
149 15 2023-12-15 2024-09-05 13 6 legoktm@debian.org philip.mcmahon@guardian.co.uk
archive.py
in export/securedrop_export
56 5 2023-10-05 2024-07-31 12 6 ro@freedom.press philip.mcmahon@guardian.co.uk
crypto.py
in client/securedrop_client
142 7 2023-12-11 2024-07-31 12 6 legoktm@debian.org philip.mcmahon@guardian.co.uk
base.py
in client/securedrop_client/api_jobs
66 10 2023-12-11 2024-07-31 12 6 legoktm@debian.org philip.mcmahon@guardian.co.uk
uploads.py
in client/securedrop_client/api_jobs
118 7 2023-12-11 2025-02-21 12 6 legoktm@debian.org philip.mcmahon@guardian.co.uk
status.py
in export/securedrop_export/print
16 - 2023-12-11 2024-09-05 11 6 legoktm@debian.org philip.mcmahon@guardian.co.uk
main.py
in export/securedrop_export
119 5 2023-10-05 2024-07-31 11 6 ro@freedom.press philip.mcmahon@guardian.co.uk
dialog_button.css
in client/securedrop_client/gui/base
42 - 2023-12-11 2025-02-20 11 6 legoktm@debian.org philip.mcmahon@guardian.co.uk
queue.py
in client/securedrop_client
222 19 2023-12-11 2024-07-31 11 6 legoktm@debian.org philip.mcmahon@guardian.co.uk
2 - 2024-02-09 2025-02-20 11 6 legoktm@debian.org philip.mcmahon@guardian.co.uk
in
7 - 2023-12-11 2024-07-31 11 6 legoktm@debian.org philip.mcmahon@guardian.co.uk
main.rs
in proxy/src
136 2 2023-11-17 2024-07-31 10 6 cory@freedom.press philip.mcmahon@guardian.co.uk
mo
messages.mo
in client/securedrop_client/locale/zh_Hant/LC_MESSAGES
37 - 2023-12-18 2024-07-31 10 6 kog@freedom.press philip.mcmahon@guardian.co.uk
Cargo.toml
in proxy
17 - 2023-11-17 2024-07-31 9 6 cory@freedom.press philip.mcmahon@guardian.co.uk
__init__.py
in export/securedrop_export/disk
3 - 2023-10-05 2024-07-31 9 6 ro@freedom.press philip.mcmahon@guardian.co.uk
export_wizard_constants.py
in client/securedrop_client/gui/conversation/export
40 - 2024-01-29 2024-07-23 9 6 ro@freedom.press philip.mcmahon@guardian.co.uk
sources.py
in client/securedrop_client/api_jobs
41 6 2023-12-11 2024-07-31 9 6 legoktm@debian.org philip.mcmahon@guardian.co.uk
Files With Least Contributors (Top 50)
Based on the number of unique email addresses found in commits.

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsfirst
contributor
latest
contributor
whistleflow_dialog.py
in client/securedrop_client/gui/conversation/export
125 11 2024-07-10 2024-07-31 6 2 philip.mcmahon@theguardian.com philip.mcmahon@guardian.co.uk
shortcuts.py
in client/securedrop_client/gui
6 - 2024-09-06 2025-02-20 4 3 legoktm@debian.org philip.mcmahon@guardian.co.uk
wizard.css
in client/securedrop_client/gui/conversation/export
77 - 2024-02-07 2024-07-23 5 4 ro@freedom.press philip.mcmahon@guardian.co.uk
sender_icon.css
in client/securedrop_client/resources/css
66 - 2023-12-11 2024-07-23 4 4 legoktm@debian.org philip.mcmahon@guardian.co.uk
speech_bubble_message.css
in client/securedrop_client/resources/css
62 - 2023-12-11 2024-07-23 4 4 legoktm@debian.org philip.mcmahon@guardian.co.uk
securedrop-mime-handling.py
in workstation-config
51 3 2024-05-24 2024-07-31 4 4 francisco@freedom.press philip.mcmahon@guardian.co.uk
backport.py
in scripts
42 - 2024-03-13 2024-07-31 5 4 legoktm@debian.org philip.mcmahon@guardian.co.uk
wizard_button.css
in client/securedrop_client/gui/conversation/export
42 - 2024-02-07 2024-07-23 5 4 ro@freedom.press philip.mcmahon@guardian.co.uk
speech_bubble_status_bar.css
in client/securedrop_client/resources/css
42 - 2023-12-11 2024-07-23 4 4 legoktm@debian.org philip.mcmahon@guardian.co.uk
log_saver.py
in log/log_server
39 1 2024-05-09 2025-02-21 6 4 francisco@freedom.press philip.mcmahon@guardian.co.uk
mo
messages.mo
in client/securedrop_client/locale/en_XA/LC_MESSAGES
36 - 2023-12-18 2024-07-23 3 4 kog@freedom.press philip.mcmahon@guardian.co.uk
redis_log.py
in log/log_server
29 3 2024-05-09 2025-02-21 6 4 francisco@freedom.press philip.mcmahon@guardian.co.uk
config_qubesdb.rs
in proxy/src
26 - 2024-03-01 2024-07-31 5 4 cory@freedom.press philip.mcmahon@guardian.co.uk
transcript.py
in client/securedrop_client/conversation/transcript
26 3 2023-12-11 2024-07-31 7 4 legoktm@debian.org philip.mcmahon@guardian.co.uk
source_name.css
in client/securedrop_client/resources/css
26 - 2023-12-11 2024-07-23 4 4 legoktm@debian.org philip.mcmahon@guardian.co.uk
file_download_button.css
in client/securedrop_client/resources/css
20 - 2023-12-11 2024-07-23 4 4 legoktm@debian.org philip.mcmahon@guardian.co.uk
build.rs
in proxy
18 2 2024-03-01 2024-07-31 5 4 cory@freedom.press philip.mcmahon@guardian.co.uk
dialog.css
in client/securedrop_client/gui/auth
18 - 2023-12-11 2024-07-23 4 4 legoktm@debian.org philip.mcmahon@guardian.co.uk
source_menu.css
in client/securedrop_client/resources/css
18 - 2023-12-11 2024-07-23 4 4 legoktm@debian.org philip.mcmahon@guardian.co.uk
mako
script.py.mako
in client/alembic
17 - 2023-12-11 2024-07-23 4 4 legoktm@debian.org philip.mcmahon@guardian.co.uk
transcript.txt.jinja
in client/securedrop_client/conversation/transcript/templates
16 - 2023-12-11 2024-07-23 4 4 legoktm@debian.org philip.mcmahon@guardian.co.uk
checkbox.css
in client/securedrop_client/gui/base
16 - 2023-12-11 2024-07-23 4 4 legoktm@debian.org philip.mcmahon@guardian.co.uk
source_timestamp.css
in client/securedrop_client/resources/css
16 - 2023-12-11 2024-07-23 4 4 legoktm@debian.org philip.mcmahon@guardian.co.uk
error_bar.css
in client/securedrop_client/gui/auth/sign_in
15 - 2023-12-11 2024-07-23 4 4 legoktm@debian.org philip.mcmahon@guardian.co.uk
button.css
in client/securedrop_client/resources/css
15 - 2023-12-11 2024-07-23 4 4 legoktm@debian.org philip.mcmahon@guardian.co.uk
source_preview.css
in client/securedrop_client/resources/css
15 - 2023-12-11 2024-07-23 4 4 legoktm@debian.org philip.mcmahon@guardian.co.uk
button.css
in client/securedrop_client/gui/auth/sign_in
14 - 2023-12-11 2024-07-23 4 4 legoktm@debian.org philip.mcmahon@guardian.co.uk
pyproject.toml
in keyring
13 - 2024-04-02 2024-07-31 4 4 legoktm@debian.org philip.mcmahon@guardian.co.uk
mo
messages.mo
in client/securedrop_client/locale/nl/LC_MESSAGES
12 - 2024-10-23 2025-02-20 4 4 noreply@weblate.org philip.mcmahon@guardian.co.uk
mo
messages.mo
in client/securedrop_client/locale/bn/LC_MESSAGES
12 - 2023-12-18 2024-07-23 3 4 kog@freedom.press philip.mcmahon@guardian.co.uk
wizard_message.css
in client/securedrop_client/gui/conversation/export
12 - 2024-02-07 2024-07-23 5 4 ro@freedom.press philip.mcmahon@guardian.co.uk
dialog_message.css
in client/securedrop_client/gui/base
12 - 2023-12-11 2024-07-23 4 4 legoktm@debian.org philip.mcmahon@guardian.co.uk
checker_tooltip.css
in client/securedrop_client/resources/css
12 - 2023-12-11 2024-07-23 4 4 legoktm@debian.org philip.mcmahon@guardian.co.uk
timestamps.py
in client/securedrop_client/sdk
12 1 2023-12-15 2024-07-31 7 4 legoktm@debian.org philip.mcmahon@guardian.co.uk
message.py
in client/securedrop_client/conversation/transcript/items
11 1 2023-12-11 2024-07-31 7 4 legoktm@debian.org philip.mcmahon@guardian.co.uk
desktop
open-in-dvm.desktop
in workstation-config
10 - 2023-12-12 2024-07-23 4 4 legoktm@debian.org philip.mcmahon@guardian.co.uk
exceptions.py
in export/securedrop_export
9 2 2023-12-11 2024-07-23 4 4 legoktm@debian.org philip.mcmahon@guardian.co.uk
command.py
in export/securedrop_export
9 - 2023-12-11 2024-07-23 4 4 legoktm@debian.org philip.mcmahon@guardian.co.uk
file.py
in client/securedrop_client/conversation/transcript/items
8 1 2023-12-11 2024-07-23 4 4 legoktm@debian.org philip.mcmahon@guardian.co.uk
7 - 2023-12-11 2024-07-23 4 4 legoktm@debian.org philip.mcmahon@guardian.co.uk
button.py
in client/securedrop_client/gui/auth/use_offline
7 1 2023-12-11 2024-07-23 4 4 legoktm@debian.org philip.mcmahon@guardian.co.uk
pyi
qubesdb.pyi
in client/stubs
6 3 2024-02-29 2024-07-31 4 4 cory@freedom.press philip.mcmahon@guardian.co.uk
config_env.rs
in proxy/src
5 - 2024-03-01 2024-07-31 5 4 cory@freedom.press philip.mcmahon@guardian.co.uk
desktop
send-to-usb.desktop
in export/files
5 - 2023-12-11 2024-07-23 4 4 legoktm@debian.org philip.mcmahon@guardian.co.uk
5 - 2023-12-11 2024-07-23 4 4 legoktm@debian.org philip.mcmahon@guardian.co.uk
desktop
5 - 2023-12-11 2024-07-23 4 4 legoktm@debian.org philip.mcmahon@guardian.co.uk
cfg
babel.cfg
in client
3 - 2023-12-11 2024-07-23 4 4 legoktm@debian.org philip.mcmahon@guardian.co.uk
item.py
in client/securedrop_client/conversation/transcript/items
2 - 2023-12-11 2024-07-31 7 4 legoktm@debian.org philip.mcmahon@guardian.co.uk
__main__.py
in client/securedrop_client
2 - 2023-12-11 2024-07-23 4 4 legoktm@debian.org philip.mcmahon@guardian.co.uk
__init__.py
in client/securedrop_client/gui
1 - 2023-12-11 2024-07-23 4 4 legoktm@debian.org philip.mcmahon@guardian.co.uk
Correlations

File Size vs. Number of Changes: 167 points

client/securedrop_client/__init__.py x: 1 lines of code y: 37 # changes client/securedrop_client/api_jobs/uploads.py x: 118 lines of code y: 12 # changes client/securedrop_client/sdk/__init__.py x: 643 lines of code y: 28 # changes log/log_server/log_saver.py x: 39 lines of code y: 6 # changes log/log_server/redis_log.py x: 29 lines of code y: 6 # changes client/MANIFEST.in x: 19 lines of code y: 9 # changes client/pyproject.toml x: 42 lines of code y: 24 # changes client/securedrop_client/api_jobs/downloads.py x: 214 lines of code y: 20 # changes client/securedrop_client/api_jobs/sync.py x: 84 lines of code y: 15 # changes client/securedrop_client/gui/actions.py x: 261 lines of code y: 31 # changes client/securedrop_client/gui/base/dialog_button.css x: 42 lines of code y: 11 # changes client/securedrop_client/gui/main.py x: 115 lines of code y: 21 # changes client/securedrop_client/gui/shortcuts.py x: 6 lines of code y: 4 # changes client/securedrop_client/gui/source/delete/dialog.py x: 104 lines of code y: 18 # changes client/securedrop_client/gui/widgets.py x: 2486 lines of code y: 32 # changes client/securedrop_client/locale/ca/LC_MESSAGES/messages.mo x: 41 lines of code y: 9 # changes client/securedrop_client/locale/de/LC_MESSAGES/messages.mo x: 35 lines of code y: 9 # changes client/securedrop_client/locale/fi/LC_MESSAGES/messages.mo x: 42 lines of code y: 7 # changes client/securedrop_client/locale/is/LC_MESSAGES/messages.mo x: 45 lines of code y: 12 # changes client/securedrop_client/locale/nl/LC_MESSAGES/messages.mo x: 12 lines of code y: 4 # changes client/securedrop_client/locale/pl/LC_MESSAGES/messages.mo x: 41 lines of code y: 14 # changes client/securedrop_client/locale/tr/LC_MESSAGES/messages.mo x: 45 lines of code y: 9 # changes client/securedrop_client/logic.py x: 664 lines of code y: 25 # changes client/securedrop_client/resources/css/sdclient.css x: 346 lines of code y: 9 # changes client/securedrop_client/storage.py x: 662 lines of code y: 16 # changes export/pyproject.toml x: 20 lines of code y: 22 # changes log/pyproject.toml x: 22 lines of code y: 24 # changes pyproject.toml x: 122 lines of code y: 48 # changes rust-toolchain.toml x: 2 lines of code y: 11 # changes supply-chain/audits.toml x: 367 lines of code y: 12 # changes client/scripts/verify-mo.py x: 90 lines of code y: 12 # changes client/securedrop_client/config.py x: 54 lines of code y: 16 # changes client/securedrop_client/db.py x: 459 lines of code y: 11 # changes client/securedrop_client/export.py x: 328 lines of code y: 24 # changes client/securedrop_client/export_status.py x: 39 lines of code y: 13 # changes client/securedrop_client/gui/conversation/__init__.py x: 6 lines of code y: 15 # changes client/securedrop_client/gui/conversation/export/__init__.py x: 3 lines of code y: 15 # changes client/securedrop_client/gui/conversation/export/print_dialog.py x: 140 lines of code y: 20 # changes client/securedrop_client/sdk/sdlocalobjects.py x: 149 lines of code y: 13 # changes export/securedrop_export/print/service.py x: 285 lines of code y: 15 # changes export/securedrop_export/print/status.py x: 16 lines of code y: 11 # changes proxy/pyproject.toml x: 12 lines of code y: 20 # changes Cargo.toml x: 9 lines of code y: 7 # changes client/alembic/env.py x: 27 lines of code y: 8 # changes client/alembic/versions/d7c8af95bc8e_initial.py x: 283 lines of code y: 8 # changes client/create_dev_data.py x: 22 lines of code y: 7 # changes client/securedrop_client/api_jobs/base.py x: 66 lines of code y: 12 # changes client/securedrop_client/api_jobs/seen.py x: 13 lines of code y: 9 # changes client/securedrop_client/conversation/__init__.py x: 2 lines of code y: 7 # changes client/securedrop_client/conversation/transcript/transcript.py x: 26 lines of code y: 7 # changes client/securedrop_client/crypto.py x: 142 lines of code y: 12 # changes client/securedrop_client/gui/auth/sign_in/__init__.py x: 3 lines of code y: 8 # changes client/securedrop_client/gui/base/__init__.py x: 18 lines of code y: 8 # changes client/securedrop_client/gui/base/buttons.py x: 11 lines of code y: 8 # changes client/securedrop_client/gui/base/dialogs.css x: 70 lines of code y: 7 # changes client/securedrop_client/gui/base/misc.py x: 104 lines of code y: 10 # changes client/securedrop_client/gui/conversation/delete/dialog.py x: 55 lines of code y: 8 # changes client/securedrop_client/gui/conversation/export/export_wizard.py x: 157 lines of code y: 14 # changes client/securedrop_client/gui/conversation/export/export_wizard_page.py x: 346 lines of code y: 16 # changes client/securedrop_client/gui/conversation/export/whistleflow_dialog.py x: 125 lines of code y: 6 # changes client/securedrop_client/locale/ru/LC_MESSAGES/messages.mo x: 41 lines of code y: 8 # changes client/securedrop_client/locale/zh_Hant/LC_MESSAGES/messages.mo x: 37 lines of code y: 10 # changes client/securedrop_client/queue.py x: 222 lines of code y: 11 # changes client/securedrop_client/state/domain.py x: 17 lines of code y: 7 # changes client/securedrop_client/state/state.py x: 74 lines of code y: 9 # changes client/securedrop_client/sync.py x: 95 lines of code y: 9 # changes client/securedrop_client/utils.py x: 116 lines of code y: 10 # changes client/setup.py x: 31 lines of code y: 11 # changes export/securedrop_export/archive.py x: 56 lines of code y: 12 # changes export/securedrop_export/disk/__init__.py x: 3 lines of code y: 9 # changes export/securedrop_export/disk/cli.py x: 328 lines of code y: 17 # changes export/securedrop_export/main.py x: 119 lines of code y: 11 # changes export/setup.py x: 26 lines of code y: 9 # changes log/MANIFEST.in x: 7 lines of code y: 11 # changes log/log_server/__init__.py x: 1 lines of code y: 4 # changes log/setup.py x: 31 lines of code y: 14 # changes proxy/Cargo.toml x: 17 lines of code y: 9 # changes proxy/build.rs x: 18 lines of code y: 5 # changes proxy/src/config_env.rs x: 5 lines of code y: 5 # changes proxy/src/config_qubesdb.rs x: 26 lines of code y: 5 # changes proxy/src/main.rs x: 136 lines of code y: 10 # changes scripts/backport.py x: 42 lines of code y: 5 # changes supply-chain/config.toml x: 89 lines of code y: 7 # changes workstation-config/securedrop-mime-handling.py x: 51 lines of code y: 4 # changes client/alembic/script.py.mako x: 17 lines of code y: 4 # changes client/alembic/versions/414627c04463_draftreply_add_column_for_sending_pid.py x: 11 lines of code y: 5 # changes client/securedrop_client/api_jobs/updatestar.py x: 35 lines of code y: 6 # changes client/securedrop_client/app.py x: 173 lines of code y: 6 # changes client/securedrop_client/gui/auth/dialog.css x: 18 lines of code y: 4 # changes client/securedrop_client/gui/auth/dialog.py x: 137 lines of code y: 7 # changes client/securedrop_client/gui/auth/sign_in/button.py x: 20 lines of code y: 6 # changes client/securedrop_client/gui/base/dialogs.py x: 157 lines of code y: 6 # changes client/securedrop_client/gui/base/inputs.py x: 13 lines of code y: 6 # changes client/securedrop_client/gui/conversation/export/export_wizard_constants.py x: 40 lines of code y: 9 # changes client/securedrop_client/gui/conversation/export/wizard.css x: 77 lines of code y: 5 # changes client/securedrop_client/locale/bn/LC_MESSAGES/messages.mo x: 12 lines of code y: 3 # changes client/securedrop_client/locale/en_XA/LC_MESSAGES/messages.mo x: 36 lines of code y: 3 # changes client/securedrop_client/locale/es/LC_MESSAGES/messages.mo x: 36 lines of code y: 7 # changes client/securedrop_client/locale/hr/LC_MESSAGES/messages.mo x: 36 lines of code y: 5 # changes client/securedrop_client/locale/it/LC_MESSAGES/messages.mo x: 52 lines of code y: 5 # changes client/securedrop_client/locale/pt_PT/LC_MESSAGES/messages.mo x: 34 lines of code y: 5 # changes client/securedrop_client/resources/css/sender_icon.css x: 66 lines of code y: 4 # changes client/securedrop_client/resources/css/source_name.css x: 26 lines of code y: 4 # changes client/securedrop_client/resources/css/speech_bubble_message.css x: 62 lines of code y: 4 # changes client/securedrop_client/resources/css/speech_bubble_status_bar.css x: 42 lines of code y: 4 # changes export/securedrop_export/disk/service.py x: 54 lines of code y: 7 # changes proxy/MANIFEST.in x: 8 lines of code y: 8 # changes
48.0
# changes
  min: 3.0
  average: 9.34
  25th percentile: 5.0
  median: 7.0
  75th percentile: 11.0
  max: 48.0
0 2486.0
lines of code
min: 1.0 | average: 80.2 | 25th percentile: 10.0 | median: 27.0 | 75th percentile: 62.0 | max: 2486.0

Number of Contributors vs. Number of Changes: 167 points

client/securedrop_client/__init__.py x: 6 # contributors y: 37 # changes client/securedrop_client/api_jobs/uploads.py x: 6 # contributors y: 12 # changes client/securedrop_client/sdk/__init__.py x: 8 # contributors y: 28 # changes log/log_server/log_saver.py x: 4 # contributors y: 6 # changes client/MANIFEST.in x: 6 # contributors y: 9 # changes client/pyproject.toml x: 6 # contributors y: 24 # changes client/securedrop_client/api_jobs/downloads.py x: 6 # contributors y: 20 # changes client/securedrop_client/api_jobs/sync.py x: 6 # contributors y: 15 # changes client/securedrop_client/gui/actions.py x: 8 # contributors y: 31 # changes client/securedrop_client/gui/base/dialog_button.css x: 6 # contributors y: 11 # changes client/securedrop_client/gui/main.py x: 6 # contributors y: 21 # changes client/securedrop_client/gui/shortcuts.py x: 3 # contributors y: 4 # changes client/securedrop_client/gui/source/delete/dialog.py x: 8 # contributors y: 18 # changes client/securedrop_client/gui/widgets.py x: 7 # contributors y: 32 # changes client/securedrop_client/locale/ca/LC_MESSAGES/messages.mo x: 7 # contributors y: 9 # changes client/securedrop_client/locale/fi/LC_MESSAGES/messages.mo x: 6 # contributors y: 7 # changes client/securedrop_client/locale/is/LC_MESSAGES/messages.mo x: 7 # contributors y: 12 # changes client/securedrop_client/locale/nl/LC_MESSAGES/messages.mo x: 4 # contributors y: 4 # changes client/securedrop_client/locale/pl/LC_MESSAGES/messages.mo x: 7 # contributors y: 14 # changes client/securedrop_client/logic.py x: 7 # contributors y: 25 # changes client/securedrop_client/storage.py x: 6 # contributors y: 16 # changes export/pyproject.toml x: 7 # contributors y: 22 # changes log/pyproject.toml x: 7 # contributors y: 24 # changes pyproject.toml x: 13 # contributors y: 48 # changes client/scripts/verify-mo.py x: 5 # contributors y: 12 # changes client/securedrop_client/config.py x: 7 # contributors y: 16 # changes client/securedrop_client/db.py x: 5 # contributors y: 11 # changes client/securedrop_client/export_status.py x: 6 # contributors y: 13 # changes Cargo.toml x: 5 # contributors y: 7 # changes client/alembic/env.py x: 5 # contributors y: 8 # changes client/securedrop_client/conversation/transcript/items/factory.py x: 5 # contributors y: 9 # changes client/securedrop_client/conversation/transcript/items/item.py x: 4 # contributors y: 7 # changes client/securedrop_client/gui/base/misc.py x: 5 # contributors y: 10 # changes client/securedrop_client/gui/conversation/export/export_wizard.py x: 5 # contributors y: 14 # changes client/securedrop_client/gui/conversation/export/export_wizard_page.py x: 5 # contributors y: 16 # changes client/securedrop_client/gui/conversation/export/whistleflow_dialog.py x: 2 # contributors y: 6 # changes client/securedrop_client/locale/ru/LC_MESSAGES/messages.mo x: 6 # contributors y: 8 # changes client/securedrop_client/locale/zh_Hant/LC_MESSAGES/messages.mo x: 6 # contributors y: 10 # changes export/securedrop_export/disk/cli.py x: 6 # contributors y: 17 # changes proxy/build.rs x: 4 # contributors y: 5 # changes client/alembic/versions/414627c04463_draftreply_add_column_for_sending_pid.py x: 5 # contributors y: 5 # changes client/securedrop_client/api_jobs/updatestar.py x: 5 # contributors y: 6 # changes client/securedrop_client/app.py x: 6 # contributors y: 6 # changes client/securedrop_client/locale/bn/LC_MESSAGES/messages.mo x: 4 # contributors y: 3 # changes client/securedrop_client/locale/el/LC_MESSAGES/messages.mo x: 6 # contributors y: 5 # changes
48.0
# changes
  min: 3.0
  average: 9.34
  25th percentile: 5.0
  median: 7.0
  75th percentile: 11.0
  max: 48.0
0 13.0
# contributors
min: 2.0 | average: 5.2 | 25th percentile: 4.0 | median: 5.0 | 75th percentile: 6.0 | max: 13.0

Number of Contributors vs. File Size: 167 points

client/securedrop_client/__init__.py x: 6 # contributors y: 1 lines of code client/securedrop_client/api_jobs/uploads.py x: 6 # contributors y: 118 lines of code client/securedrop_client/sdk/__init__.py x: 8 # contributors y: 643 lines of code log/log_server/log_saver.py x: 4 # contributors y: 39 lines of code log/log_server/redis_log.py x: 4 # contributors y: 29 lines of code client/MANIFEST.in x: 6 # contributors y: 19 lines of code client/pyproject.toml x: 6 # contributors y: 42 lines of code client/securedrop_client/api_jobs/downloads.py x: 6 # contributors y: 214 lines of code client/securedrop_client/api_jobs/sync.py x: 6 # contributors y: 84 lines of code client/securedrop_client/gui/actions.py x: 8 # contributors y: 261 lines of code client/securedrop_client/gui/main.py x: 6 # contributors y: 115 lines of code client/securedrop_client/gui/shortcuts.py x: 3 # contributors y: 6 lines of code client/securedrop_client/gui/source/delete/dialog.py x: 8 # contributors y: 104 lines of code client/securedrop_client/gui/widgets.py x: 7 # contributors y: 2486 lines of code client/securedrop_client/locale/ca/LC_MESSAGES/messages.mo x: 7 # contributors y: 41 lines of code client/securedrop_client/locale/de/LC_MESSAGES/messages.mo x: 7 # contributors y: 35 lines of code client/securedrop_client/locale/nl/LC_MESSAGES/messages.mo x: 4 # contributors y: 12 lines of code client/securedrop_client/logic.py x: 7 # contributors y: 664 lines of code client/securedrop_client/resources/css/sdclient.css x: 6 # contributors y: 346 lines of code client/securedrop_client/storage.py x: 6 # contributors y: 662 lines of code export/pyproject.toml x: 7 # contributors y: 20 lines of code pyproject.toml x: 13 # contributors y: 122 lines of code supply-chain/audits.toml x: 7 # contributors y: 367 lines of code client/scripts/verify-mo.py x: 5 # contributors y: 90 lines of code client/securedrop_client/config.py x: 7 # contributors y: 54 lines of code client/securedrop_client/db.py x: 5 # contributors y: 459 lines of code client/securedrop_client/export.py x: 6 # contributors y: 328 lines of code client/securedrop_client/export_status.py x: 6 # contributors y: 39 lines of code client/securedrop_client/gui/conversation/export/print_dialog.py x: 6 # contributors y: 140 lines of code client/securedrop_client/sdk/sdlocalobjects.py x: 6 # contributors y: 149 lines of code export/securedrop_export/print/service.py x: 6 # contributors y: 285 lines of code Cargo.toml x: 5 # contributors y: 9 lines of code client/alembic/env.py x: 5 # contributors y: 27 lines of code client/alembic/versions/d7c8af95bc8e_initial.py x: 5 # contributors y: 283 lines of code client/securedrop_client/api_jobs/base.py x: 6 # contributors y: 66 lines of code client/securedrop_client/conversation/transcript/items/factory.py x: 5 # contributors y: 11 lines of code client/securedrop_client/conversation/transcript/items/item.py x: 4 # contributors y: 2 lines of code client/securedrop_client/gui/base/dialogs.css x: 5 # contributors y: 70 lines of code client/securedrop_client/gui/base/misc.py x: 5 # contributors y: 104 lines of code client/securedrop_client/gui/conversation/delete/dialog.py x: 5 # contributors y: 55 lines of code client/securedrop_client/gui/conversation/export/export_wizard.py x: 5 # contributors y: 157 lines of code client/securedrop_client/gui/conversation/export/export_wizard_page.py x: 5 # contributors y: 346 lines of code client/securedrop_client/gui/conversation/export/whistleflow_dialog.py x: 2 # contributors y: 125 lines of code client/securedrop_client/queue.py x: 6 # contributors y: 222 lines of code client/securedrop_client/utils.py x: 5 # contributors y: 116 lines of code client/setup.py x: 5 # contributors y: 31 lines of code export/securedrop_export/archive.py x: 6 # contributors y: 56 lines of code export/securedrop_export/directory.py x: 5 # contributors y: 65 lines of code proxy/src/main.rs x: 6 # contributors y: 136 lines of code scripts/backport.py x: 4 # contributors y: 42 lines of code workstation-config/securedrop-mime-handling.py x: 4 # contributors y: 51 lines of code client/securedrop_client/app.py x: 6 # contributors y: 173 lines of code client/securedrop_client/gui/auth/dialog.py x: 5 # contributors y: 137 lines of code client/securedrop_client/gui/conversation/export/wizard.css x: 4 # contributors y: 77 lines of code client/securedrop_client/locale/pt_BR/LC_MESSAGES/messages.mo x: 5 # contributors y: 41 lines of code client/securedrop_client/resources/css/sender_icon.css x: 4 # contributors y: 66 lines of code
2486.0
lines of code
  min: 1.0
  average: 80.2
  25th percentile: 10.0
  median: 27.0
  75th percentile: 62.0
  max: 2486.0
0 13.0
# contributors
min: 2.0 | average: 5.2 | 25th percentile: 4.0 | median: 5.0 | 75th percentile: 6.0 | max: 13.0