openai / GABRIEL
File Churn

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

Overview
File Change Frequency Overall
  • There are 59 files with 24,268 lines of code.
    • 0 files changed more than 100 times (0 lines of code)
    • 1 file changed 51-100 times (1,401 lines of code)
    • 4 files changed 21-50 times (8,408 lines of code)
    • 22 files changed 6-20 times (11,403 lines of code)
    • 32 files changed 1-5 times (3,056 lines of code)
0% | 5% | 34% | 46% | 12%
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 59 files with 24,268 lines of code.
    • 0 files changed by more than 25 contributors (0 lines of code)
    • 0 files changed by 11-25 contributors (0 lines of code)
    • 0 files changed by 6-10 contributors (0 lines of code)
    • 38 files changed by 2-5 contributors (19,755 lines of code)
    • 21 files changed by 1 contributor (4,513 lines of code)
0% | 0% | 0% | 81% | 18%
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, jinja2, txt, md, yaml, in, gitignore, toml, ipynb
File Change Frequency per Extension
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
py0% | 6% | 36% | 49% | 8%
jinja20% | 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
src0% | 5% | 34% | 46% | 12%
ROOT0% | 0% | 0% | 0% | 100%
Most Frequently Changed Files (Top 50)

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsline
churn
first
contributor
latest
contributor
api.py
in src/gabriel
1401 7 2025-08-12 2026-05-04 52 3 +6213 / -1488 elliott.mokski@c-openai.com @openai.com
openai_utils.py
in src/gabriel/utils
5834 111 2025-08-08 2026-05-04 44 3 +15168 / -5162 elliott.mokski@c-openai.com @openai.com
classify.py
in src/gabriel/tasks
514 5 2025-08-12 2026-04-06 23 4 +1207 / -551 elliott.mokski@c-openai.com @openai.com
rate.py
in src/gabriel/tasks
323 2 2025-08-12 2026-04-06 21 4 +731 / -373 elliott.mokski@c-openai.com @openai.com
rank.py
in src/gabriel/tasks
1737 22 2025-08-12 2026-04-06 21 3 +3414 / -1028 elliott.mokski@c-openai.com @openai.com
codify.py
in src/gabriel/tasks
825 19 2025-08-13 2026-03-17 19 3 +1575 / -1019 elliott.mokski@c-openai.com @openai.com
extract.py
in src/gabriel/tasks
439 6 2025-08-19 2026-04-06 17 4 +1130 / -178 elliott.mokski@c-openai.com @openai.com
ideate.py
in src/gabriel/tasks
767 13 2025-10-02 2026-03-17 15 2 +1777 / -143 hemanth@openai.com @openai.com
_version.py
in src/gabriel
1 - 2026-02-02 2026-05-04 14 2 +25 / -25 hemanth@openai.com @openai.com
deidentify.py
in src/gabriel/tasks
239 4 2025-08-13 2026-03-17 14 3 +452 / -111 elliott.mokski@c-openai.com @openai.com
discover.py
in src/gabriel/tasks
450 9 2025-08-21 2026-04-06 14 3 +1377 / -346 hemanth@openai.com @openai.com
__init__.py
in src/gabriel/tasks
57 2 2025-08-14 2026-03-13 13 3 +69 / -10 elliott.mokski@c-openai.com @openai.com
compare.py
in src/gabriel/tasks
231 2 2025-08-20 2026-04-06 13 3 +566 / -81 elliott.mokski@c-openai.com @openai.com
bucket.py
in src/gabriel/tasks
384 8 2025-08-21 2026-03-17 13 3 +924 / -76 hemanth@openai.com @openai.com
paraphrase.py
in src/gabriel/tasks
419 2 2025-08-14 2026-03-17 13 3 +1376 / -443 elliott.mokski@c-openai.com @openai.com
__init__.py
in src/gabriel
56 1 2025-08-14 2026-03-13 12 3 +60 / -10 elliott.mokski@c-openai.com @openai.com
deduplicate.py
in src/gabriel/tasks
361 4 2025-08-20 2026-04-06 12 3 +881 / -141 elliott.mokski@c-openai.com @openai.com
__init__.py
in src/gabriel/utils
62 - 2025-08-12 2026-02-25 11 2 +76 / -26 elliott.mokski@c-openai.com hemanth@openai.com
merge.py
in src/gabriel/tasks
422 6 2025-08-20 2026-03-17 11 3 +1216 / -276 elliott.mokski@c-openai.com @openai.com
seed.py
in src/gabriel/tasks
429 8 2025-10-06 2026-05-04 11 2 +1109 / -187 hemanth@openai.com @openai.com
debias.py
in src/gabriel/tasks
1281 28 2025-09-18 2026-03-17 11 2 +3269 / -419 hemanth@openai.com @openai.com
plot_utils.py
in src/gabriel/utils
2386 35 2025-08-18 2026-02-09 11 1 +7098 / -1733 hemanth@openai.com hemanth@openai.com
file_utils.py
in src/gabriel/utils
529 18 2025-08-25 2026-02-26 10 2 +1642 / -366 elliott.mokski@c-openai.com hemanth@openai.com
passage_viewer.py
in src/gabriel/utils
1394 42 2025-08-13 2026-02-07 10 2 +9402 / -5000 elliott.mokski@c-openai.com hemanth@openai.com
filter.py
in src/gabriel/tasks
144 2 2025-08-26 2026-03-17 8 3 +369 / -35 elliott.mokski@c-openai.com @openai.com
whatever.py
in src/gabriel/tasks
311 6 2025-10-01 2026-04-06 8 2 +773 / -56 hemanth@openai.com @openai.com
parsing.py
in src/gabriel/utils
216 3 2025-08-13 2026-03-17 7 3 +197 / -63 elliott.mokski@c-openai.com @openai.com
jinja2
comparison_prompt.jinja2
in src/gabriel/prompts
52 - 2025-08-20 2025-09-03 5 2 +189 / -200 elliott.mokski@c-openai.com hemanth@openai.com
prompt_template.py
in src/gabriel/core
94 6 2025-08-22 2025-12-09 5 2 +252 / -24 hemanth@openai.com hemanth@openai.com
jinja2
bucket_prompt.jinja2
in src/gabriel/prompts
98 - 2025-08-20 2025-09-03 5 1 +151 / -38 hemanth@openai.com hemanth@openai.com
mapmaker.py
in src/gabriel/utils
435 13 2025-08-12 2026-05-04 5 3 +683 / -42 elliott.mokski@c-openai.com @openai.com
jinja2
deduplicate_prompt.jinja2
in src/gabriel/prompts
35 - 2025-08-20 2026-02-02 4 2 +128 / -23 elliott.mokski@c-openai.com hemanth@openai.com
jinja2
merge_prompt.jinja2
in src/gabriel/prompts
41 - 2025-08-20 2025-08-25 4 2 +71 / -24 hemanth@openai.com hemanth@openai.com
jinja2
classification_prompt.jinja2
in src/gabriel/prompts
44 - 2025-08-12 2025-08-25 4 2 +85 / -97 elliott.mokski@c-openai.com hemanth@openai.com
jinja2
extraction_prompt.jinja2
in src/gabriel/prompts
53 - 2025-08-19 2026-01-28 4 1 +93 / -48 hemanth@openai.com hemanth@openai.com
jinja2
paraphrase_prompt.jinja2
in src/gabriel/prompts
17 - 2025-08-14 2026-02-06 3 2 +78 / -37 elliott.mokski@c-openai.com hemanth@openai.com
media_utils.py
in src/gabriel/utils
68 3 2025-08-13 2026-02-06 3 2 +176 / -0 elliott.mokski@c-openai.com hemanth@openai.com
jinja2
ideation_prompt.jinja2
in src/gabriel/prompts
75 - 2025-10-02 2026-02-06 3 1 +173 / -73 hemanth@openai.com hemanth@openai.com
jinja2
codify_prompt.jinja2
in src/gabriel/prompts
87 - 2025-08-21 2025-08-25 3 1 +32 / -28 hemanth@openai.com hemanth@openai.com
jinja2
deidentification_prompt.jinja2
in src/gabriel/prompts
94 - 2025-08-22 2025-10-21 3 1 +142 / -30 hemanth@openai.com hemanth@openai.com
modality_utils.py
in src/gabriel/utils
130 4 2026-01-28 2026-02-05 3 1 +302 / -6 hemanth@openai.com hemanth@openai.com
poll.py
in src/gabriel/tasks
770 19 2026-03-13 2026-05-04 3 1 +848 / -6 @openai.com @openai.com
audio_utils.py
in src/gabriel/utils
16 1 2025-08-12 2026-02-06 2 2 +94 / -4 elliott.mokski@c-openai.com hemanth@openai.com
jinja2
seed.jinja2
in src/gabriel/prompts
36 - 2025-10-06 2025-12-10 2 1 +48 / -5 hemanth@openai.com hemanth@openai.com
jinja2
rankings_prompt.jinja2
in src/gabriel/prompts
40 - 2025-08-12 2025-08-22 2 2 +68 / -140 elliott.mokski@c-openai.com hemanth@openai.com
jinja2
ratings_prompt.jinja2
in src/gabriel/prompts
41 - 2025-08-12 2025-08-22 2 2 +47 / -111 elliott.mokski@c-openai.com hemanth@openai.com
logging.py
in src/gabriel/utils
46 4 2025-08-14 2025-12-09 2 2 +26 / -18 elliott.mokski@c-openai.com hemanth@openai.com
jinja2
snippets.jinja2
in src/gabriel/prompts
115 - 2025-08-22 2026-01-28 2 1 +236 / -2 hemanth@openai.com hemanth@openai.com
in
3 - 2025-11-25 2025-11-25 1 1 +6 / -0 hemanth@openai.com hemanth@openai.com
pdf_utils.py
in src/gabriel/utils
15 1 2026-01-28 2026-01-28 1 1 +40 / -0 hemanth@openai.com hemanth@openai.com
Files With Most Churn (Top 50)
Based on the number of lines added and deleted across all commits.

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsline
churn
first
contributor
latest
contributor
openai_utils.py
in src/gabriel/utils
5834 111 2025-08-08 2026-05-04 44 3 +15168 / -5162 elliott.mokski@c-openai.com @openai.com
passage_viewer.py
in src/gabriel/utils
1394 42 2025-08-13 2026-02-07 10 2 +9402 / -5000 elliott.mokski@c-openai.com hemanth@openai.com
plot_utils.py
in src/gabriel/utils
2386 35 2025-08-18 2026-02-09 11 1 +7098 / -1733 hemanth@openai.com hemanth@openai.com
api.py
in src/gabriel
1401 7 2025-08-12 2026-05-04 52 3 +6213 / -1488 elliott.mokski@c-openai.com @openai.com
rank.py
in src/gabriel/tasks
1737 22 2025-08-12 2026-04-06 21 3 +3414 / -1028 elliott.mokski@c-openai.com @openai.com
debias.py
in src/gabriel/tasks
1281 28 2025-09-18 2026-03-17 11 2 +3269 / -419 hemanth@openai.com @openai.com
codify.py
in src/gabriel/tasks
825 19 2025-08-13 2026-03-17 19 3 +1575 / -1019 elliott.mokski@c-openai.com @openai.com
file_utils.py
in src/gabriel/utils
529 18 2025-08-25 2026-02-26 10 2 +1642 / -366 elliott.mokski@c-openai.com hemanth@openai.com
ideate.py
in src/gabriel/tasks
767 13 2025-10-02 2026-03-17 15 2 +1777 / -143 hemanth@openai.com @openai.com
paraphrase.py
in src/gabriel/tasks
419 2 2025-08-14 2026-03-17 13 3 +1376 / -443 elliott.mokski@c-openai.com @openai.com
classify.py
in src/gabriel/tasks
514 5 2025-08-12 2026-04-06 23 4 +1207 / -551 elliott.mokski@c-openai.com @openai.com
discover.py
in src/gabriel/tasks
450 9 2025-08-21 2026-04-06 14 3 +1377 / -346 hemanth@openai.com @openai.com
merge.py
in src/gabriel/tasks
422 6 2025-08-20 2026-03-17 11 3 +1216 / -276 elliott.mokski@c-openai.com @openai.com
extract.py
in src/gabriel/tasks
439 6 2025-08-19 2026-04-06 17 4 +1130 / -178 elliott.mokski@c-openai.com @openai.com
seed.py
in src/gabriel/tasks
429 8 2025-10-06 2026-05-04 11 2 +1109 / -187 hemanth@openai.com @openai.com
rate.py
in src/gabriel/tasks
323 2 2025-08-12 2026-04-06 21 4 +731 / -373 elliott.mokski@c-openai.com @openai.com
deduplicate.py
in src/gabriel/tasks
361 4 2025-08-20 2026-04-06 12 3 +881 / -141 elliott.mokski@c-openai.com @openai.com
bucket.py
in src/gabriel/tasks
384 8 2025-08-21 2026-03-17 13 3 +924 / -76 hemanth@openai.com @openai.com
poll.py
in src/gabriel/tasks
770 19 2026-03-13 2026-05-04 3 1 +848 / -6 @openai.com @openai.com
whatever.py
in src/gabriel/tasks
311 6 2025-10-01 2026-04-06 8 2 +773 / -56 hemanth@openai.com @openai.com
mapmaker.py
in src/gabriel/utils
435 13 2025-08-12 2026-05-04 5 3 +683 / -42 elliott.mokski@c-openai.com @openai.com
compare.py
in src/gabriel/tasks
231 2 2025-08-20 2026-04-06 13 3 +566 / -81 elliott.mokski@c-openai.com @openai.com
deidentify.py
in src/gabriel/tasks
239 4 2025-08-13 2026-03-17 14 3 +452 / -111 elliott.mokski@c-openai.com @openai.com
filter.py
in src/gabriel/tasks
144 2 2025-08-26 2026-03-17 8 3 +369 / -35 elliott.mokski@c-openai.com @openai.com
jinja2
comparison_prompt.jinja2
in src/gabriel/prompts
52 - 2025-08-20 2025-09-03 5 2 +189 / -200 elliott.mokski@c-openai.com hemanth@openai.com
_run_utils.py
in src/gabriel/tasks
275 15 2026-04-06 2026-04-06 1 1 +318 / -0 @openai.com @openai.com
modality_utils.py
in src/gabriel/utils
130 4 2026-01-28 2026-02-05 3 1 +302 / -6 hemanth@openai.com hemanth@openai.com
prompt_template.py
in src/gabriel/core
94 6 2025-08-22 2025-12-09 5 2 +252 / -24 hemanth@openai.com hemanth@openai.com
parsing.py
in src/gabriel/utils
216 3 2025-08-13 2026-03-17 7 3 +197 / -63 elliott.mokski@c-openai.com @openai.com
jinja2
ideation_prompt.jinja2
in src/gabriel/prompts
75 - 2025-10-02 2026-02-06 3 1 +173 / -73 hemanth@openai.com hemanth@openai.com
jinja2
snippets.jinja2
in src/gabriel/prompts
115 - 2025-08-22 2026-01-28 2 1 +236 / -2 hemanth@openai.com hemanth@openai.com
jinja2
rankings_prompt.jinja2
in src/gabriel/prompts
40 - 2025-08-12 2025-08-22 2 2 +68 / -140 elliott.mokski@c-openai.com hemanth@openai.com
jinja2
bucket_prompt.jinja2
in src/gabriel/prompts
98 - 2025-08-20 2025-09-03 5 1 +151 / -38 hemanth@openai.com hemanth@openai.com
jinja2
classification_prompt.jinja2
in src/gabriel/prompts
44 - 2025-08-12 2025-08-25 4 2 +85 / -97 elliott.mokski@c-openai.com hemanth@openai.com
media_utils.py
in src/gabriel/utils
68 3 2025-08-13 2026-02-06 3 2 +176 / -0 elliott.mokski@c-openai.com hemanth@openai.com
jinja2
deidentification_prompt.jinja2
in src/gabriel/prompts
94 - 2025-08-22 2025-10-21 3 1 +142 / -30 hemanth@openai.com hemanth@openai.com
jinja2
ratings_prompt.jinja2
in src/gabriel/prompts
41 - 2025-08-12 2025-08-22 2 2 +47 / -111 elliott.mokski@c-openai.com hemanth@openai.com
jinja2
deduplicate_prompt.jinja2
in src/gabriel/prompts
35 - 2025-08-20 2026-02-02 4 2 +128 / -23 elliott.mokski@c-openai.com hemanth@openai.com
jinja2
extraction_prompt.jinja2
in src/gabriel/prompts
53 - 2025-08-19 2026-01-28 4 1 +93 / -48 hemanth@openai.com hemanth@openai.com
_attribute_utils.py
in src/gabriel/tasks
53 1 2025-12-10 2025-12-10 1 1 +138 / -0 hemanth@openai.com hemanth@openai.com
__main__.py
in src/gabriel/cli
38 2 2025-11-25 2025-11-25 1 1 +104 / -24 hemanth@openai.com hemanth@openai.com
jinja2
persona_prompt.jinja2
in src/gabriel/prompts
100 - 2026-03-13 2026-03-13 1 1 +118 / -0 @openai.com @openai.com
jinja2
paraphrase_prompt.jinja2
in src/gabriel/prompts
17 - 2025-08-14 2026-02-06 3 2 +78 / -37 elliott.mokski@c-openai.com hemanth@openai.com
__init__.py
in src/gabriel/utils
62 - 2025-08-12 2026-02-25 11 2 +76 / -26 elliott.mokski@c-openai.com hemanth@openai.com
audio_utils.py
in src/gabriel/utils
16 1 2025-08-12 2026-02-06 2 2 +94 / -4 elliott.mokski@c-openai.com hemanth@openai.com
jinja2
merge_prompt.jinja2
in src/gabriel/prompts
41 - 2025-08-20 2025-08-25 4 2 +71 / -24 hemanth@openai.com hemanth@openai.com
prompt_utils.py
in src/gabriel/utils
27 1 2025-08-22 2025-08-22 1 1 +84 / -0 hemanth@openai.com hemanth@openai.com
__init__.py
in src/gabriel/tasks
57 2 2025-08-14 2026-03-13 13 3 +69 / -10 elliott.mokski@c-openai.com @openai.com
__init__.py
in src/gabriel
56 1 2025-08-14 2026-03-13 12 3 +60 / -10 elliott.mokski@c-openai.com @openai.com
jinja2
poll_prompt.jinja2
in src/gabriel/prompts
54 - 2026-03-13 2026-03-13 1 1 +61 / -0 @openai.com @openai.com
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)
# contributorsline
churn
first
contributor
latest
contributor
classify.py
in src/gabriel/tasks
514 5 2025-08-12 2026-04-06 23 4 +1207 / -551 elliott.mokski@c-openai.com @openai.com
rate.py
in src/gabriel/tasks
323 2 2025-08-12 2026-04-06 21 4 +731 / -373 elliott.mokski@c-openai.com @openai.com
extract.py
in src/gabriel/tasks
439 6 2025-08-19 2026-04-06 17 4 +1130 / -178 elliott.mokski@c-openai.com @openai.com
api.py
in src/gabriel
1401 7 2025-08-12 2026-05-04 52 3 +6213 / -1488 elliott.mokski@c-openai.com @openai.com
openai_utils.py
in src/gabriel/utils
5834 111 2025-08-08 2026-05-04 44 3 +15168 / -5162 elliott.mokski@c-openai.com @openai.com
rank.py
in src/gabriel/tasks
1737 22 2025-08-12 2026-04-06 21 3 +3414 / -1028 elliott.mokski@c-openai.com @openai.com
codify.py
in src/gabriel/tasks
825 19 2025-08-13 2026-03-17 19 3 +1575 / -1019 elliott.mokski@c-openai.com @openai.com
discover.py
in src/gabriel/tasks
450 9 2025-08-21 2026-04-06 14 3 +1377 / -346 hemanth@openai.com @openai.com
deidentify.py
in src/gabriel/tasks
239 4 2025-08-13 2026-03-17 14 3 +452 / -111 elliott.mokski@c-openai.com @openai.com
compare.py
in src/gabriel/tasks
231 2 2025-08-20 2026-04-06 13 3 +566 / -81 elliott.mokski@c-openai.com @openai.com
paraphrase.py
in src/gabriel/tasks
419 2 2025-08-14 2026-03-17 13 3 +1376 / -443 elliott.mokski@c-openai.com @openai.com
__init__.py
in src/gabriel/tasks
57 2 2025-08-14 2026-03-13 13 3 +69 / -10 elliott.mokski@c-openai.com @openai.com
bucket.py
in src/gabriel/tasks
384 8 2025-08-21 2026-03-17 13 3 +924 / -76 hemanth@openai.com @openai.com
deduplicate.py
in src/gabriel/tasks
361 4 2025-08-20 2026-04-06 12 3 +881 / -141 elliott.mokski@c-openai.com @openai.com
__init__.py
in src/gabriel
56 1 2025-08-14 2026-03-13 12 3 +60 / -10 elliott.mokski@c-openai.com @openai.com
merge.py
in src/gabriel/tasks
422 6 2025-08-20 2026-03-17 11 3 +1216 / -276 elliott.mokski@c-openai.com @openai.com
filter.py
in src/gabriel/tasks
144 2 2025-08-26 2026-03-17 8 3 +369 / -35 elliott.mokski@c-openai.com @openai.com
parsing.py
in src/gabriel/utils
216 3 2025-08-13 2026-03-17 7 3 +197 / -63 elliott.mokski@c-openai.com @openai.com
mapmaker.py
in src/gabriel/utils
435 13 2025-08-12 2026-05-04 5 3 +683 / -42 elliott.mokski@c-openai.com @openai.com
ideate.py
in src/gabriel/tasks
767 13 2025-10-02 2026-03-17 15 2 +1777 / -143 hemanth@openai.com @openai.com
_version.py
in src/gabriel
1 - 2026-02-02 2026-05-04 14 2 +25 / -25 hemanth@openai.com @openai.com
seed.py
in src/gabriel/tasks
429 8 2025-10-06 2026-05-04 11 2 +1109 / -187 hemanth@openai.com @openai.com
debias.py
in src/gabriel/tasks
1281 28 2025-09-18 2026-03-17 11 2 +3269 / -419 hemanth@openai.com @openai.com
__init__.py
in src/gabriel/utils
62 - 2025-08-12 2026-02-25 11 2 +76 / -26 elliott.mokski@c-openai.com hemanth@openai.com
file_utils.py
in src/gabriel/utils
529 18 2025-08-25 2026-02-26 10 2 +1642 / -366 elliott.mokski@c-openai.com hemanth@openai.com
passage_viewer.py
in src/gabriel/utils
1394 42 2025-08-13 2026-02-07 10 2 +9402 / -5000 elliott.mokski@c-openai.com hemanth@openai.com
whatever.py
in src/gabriel/tasks
311 6 2025-10-01 2026-04-06 8 2 +773 / -56 hemanth@openai.com @openai.com
prompt_template.py
in src/gabriel/core
94 6 2025-08-22 2025-12-09 5 2 +252 / -24 hemanth@openai.com hemanth@openai.com
jinja2
comparison_prompt.jinja2
in src/gabriel/prompts
52 - 2025-08-20 2025-09-03 5 2 +189 / -200 elliott.mokski@c-openai.com hemanth@openai.com
jinja2
merge_prompt.jinja2
in src/gabriel/prompts
41 - 2025-08-20 2025-08-25 4 2 +71 / -24 hemanth@openai.com hemanth@openai.com
jinja2
deduplicate_prompt.jinja2
in src/gabriel/prompts
35 - 2025-08-20 2026-02-02 4 2 +128 / -23 elliott.mokski@c-openai.com hemanth@openai.com
jinja2
classification_prompt.jinja2
in src/gabriel/prompts
44 - 2025-08-12 2025-08-25 4 2 +85 / -97 elliott.mokski@c-openai.com hemanth@openai.com
jinja2
paraphrase_prompt.jinja2
in src/gabriel/prompts
17 - 2025-08-14 2026-02-06 3 2 +78 / -37 elliott.mokski@c-openai.com hemanth@openai.com
media_utils.py
in src/gabriel/utils
68 3 2025-08-13 2026-02-06 3 2 +176 / -0 elliott.mokski@c-openai.com hemanth@openai.com
jinja2
ratings_prompt.jinja2
in src/gabriel/prompts
41 - 2025-08-12 2025-08-22 2 2 +47 / -111 elliott.mokski@c-openai.com hemanth@openai.com
jinja2
rankings_prompt.jinja2
in src/gabriel/prompts
40 - 2025-08-12 2025-08-22 2 2 +68 / -140 elliott.mokski@c-openai.com hemanth@openai.com
logging.py
in src/gabriel/utils
46 4 2025-08-14 2025-12-09 2 2 +26 / -18 elliott.mokski@c-openai.com hemanth@openai.com
audio_utils.py
in src/gabriel/utils
16 1 2025-08-12 2026-02-06 2 2 +94 / -4 elliott.mokski@c-openai.com hemanth@openai.com
plot_utils.py
in src/gabriel/utils
2386 35 2025-08-18 2026-02-09 11 1 +7098 / -1733 hemanth@openai.com hemanth@openai.com
jinja2
bucket_prompt.jinja2
in src/gabriel/prompts
98 - 2025-08-20 2025-09-03 5 1 +151 / -38 hemanth@openai.com hemanth@openai.com
jinja2
extraction_prompt.jinja2
in src/gabriel/prompts
53 - 2025-08-19 2026-01-28 4 1 +93 / -48 hemanth@openai.com hemanth@openai.com
poll.py
in src/gabriel/tasks
770 19 2026-03-13 2026-05-04 3 1 +848 / -6 @openai.com @openai.com
jinja2
deidentification_prompt.jinja2
in src/gabriel/prompts
94 - 2025-08-22 2025-10-21 3 1 +142 / -30 hemanth@openai.com hemanth@openai.com
jinja2
ideation_prompt.jinja2
in src/gabriel/prompts
75 - 2025-10-02 2026-02-06 3 1 +173 / -73 hemanth@openai.com hemanth@openai.com
jinja2
codify_prompt.jinja2
in src/gabriel/prompts
87 - 2025-08-21 2025-08-25 3 1 +32 / -28 hemanth@openai.com hemanth@openai.com
modality_utils.py
in src/gabriel/utils
130 4 2026-01-28 2026-02-05 3 1 +302 / -6 hemanth@openai.com hemanth@openai.com
jinja2
seed.jinja2
in src/gabriel/prompts
36 - 2025-10-06 2025-12-10 2 1 +48 / -5 hemanth@openai.com hemanth@openai.com
jinja2
snippets.jinja2
in src/gabriel/prompts
115 - 2025-08-22 2026-01-28 2 1 +236 / -2 hemanth@openai.com hemanth@openai.com
in
3 - 2025-11-25 2025-11-25 1 1 +6 / -0 hemanth@openai.com hemanth@openai.com
_run_utils.py
in src/gabriel/tasks
275 15 2026-04-06 2026-04-06 1 1 +318 / -0 @openai.com @openai.com
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)
# contributorsline
churn
first
contributor
latest
contributor
jinja2
regional_analysis_prompt.jinja2
in src/gabriel/prompts
34 -
jinja.py
in src/gabriel/utils
22 3
pipeline.py
in src/gabriel/core
11 2
image_utils.py
in src/gabriel/utils
8 1
__init__.py
in src/gabriel/core
4 -
__init__.py
in src/gabriel/prompts
1 -
plot_utils.py
in src/gabriel/utils
2386 35 2025-08-18 2026-02-09 11 1 +7098 / -1733 hemanth@openai.com hemanth@openai.com
poll.py
in src/gabriel/tasks
770 19 2026-03-13 2026-05-04 3 1 +848 / -6 @openai.com @openai.com
_run_utils.py
in src/gabriel/tasks
275 15 2026-04-06 2026-04-06 1 1 +318 / -0 @openai.com @openai.com
modality_utils.py
in src/gabriel/utils
130 4 2026-01-28 2026-02-05 3 1 +302 / -6 hemanth@openai.com hemanth@openai.com
jinja2
snippets.jinja2
in src/gabriel/prompts
115 - 2025-08-22 2026-01-28 2 1 +236 / -2 hemanth@openai.com hemanth@openai.com
jinja2
persona_prompt.jinja2
in src/gabriel/prompts
100 - 2026-03-13 2026-03-13 1 1 +118 / -0 @openai.com @openai.com
jinja2
bucket_prompt.jinja2
in src/gabriel/prompts
98 - 2025-08-20 2025-09-03 5 1 +151 / -38 hemanth@openai.com hemanth@openai.com
jinja2
deidentification_prompt.jinja2
in src/gabriel/prompts
94 - 2025-08-22 2025-10-21 3 1 +142 / -30 hemanth@openai.com hemanth@openai.com
jinja2
codify_prompt.jinja2
in src/gabriel/prompts
87 - 2025-08-21 2025-08-25 3 1 +32 / -28 hemanth@openai.com hemanth@openai.com
jinja2
ideation_prompt.jinja2
in src/gabriel/prompts
75 - 2025-10-02 2026-02-06 3 1 +173 / -73 hemanth@openai.com hemanth@openai.com
jinja2
poll_prompt.jinja2
in src/gabriel/prompts
54 - 2026-03-13 2026-03-13 1 1 +61 / -0 @openai.com @openai.com
word_matching.py
in src/gabriel/utils
54 4 2025-12-09 2025-12-09 1 1 +32 / -2 hemanth@openai.com hemanth@openai.com
_attribute_utils.py
in src/gabriel/tasks
53 1 2025-12-10 2025-12-10 1 1 +138 / -0 hemanth@openai.com hemanth@openai.com
jinja2
extraction_prompt.jinja2
in src/gabriel/prompts
53 - 2025-08-19 2026-01-28 4 1 +93 / -48 hemanth@openai.com hemanth@openai.com
__main__.py
in src/gabriel/cli
38 2 2025-11-25 2025-11-25 1 1 +104 / -24 hemanth@openai.com hemanth@openai.com
jinja2
seed.jinja2
in src/gabriel/prompts
36 - 2025-10-06 2025-12-10 2 1 +48 / -5 hemanth@openai.com hemanth@openai.com
jinja2
filter_prompt.jinja2
in src/gabriel/prompts
28 - 2025-08-25 2025-08-25 1 1 +34 / -3 hemanth@openai.com hemanth@openai.com
prompt_utils.py
in src/gabriel/utils
27 1 2025-08-22 2025-08-22 1 1 +84 / -0 hemanth@openai.com hemanth@openai.com
llm_client.py
in src/gabriel/core
22 1 2025-08-26 2025-08-26 1 1 +10 / -2 elliott.mokski@c-openai.com elliott.mokski@c-openai.com
pdf_utils.py
in src/gabriel/utils
15 1 2026-01-28 2026-01-28 1 1 +40 / -0 hemanth@openai.com hemanth@openai.com
in
3 - 2025-11-25 2025-11-25 1 1 +6 / -0 hemanth@openai.com hemanth@openai.com
passage_viewer.py
in src/gabriel/utils
1394 42 2025-08-13 2026-02-07 10 2 +9402 / -5000 elliott.mokski@c-openai.com hemanth@openai.com
debias.py
in src/gabriel/tasks
1281 28 2025-09-18 2026-03-17 11 2 +3269 / -419 hemanth@openai.com @openai.com
ideate.py
in src/gabriel/tasks
767 13 2025-10-02 2026-03-17 15 2 +1777 / -143 hemanth@openai.com @openai.com
file_utils.py
in src/gabriel/utils
529 18 2025-08-25 2026-02-26 10 2 +1642 / -366 elliott.mokski@c-openai.com hemanth@openai.com
seed.py
in src/gabriel/tasks
429 8 2025-10-06 2026-05-04 11 2 +1109 / -187 hemanth@openai.com @openai.com
whatever.py
in src/gabriel/tasks
311 6 2025-10-01 2026-04-06 8 2 +773 / -56 hemanth@openai.com @openai.com
prompt_template.py
in src/gabriel/core
94 6 2025-08-22 2025-12-09 5 2 +252 / -24 hemanth@openai.com hemanth@openai.com
media_utils.py
in src/gabriel/utils
68 3 2025-08-13 2026-02-06 3 2 +176 / -0 elliott.mokski@c-openai.com hemanth@openai.com
__init__.py
in src/gabriel/utils
62 - 2025-08-12 2026-02-25 11 2 +76 / -26 elliott.mokski@c-openai.com hemanth@openai.com
jinja2
comparison_prompt.jinja2
in src/gabriel/prompts
52 - 2025-08-20 2025-09-03 5 2 +189 / -200 elliott.mokski@c-openai.com hemanth@openai.com
logging.py
in src/gabriel/utils
46 4 2025-08-14 2025-12-09 2 2 +26 / -18 elliott.mokski@c-openai.com hemanth@openai.com
jinja2
classification_prompt.jinja2
in src/gabriel/prompts
44 - 2025-08-12 2025-08-25 4 2 +85 / -97 elliott.mokski@c-openai.com hemanth@openai.com
jinja2
ratings_prompt.jinja2
in src/gabriel/prompts
41 - 2025-08-12 2025-08-22 2 2 +47 / -111 elliott.mokski@c-openai.com hemanth@openai.com
jinja2
merge_prompt.jinja2
in src/gabriel/prompts
41 - 2025-08-20 2025-08-25 4 2 +71 / -24 hemanth@openai.com hemanth@openai.com
jinja2
rankings_prompt.jinja2
in src/gabriel/prompts
40 - 2025-08-12 2025-08-22 2 2 +68 / -140 elliott.mokski@c-openai.com hemanth@openai.com
jinja2
deduplicate_prompt.jinja2
in src/gabriel/prompts
35 - 2025-08-20 2026-02-02 4 2 +128 / -23 elliott.mokski@c-openai.com hemanth@openai.com
jinja2
paraphrase_prompt.jinja2
in src/gabriel/prompts
17 - 2025-08-14 2026-02-06 3 2 +78 / -37 elliott.mokski@c-openai.com hemanth@openai.com
audio_utils.py
in src/gabriel/utils
16 1 2025-08-12 2026-02-06 2 2 +94 / -4 elliott.mokski@c-openai.com hemanth@openai.com
_version.py
in src/gabriel
1 - 2026-02-02 2026-05-04 14 2 +25 / -25 hemanth@openai.com @openai.com
openai_utils.py
in src/gabriel/utils
5834 111 2025-08-08 2026-05-04 44 3 +15168 / -5162 elliott.mokski@c-openai.com @openai.com
rank.py
in src/gabriel/tasks
1737 22 2025-08-12 2026-04-06 21 3 +3414 / -1028 elliott.mokski@c-openai.com @openai.com
api.py
in src/gabriel
1401 7 2025-08-12 2026-05-04 52 3 +6213 / -1488 elliott.mokski@c-openai.com @openai.com
codify.py
in src/gabriel/tasks
825 19 2025-08-13 2026-03-17 19 3 +1575 / -1019 elliott.mokski@c-openai.com @openai.com
Correlations

File Size vs. Number of Changes: 59 points

src/gabriel/_version.py x: 1 lines of code y: 14 # changes src/gabriel/api.py x: 1401 lines of code y: 52 # changes src/gabriel/tasks/poll.py x: 770 lines of code y: 3 # changes src/gabriel/tasks/seed.py x: 429 lines of code y: 11 # changes src/gabriel/utils/mapmaker.py x: 435 lines of code y: 5 # changes src/gabriel/utils/openai_utils.py x: 5834 lines of code y: 44 # changes src/gabriel/tasks/_run_utils.py x: 275 lines of code y: 1 # changes src/gabriel/tasks/classify.py x: 514 lines of code y: 23 # changes src/gabriel/tasks/compare.py x: 231 lines of code y: 13 # changes src/gabriel/tasks/deduplicate.py x: 361 lines of code y: 12 # changes src/gabriel/tasks/discover.py x: 450 lines of code y: 14 # changes src/gabriel/tasks/extract.py x: 439 lines of code y: 17 # changes src/gabriel/tasks/rank.py x: 1737 lines of code y: 21 # changes src/gabriel/tasks/rate.py x: 323 lines of code y: 21 # changes src/gabriel/tasks/whatever.py x: 311 lines of code y: 8 # changes src/gabriel/tasks/bucket.py x: 384 lines of code y: 13 # changes src/gabriel/tasks/codify.py x: 825 lines of code y: 19 # changes src/gabriel/tasks/debias.py x: 1281 lines of code y: 11 # changes src/gabriel/tasks/deidentify.py x: 239 lines of code y: 14 # changes src/gabriel/tasks/filter.py x: 144 lines of code y: 8 # changes src/gabriel/tasks/ideate.py x: 767 lines of code y: 15 # changes src/gabriel/tasks/paraphrase.py x: 419 lines of code y: 13 # changes src/gabriel/utils/parsing.py x: 216 lines of code y: 7 # changes src/gabriel/__init__.py x: 56 lines of code y: 12 # changes src/gabriel/prompts/persona_prompt.jinja2 x: 100 lines of code y: 1 # changes src/gabriel/prompts/poll_prompt.jinja2 x: 54 lines of code y: 1 # changes src/gabriel/tasks/__init__.py x: 57 lines of code y: 13 # changes src/gabriel/utils/file_utils.py x: 529 lines of code y: 10 # changes src/gabriel/utils/__init__.py x: 62 lines of code y: 11 # changes src/gabriel/utils/plot_utils.py x: 2386 lines of code y: 11 # changes src/gabriel/utils/passage_viewer.py x: 1394 lines of code y: 10 # changes src/gabriel/prompts/paraphrase_prompt.jinja2 x: 17 lines of code y: 3 # changes src/gabriel/utils/audio_utils.py x: 16 lines of code y: 2 # changes src/gabriel/utils/media_utils.py x: 68 lines of code y: 3 # changes src/gabriel/prompts/ideation_prompt.jinja2 x: 75 lines of code y: 3 # changes src/gabriel/utils/modality_utils.py x: 130 lines of code y: 3 # changes src/gabriel/prompts/deduplicate_prompt.jinja2 x: 35 lines of code y: 4 # changes src/gabriel/prompts/extraction_prompt.jinja2 x: 53 lines of code y: 4 # changes src/gabriel/prompts/snippets.jinja2 x: 115 lines of code y: 2 # changes src/gabriel/utils/pdf_utils.py x: 15 lines of code y: 1 # changes src/gabriel/prompts/seed.jinja2 x: 36 lines of code y: 2 # changes src/gabriel/core/prompt_template.py x: 94 lines of code y: 5 # changes src/gabriel/utils/logging.py x: 46 lines of code y: 2 # changes MANIFEST.in x: 3 lines of code y: 1 # changes src/gabriel/cli/__main__.py x: 38 lines of code y: 1 # changes src/gabriel/prompts/deidentification_prompt.jinja2 x: 94 lines of code y: 3 # changes src/gabriel/prompts/comparison_prompt.jinja2 x: 52 lines of code y: 5 # changes src/gabriel/prompts/bucket_prompt.jinja2 x: 98 lines of code y: 5 # changes src/gabriel/core/llm_client.py x: 22 lines of code y: 1 # changes src/gabriel/prompts/classification_prompt.jinja2 x: 44 lines of code y: 4 # changes
52.0
# changes
  min: 1.0
  average: 8.61
  25th percentile: 2.0
  median: 5.0
  75th percentile: 13.0
  max: 52.0
0 5834.0
lines of code
min: 1.0 | average: 411.32 | 25th percentile: 44.0 | median: 98.0 | 75th percentile: 429.0 | max: 5834.0

Number of Contributors vs. Number of Changes: 59 points

src/gabriel/_version.py x: 2 # contributors y: 14 # changes src/gabriel/api.py x: 3 # contributors y: 52 # changes src/gabriel/tasks/poll.py x: 1 # contributors y: 3 # changes src/gabriel/tasks/seed.py x: 2 # contributors y: 11 # changes src/gabriel/utils/mapmaker.py x: 3 # contributors y: 5 # changes src/gabriel/utils/openai_utils.py x: 3 # contributors y: 44 # changes src/gabriel/tasks/_run_utils.py x: 1 # contributors y: 1 # changes src/gabriel/tasks/classify.py x: 4 # contributors y: 23 # changes src/gabriel/tasks/compare.py x: 3 # contributors y: 13 # changes src/gabriel/tasks/deduplicate.py x: 3 # contributors y: 12 # changes src/gabriel/tasks/discover.py x: 3 # contributors y: 14 # changes src/gabriel/tasks/extract.py x: 4 # contributors y: 17 # changes src/gabriel/tasks/rank.py x: 3 # contributors y: 21 # changes src/gabriel/tasks/rate.py x: 4 # contributors y: 21 # changes src/gabriel/tasks/whatever.py x: 2 # contributors y: 8 # changes src/gabriel/tasks/codify.py x: 3 # contributors y: 19 # changes src/gabriel/tasks/filter.py x: 3 # contributors y: 8 # changes src/gabriel/tasks/ideate.py x: 2 # contributors y: 15 # changes src/gabriel/tasks/merge.py x: 3 # contributors y: 11 # changes src/gabriel/utils/parsing.py x: 3 # contributors y: 7 # changes src/gabriel/utils/file_utils.py x: 2 # contributors y: 10 # changes src/gabriel/utils/plot_utils.py x: 1 # contributors y: 11 # changes src/gabriel/prompts/paraphrase_prompt.jinja2 x: 2 # contributors y: 3 # changes src/gabriel/utils/audio_utils.py x: 2 # contributors y: 2 # changes src/gabriel/prompts/deduplicate_prompt.jinja2 x: 2 # contributors y: 4 # changes src/gabriel/prompts/extraction_prompt.jinja2 x: 1 # contributors y: 4 # changes src/gabriel/prompts/snippets.jinja2 x: 1 # contributors y: 2 # changes src/gabriel/core/prompt_template.py x: 2 # contributors y: 5 # changes src/gabriel/prompts/bucket_prompt.jinja2 x: 1 # contributors y: 5 # changes
52.0
# changes
  min: 1.0
  average: 8.61
  25th percentile: 2.0
  median: 5.0
  75th percentile: 13.0
  max: 52.0
0 4.0
# contributors
min: 1.0 | average: 2.02 | 25th percentile: 1.0 | median: 2.0 | 75th percentile: 3.0 | max: 4.0

Number of Contributors vs. File Size: 59 points

src/gabriel/_version.py x: 2 # contributors y: 1 lines of code src/gabriel/api.py x: 3 # contributors y: 1401 lines of code src/gabriel/tasks/poll.py x: 1 # contributors y: 770 lines of code src/gabriel/tasks/seed.py x: 2 # contributors y: 429 lines of code src/gabriel/utils/mapmaker.py x: 3 # contributors y: 435 lines of code src/gabriel/utils/openai_utils.py x: 3 # contributors y: 5834 lines of code src/gabriel/tasks/_run_utils.py x: 1 # contributors y: 275 lines of code src/gabriel/tasks/classify.py x: 4 # contributors y: 514 lines of code src/gabriel/tasks/compare.py x: 3 # contributors y: 231 lines of code src/gabriel/tasks/deduplicate.py x: 3 # contributors y: 361 lines of code src/gabriel/tasks/discover.py x: 3 # contributors y: 450 lines of code src/gabriel/tasks/extract.py x: 4 # contributors y: 439 lines of code src/gabriel/tasks/rank.py x: 3 # contributors y: 1737 lines of code src/gabriel/tasks/rate.py x: 4 # contributors y: 323 lines of code src/gabriel/tasks/whatever.py x: 2 # contributors y: 311 lines of code src/gabriel/tasks/bucket.py x: 3 # contributors y: 384 lines of code src/gabriel/tasks/codify.py x: 3 # contributors y: 825 lines of code src/gabriel/tasks/debias.py x: 2 # contributors y: 1281 lines of code src/gabriel/tasks/filter.py x: 3 # contributors y: 144 lines of code src/gabriel/tasks/ideate.py x: 2 # contributors y: 767 lines of code src/gabriel/utils/parsing.py x: 3 # contributors y: 216 lines of code src/gabriel/__init__.py x: 3 # contributors y: 56 lines of code src/gabriel/prompts/persona_prompt.jinja2 x: 1 # contributors y: 100 lines of code src/gabriel/prompts/poll_prompt.jinja2 x: 1 # contributors y: 54 lines of code src/gabriel/utils/file_utils.py x: 2 # contributors y: 529 lines of code src/gabriel/utils/__init__.py x: 2 # contributors y: 62 lines of code src/gabriel/utils/plot_utils.py x: 1 # contributors y: 2386 lines of code src/gabriel/utils/passage_viewer.py x: 2 # contributors y: 1394 lines of code src/gabriel/prompts/ideation_prompt.jinja2 x: 1 # contributors y: 75 lines of code src/gabriel/utils/modality_utils.py x: 1 # contributors y: 130 lines of code src/gabriel/prompts/deduplicate_prompt.jinja2 x: 2 # contributors y: 35 lines of code src/gabriel/utils/pdf_utils.py x: 1 # contributors y: 15 lines of code src/gabriel/prompts/seed.jinja2 x: 1 # contributors y: 36 lines of code src/gabriel/core/prompt_template.py x: 2 # contributors y: 94 lines of code
5834.0
lines of code
  min: 1.0
  average: 411.32
  25th percentile: 44.0
  median: 98.0
  75th percentile: 429.0
  max: 5834.0
0 4.0
# contributors
min: 1.0 | average: 2.02 | 25th percentile: 1.0 | median: 2.0 | 75th percentile: 3.0 | max: 4.0

Number of Changes vs. Line Churn: 122 points

gabriel_tutorial_notebook.ipynb x: 9 # changes y: 265058 line churn pyproject.toml x: 20 # changes y: 286 line churn src/gabriel/_version.py x: 14 # changes y: 50 line churn src/gabriel/api.py x: 52 # changes y: 7701 line churn src/gabriel/tasks/poll.py x: 3 # changes y: 854 line churn src/gabriel/tasks/seed.py x: 11 # changes y: 1296 line churn src/gabriel/utils/mapmaker.py x: 5 # changes y: 725 line churn src/gabriel/utils/openai_utils.py x: 44 # changes y: 20330 line churn src/gabriel/tasks/_run_utils.py x: 1 # changes y: 318 line churn src/gabriel/tasks/classify.py x: 23 # changes y: 1758 line churn src/gabriel/tasks/compare.py x: 13 # changes y: 647 line churn src/gabriel/tasks/deduplicate.py x: 12 # changes y: 1022 line churn src/gabriel/tasks/discover.py x: 14 # changes y: 1723 line churn src/gabriel/tasks/extract.py x: 17 # changes y: 1308 line churn src/gabriel/tasks/rank.py x: 21 # changes y: 4442 line churn src/gabriel/tasks/rate.py x: 21 # changes y: 1104 line churn src/gabriel/tasks/whatever.py x: 8 # changes y: 829 line churn tests/test_basic.py x: 36 # changes y: 4606 line churn README.md x: 18 # changes y: 1696 line churn src/gabriel/tasks/codify.py x: 19 # changes y: 2594 line churn src/gabriel/tasks/debias.py x: 11 # changes y: 3688 line churn src/gabriel/tasks/ideate.py x: 15 # changes y: 1920 line churn src/gabriel/tasks/paraphrase.py x: 13 # changes y: 1819 line churn src/gabriel/utils/parsing.py x: 7 # changes y: 260 line churn tests/test_debias.py x: 6 # changes y: 1404 line churn tests/test_input_image_url.py x: 4 # changes y: 156 line churn src/gabriel/utils/file_utils.py x: 10 # changes y: 2008 line churn tests/test_api_cached_loading.py x: 2 # changes y: 128 line churn src/gabriel/utils/__init__.py x: 11 # changes y: 102 line churn src/gabriel/utils/plot_utils.py x: 11 # changes y: 8831 line churn src/gabriel/utils/passage_viewer.py x: 10 # changes y: 14402 line churn tutorial_notebook.ipynb x: 4 # changes y: 118186 line churn notebooks/map_experiments.ipynb x: 2 # changes y: 1398 line churn map_experiments.ipynb x: 1 # changes y: 1398 line churn Gabriel_tutorial_for_LLMs_in_social_science_research.ipynb x: 2 # changes y: 24894 line churn openai_utils_aug_12_save.py x: 4 # changes y: 3712 line churn
265058.0
line churn
  min: 1.0
  average: 4304.82
  25th percentile: 83.75
  median: 217.0
  75th percentile: 890.5
  max: 265058.0
0 52.0
# changes
min: 1.0 | average: 5.94 | 25th percentile: 1.0 | median: 3.0 | 75th percentile: 7.25 | max: 52.0

Number of Contributors vs. Line Churn: 59 points

src/gabriel/_version.py x: 2 # contributors y: 50 line churn src/gabriel/api.py x: 3 # contributors y: 7701 line churn src/gabriel/tasks/poll.py x: 1 # contributors y: 854 line churn src/gabriel/tasks/seed.py x: 2 # contributors y: 1296 line churn src/gabriel/utils/mapmaker.py x: 3 # contributors y: 725 line churn src/gabriel/utils/openai_utils.py x: 3 # contributors y: 20330 line churn src/gabriel/tasks/_run_utils.py x: 1 # contributors y: 318 line churn src/gabriel/tasks/classify.py x: 4 # contributors y: 1758 line churn src/gabriel/tasks/compare.py x: 3 # contributors y: 647 line churn src/gabriel/tasks/deduplicate.py x: 3 # contributors y: 1022 line churn src/gabriel/tasks/discover.py x: 3 # contributors y: 1723 line churn src/gabriel/tasks/extract.py x: 4 # contributors y: 1308 line churn src/gabriel/tasks/rank.py x: 3 # contributors y: 4442 line churn src/gabriel/tasks/rate.py x: 4 # contributors y: 1104 line churn src/gabriel/tasks/whatever.py x: 2 # contributors y: 829 line churn src/gabriel/tasks/codify.py x: 3 # contributors y: 2594 line churn src/gabriel/tasks/debias.py x: 2 # contributors y: 3688 line churn src/gabriel/tasks/deidentify.py x: 3 # contributors y: 563 line churn src/gabriel/tasks/filter.py x: 3 # contributors y: 404 line churn src/gabriel/tasks/ideate.py x: 2 # contributors y: 1920 line churn src/gabriel/tasks/merge.py x: 3 # contributors y: 1492 line churn src/gabriel/tasks/paraphrase.py x: 3 # contributors y: 1819 line churn src/gabriel/utils/parsing.py x: 3 # contributors y: 260 line churn src/gabriel/__init__.py x: 3 # contributors y: 70 line churn src/gabriel/prompts/persona_prompt.jinja2 x: 1 # contributors y: 118 line churn src/gabriel/prompts/poll_prompt.jinja2 x: 1 # contributors y: 61 line churn src/gabriel/utils/file_utils.py x: 2 # contributors y: 2008 line churn src/gabriel/utils/__init__.py x: 2 # contributors y: 102 line churn src/gabriel/utils/plot_utils.py x: 1 # contributors y: 8831 line churn src/gabriel/utils/passage_viewer.py x: 2 # contributors y: 14402 line churn src/gabriel/utils/media_utils.py x: 2 # contributors y: 176 line churn src/gabriel/prompts/snippets.jinja2 x: 1 # contributors y: 238 line churn src/gabriel/core/prompt_template.py x: 2 # contributors y: 276 line churn src/gabriel/prompts/comparison_prompt.jinja2 x: 2 # contributors y: 389 line churn
20330.0
line churn
  min: 6.0
  average: 1479.59
  25th percentile: 98.0
  median: 246.0
  75th percentile: 1296.0
  max: 20330.0
0 4.0
# contributors
min: 1.0 | average: 2.02 | 25th percentile: 1.0 | median: 2.0 | 75th percentile: 3.0 | max: 4.0

File Size vs. Line Churn: 59 points

src/gabriel/_version.py x: 1 lines of code y: 50 line churn src/gabriel/api.py x: 1401 lines of code y: 7701 line churn src/gabriel/tasks/poll.py x: 770 lines of code y: 854 line churn src/gabriel/tasks/seed.py x: 429 lines of code y: 1296 line churn src/gabriel/utils/mapmaker.py x: 435 lines of code y: 725 line churn src/gabriel/utils/openai_utils.py x: 5834 lines of code y: 20330 line churn src/gabriel/tasks/_run_utils.py x: 275 lines of code y: 318 line churn src/gabriel/tasks/classify.py x: 514 lines of code y: 1758 line churn src/gabriel/tasks/compare.py x: 231 lines of code y: 647 line churn src/gabriel/tasks/deduplicate.py x: 361 lines of code y: 1022 line churn src/gabriel/tasks/discover.py x: 450 lines of code y: 1723 line churn src/gabriel/tasks/extract.py x: 439 lines of code y: 1308 line churn src/gabriel/tasks/rank.py x: 1737 lines of code y: 4442 line churn src/gabriel/tasks/rate.py x: 323 lines of code y: 1104 line churn src/gabriel/tasks/whatever.py x: 311 lines of code y: 829 line churn src/gabriel/tasks/bucket.py x: 384 lines of code y: 1000 line churn src/gabriel/tasks/codify.py x: 825 lines of code y: 2594 line churn src/gabriel/tasks/debias.py x: 1281 lines of code y: 3688 line churn src/gabriel/tasks/deidentify.py x: 239 lines of code y: 563 line churn src/gabriel/tasks/filter.py x: 144 lines of code y: 404 line churn src/gabriel/tasks/ideate.py x: 767 lines of code y: 1920 line churn src/gabriel/tasks/merge.py x: 422 lines of code y: 1492 line churn src/gabriel/tasks/paraphrase.py x: 419 lines of code y: 1819 line churn src/gabriel/utils/parsing.py x: 216 lines of code y: 260 line churn src/gabriel/__init__.py x: 56 lines of code y: 70 line churn src/gabriel/prompts/persona_prompt.jinja2 x: 100 lines of code y: 118 line churn src/gabriel/utils/file_utils.py x: 529 lines of code y: 2008 line churn src/gabriel/utils/__init__.py x: 62 lines of code y: 102 line churn src/gabriel/utils/plot_utils.py x: 2386 lines of code y: 8831 line churn src/gabriel/utils/passage_viewer.py x: 1394 lines of code y: 14402 line churn src/gabriel/prompts/paraphrase_prompt.jinja2 x: 17 lines of code y: 115 line churn src/gabriel/utils/media_utils.py x: 68 lines of code y: 176 line churn src/gabriel/prompts/ideation_prompt.jinja2 x: 75 lines of code y: 246 line churn src/gabriel/utils/modality_utils.py x: 130 lines of code y: 308 line churn src/gabriel/prompts/deduplicate_prompt.jinja2 x: 35 lines of code y: 151 line churn src/gabriel/prompts/snippets.jinja2 x: 115 lines of code y: 238 line churn src/gabriel/utils/pdf_utils.py x: 15 lines of code y: 40 line churn src/gabriel/prompts/seed.jinja2 x: 36 lines of code y: 53 line churn src/gabriel/core/prompt_template.py x: 94 lines of code y: 276 line churn src/gabriel/utils/logging.py x: 46 lines of code y: 44 line churn src/gabriel/prompts/deidentification_prompt.jinja2 x: 94 lines of code y: 172 line churn src/gabriel/prompts/comparison_prompt.jinja2 x: 52 lines of code y: 389 line churn src/gabriel/prompts/bucket_prompt.jinja2 x: 98 lines of code y: 189 line churn src/gabriel/core/llm_client.py x: 22 lines of code y: 12 line churn src/gabriel/prompts/codify_prompt.jinja2 x: 87 lines of code y: 60 line churn src/gabriel/prompts/classification_prompt.jinja2 x: 44 lines of code y: 182 line churn src/gabriel/prompts/rankings_prompt.jinja2 x: 40 lines of code y: 208 line churn src/gabriel/utils/prompt_utils.py x: 27 lines of code y: 84 line churn
20330.0
line churn
  min: 6.0
  average: 1479.59
  25th percentile: 98.0
  median: 246.0
  75th percentile: 1296.0
  max: 20330.0
0 5834.0
lines of code
min: 1.0 | average: 411.32 | 25th percentile: 44.0 | median: 98.0 | 75th percentile: 429.0 | max: 5834.0