openai / GABRIEL
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 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)
# contributorsfirst
contributor
latest
contributor
api.py
in src/gabriel
1401 7 2025-08-12 2026-05-04 52 3 elliott.mokski@c-openai.com @openai.com
openai_utils.py
in src/gabriel/utils
5834 111 2025-08-08 2026-05-04 44 3 elliott.mokski@c-openai.com @openai.com
classify.py
in src/gabriel/tasks
514 5 2025-08-12 2026-04-06 23 4 elliott.mokski@c-openai.com @openai.com
rate.py
in src/gabriel/tasks
323 2 2025-08-12 2026-04-06 21 4 elliott.mokski@c-openai.com @openai.com
rank.py
in src/gabriel/tasks
1737 22 2025-08-12 2026-04-06 21 3 elliott.mokski@c-openai.com @openai.com
codify.py
in src/gabriel/tasks
825 19 2025-08-13 2026-03-17 19 3 elliott.mokski@c-openai.com @openai.com
extract.py
in src/gabriel/tasks
439 6 2025-08-19 2026-04-06 17 4 elliott.mokski@c-openai.com @openai.com
ideate.py
in src/gabriel/tasks
767 13 2025-10-02 2026-03-17 15 2 hemanth@openai.com @openai.com
_version.py
in src/gabriel
1 - 2026-02-02 2026-05-04 14 2 hemanth@openai.com @openai.com
deidentify.py
in src/gabriel/tasks
239 4 2025-08-13 2026-03-17 14 3 elliott.mokski@c-openai.com @openai.com
discover.py
in src/gabriel/tasks
450 9 2025-08-21 2026-04-06 14 3 hemanth@openai.com @openai.com
__init__.py
in src/gabriel/tasks
57 2 2025-08-14 2026-03-13 13 3 elliott.mokski@c-openai.com @openai.com
compare.py
in src/gabriel/tasks
231 2 2025-08-20 2026-04-06 13 3 elliott.mokski@c-openai.com @openai.com
bucket.py
in src/gabriel/tasks
384 8 2025-08-21 2026-03-17 13 3 hemanth@openai.com @openai.com
paraphrase.py
in src/gabriel/tasks
419 2 2025-08-14 2026-03-17 13 3 elliott.mokski@c-openai.com @openai.com
__init__.py
in src/gabriel
56 1 2025-08-14 2026-03-13 12 3 elliott.mokski@c-openai.com @openai.com
deduplicate.py
in src/gabriel/tasks
361 4 2025-08-20 2026-04-06 12 3 elliott.mokski@c-openai.com @openai.com
__init__.py
in src/gabriel/utils
62 - 2025-08-12 2026-02-25 11 2 elliott.mokski@c-openai.com hemanth@openai.com
merge.py
in src/gabriel/tasks
422 6 2025-08-20 2026-03-17 11 3 elliott.mokski@c-openai.com @openai.com
seed.py
in src/gabriel/tasks
429 8 2025-10-06 2026-05-04 11 2 hemanth@openai.com @openai.com
debias.py
in src/gabriel/tasks
1281 28 2025-09-18 2026-03-17 11 2 hemanth@openai.com @openai.com
plot_utils.py
in src/gabriel/utils
2386 35 2025-08-18 2026-02-09 11 1 hemanth@openai.com hemanth@openai.com
file_utils.py
in src/gabriel/utils
529 18 2025-08-25 2026-02-26 10 2 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 elliott.mokski@c-openai.com hemanth@openai.com
filter.py
in src/gabriel/tasks
144 2 2025-08-26 2026-03-17 8 3 elliott.mokski@c-openai.com @openai.com
whatever.py
in src/gabriel/tasks
311 6 2025-10-01 2026-04-06 8 2 hemanth@openai.com @openai.com
parsing.py
in src/gabriel/utils
216 3 2025-08-13 2026-03-17 7 3 elliott.mokski@c-openai.com @openai.com
jinja2
comparison_prompt.jinja2
in src/gabriel/prompts
52 - 2025-08-20 2025-09-03 5 2 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 hemanth@openai.com hemanth@openai.com
jinja2
bucket_prompt.jinja2
in src/gabriel/prompts
98 - 2025-08-20 2025-09-03 5 1 hemanth@openai.com hemanth@openai.com
mapmaker.py
in src/gabriel/utils
435 13 2025-08-12 2026-05-04 5 3 elliott.mokski@c-openai.com @openai.com
jinja2
merge_prompt.jinja2
in src/gabriel/prompts
41 - 2025-08-20 2025-08-25 4 2 hemanth@openai.com hemanth@openai.com
jinja2
classification_prompt.jinja2
in src/gabriel/prompts
44 - 2025-08-12 2025-08-25 4 2 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 hemanth@openai.com hemanth@openai.com
jinja2
paraphrase_prompt.jinja2
in src/gabriel/prompts
17 - 2025-08-14 2026-02-06 3 2 elliott.mokski@c-openai.com hemanth@openai.com
jinja2
deduplicate_prompt.jinja2
in src/gabriel/prompts
35 - 2025-08-20 2026-02-02 3 2 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 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 hemanth@openai.com hemanth@openai.com
jinja2
codify_prompt.jinja2
in src/gabriel/prompts
87 - 2025-08-21 2025-08-25 3 1 hemanth@openai.com hemanth@openai.com
jinja2
deidentification_prompt.jinja2
in src/gabriel/prompts
94 - 2025-08-22 2025-10-21 3 1 hemanth@openai.com hemanth@openai.com
modality_utils.py
in src/gabriel/utils
130 4 2026-01-28 2026-02-05 3 1 hemanth@openai.com hemanth@openai.com
poll.py
in src/gabriel/tasks
770 19 2026-03-13 2026-05-04 3 1 @openai.com @openai.com
audio_utils.py
in src/gabriel/utils
16 1 2025-08-12 2026-02-06 2 2 elliott.mokski@c-openai.com hemanth@openai.com
jinja2
seed.jinja2
in src/gabriel/prompts
36 - 2025-10-06 2025-12-10 2 1 hemanth@openai.com hemanth@openai.com
jinja2
rankings_prompt.jinja2
in src/gabriel/prompts
40 - 2025-08-12 2025-08-22 2 2 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 elliott.mokski@c-openai.com hemanth@openai.com
logging.py
in src/gabriel/utils
46 4 2025-08-14 2025-12-09 2 2 elliott.mokski@c-openai.com hemanth@openai.com
jinja2
snippets.jinja2
in src/gabriel/prompts
115 - 2025-08-22 2026-01-28 2 1 hemanth@openai.com hemanth@openai.com
in
3 - 2025-11-25 2025-11-25 1 1 hemanth@openai.com hemanth@openai.com
pdf_utils.py
in src/gabriel/utils
15 1 2026-01-28 2026-01-28 1 1 hemanth@openai.com hemanth@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)
# contributorsfirst
contributor
latest
contributor
classify.py
in src/gabriel/tasks
514 5 2025-08-12 2026-04-06 23 4 elliott.mokski@c-openai.com @openai.com
rate.py
in src/gabriel/tasks
323 2 2025-08-12 2026-04-06 21 4 elliott.mokski@c-openai.com @openai.com
extract.py
in src/gabriel/tasks
439 6 2025-08-19 2026-04-06 17 4 elliott.mokski@c-openai.com @openai.com
api.py
in src/gabriel
1401 7 2025-08-12 2026-05-04 52 3 elliott.mokski@c-openai.com @openai.com
openai_utils.py
in src/gabriel/utils
5834 111 2025-08-08 2026-05-04 44 3 elliott.mokski@c-openai.com @openai.com
rank.py
in src/gabriel/tasks
1737 22 2025-08-12 2026-04-06 21 3 elliott.mokski@c-openai.com @openai.com
codify.py
in src/gabriel/tasks
825 19 2025-08-13 2026-03-17 19 3 elliott.mokski@c-openai.com @openai.com
discover.py
in src/gabriel/tasks
450 9 2025-08-21 2026-04-06 14 3 hemanth@openai.com @openai.com
deidentify.py
in src/gabriel/tasks
239 4 2025-08-13 2026-03-17 14 3 elliott.mokski@c-openai.com @openai.com
paraphrase.py
in src/gabriel/tasks
419 2 2025-08-14 2026-03-17 13 3 elliott.mokski@c-openai.com @openai.com
compare.py
in src/gabriel/tasks
231 2 2025-08-20 2026-04-06 13 3 elliott.mokski@c-openai.com @openai.com
__init__.py
in src/gabriel/tasks
57 2 2025-08-14 2026-03-13 13 3 elliott.mokski@c-openai.com @openai.com
bucket.py
in src/gabriel/tasks
384 8 2025-08-21 2026-03-17 13 3 hemanth@openai.com @openai.com
deduplicate.py
in src/gabriel/tasks
361 4 2025-08-20 2026-04-06 12 3 elliott.mokski@c-openai.com @openai.com
__init__.py
in src/gabriel
56 1 2025-08-14 2026-03-13 12 3 elliott.mokski@c-openai.com @openai.com
merge.py
in src/gabriel/tasks
422 6 2025-08-20 2026-03-17 11 3 elliott.mokski@c-openai.com @openai.com
filter.py
in src/gabriel/tasks
144 2 2025-08-26 2026-03-17 8 3 elliott.mokski@c-openai.com @openai.com
parsing.py
in src/gabriel/utils
216 3 2025-08-13 2026-03-17 7 3 elliott.mokski@c-openai.com @openai.com
mapmaker.py
in src/gabriel/utils
435 13 2025-08-12 2026-05-04 5 3 elliott.mokski@c-openai.com @openai.com
ideate.py
in src/gabriel/tasks
767 13 2025-10-02 2026-03-17 15 2 hemanth@openai.com @openai.com
_version.py
in src/gabriel
1 - 2026-02-02 2026-05-04 14 2 hemanth@openai.com @openai.com
debias.py
in src/gabriel/tasks
1281 28 2025-09-18 2026-03-17 11 2 hemanth@openai.com @openai.com
seed.py
in src/gabriel/tasks
429 8 2025-10-06 2026-05-04 11 2 hemanth@openai.com @openai.com
__init__.py
in src/gabriel/utils
62 - 2025-08-12 2026-02-25 11 2 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 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 elliott.mokski@c-openai.com hemanth@openai.com
whatever.py
in src/gabriel/tasks
311 6 2025-10-01 2026-04-06 8 2 hemanth@openai.com @openai.com
prompt_template.py
in src/gabriel/core
94 6 2025-08-22 2025-12-09 5 2 hemanth@openai.com hemanth@openai.com
jinja2
comparison_prompt.jinja2
in src/gabriel/prompts
52 - 2025-08-20 2025-09-03 5 2 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 hemanth@openai.com hemanth@openai.com
jinja2
classification_prompt.jinja2
in src/gabriel/prompts
44 - 2025-08-12 2025-08-25 4 2 elliott.mokski@c-openai.com hemanth@openai.com
jinja2
deduplicate_prompt.jinja2
in src/gabriel/prompts
35 - 2025-08-20 2026-02-02 3 2 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 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 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 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 elliott.mokski@c-openai.com hemanth@openai.com
logging.py
in src/gabriel/utils
46 4 2025-08-14 2025-12-09 2 2 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 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 hemanth@openai.com hemanth@openai.com
jinja2
bucket_prompt.jinja2
in src/gabriel/prompts
98 - 2025-08-20 2025-09-03 5 1 hemanth@openai.com hemanth@openai.com
jinja2
extraction_prompt.jinja2
in src/gabriel/prompts
53 - 2025-08-19 2026-01-28 4 1 hemanth@openai.com hemanth@openai.com
poll.py
in src/gabriel/tasks
770 19 2026-03-13 2026-05-04 3 1 @openai.com @openai.com
jinja2
codify_prompt.jinja2
in src/gabriel/prompts
87 - 2025-08-21 2025-08-25 3 1 hemanth@openai.com hemanth@openai.com
jinja2
ideation_prompt.jinja2
in src/gabriel/prompts
75 - 2025-10-02 2026-02-06 3 1 hemanth@openai.com hemanth@openai.com
jinja2
deidentification_prompt.jinja2
in src/gabriel/prompts
94 - 2025-08-22 2025-10-21 3 1 hemanth@openai.com hemanth@openai.com
modality_utils.py
in src/gabriel/utils
130 4 2026-01-28 2026-02-05 3 1 hemanth@openai.com hemanth@openai.com
jinja2
snippets.jinja2
in src/gabriel/prompts
115 - 2025-08-22 2026-01-28 2 1 hemanth@openai.com hemanth@openai.com
jinja2
seed.jinja2
in src/gabriel/prompts
36 - 2025-10-06 2025-12-10 2 1 hemanth@openai.com hemanth@openai.com
in
3 - 2025-11-25 2025-11-25 1 1 hemanth@openai.com hemanth@openai.com
llm_client.py
in src/gabriel/core
22 1 2025-08-26 2025-08-26 1 1 elliott.mokski@c-openai.com elliott.mokski@c-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)
# contributorsfirst
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 hemanth@openai.com hemanth@openai.com
poll.py
in src/gabriel/tasks
770 19 2026-03-13 2026-05-04 3 1 @openai.com @openai.com
_run_utils.py
in src/gabriel/tasks
275 15 2026-04-06 2026-04-06 1 1 @openai.com @openai.com
modality_utils.py
in src/gabriel/utils
130 4 2026-01-28 2026-02-05 3 1 hemanth@openai.com hemanth@openai.com
jinja2
snippets.jinja2
in src/gabriel/prompts
115 - 2025-08-22 2026-01-28 2 1 hemanth@openai.com hemanth@openai.com
jinja2
persona_prompt.jinja2
in src/gabriel/prompts
100 - 2026-03-13 2026-03-13 1 1 @openai.com @openai.com
jinja2
bucket_prompt.jinja2
in src/gabriel/prompts
98 - 2025-08-20 2025-09-03 5 1 hemanth@openai.com hemanth@openai.com
jinja2
deidentification_prompt.jinja2
in src/gabriel/prompts
94 - 2025-08-22 2025-10-21 3 1 hemanth@openai.com hemanth@openai.com
jinja2
codify_prompt.jinja2
in src/gabriel/prompts
87 - 2025-08-21 2025-08-25 3 1 hemanth@openai.com hemanth@openai.com
jinja2
ideation_prompt.jinja2
in src/gabriel/prompts
75 - 2025-10-02 2026-02-06 3 1 hemanth@openai.com hemanth@openai.com
jinja2
poll_prompt.jinja2
in src/gabriel/prompts
54 - 2026-03-13 2026-03-13 1 1 @openai.com @openai.com
word_matching.py
in src/gabriel/utils
54 4 2025-12-09 2025-12-09 1 1 hemanth@openai.com hemanth@openai.com
_attribute_utils.py
in src/gabriel/tasks
53 1 2025-12-10 2025-12-10 1 1 hemanth@openai.com hemanth@openai.com
jinja2
extraction_prompt.jinja2
in src/gabriel/prompts
53 - 2025-08-19 2026-01-28 4 1 hemanth@openai.com hemanth@openai.com
__main__.py
in src/gabriel/cli
38 2 2025-11-25 2025-11-25 1 1 hemanth@openai.com hemanth@openai.com
jinja2
seed.jinja2
in src/gabriel/prompts
36 - 2025-10-06 2025-12-10 2 1 hemanth@openai.com hemanth@openai.com
jinja2
filter_prompt.jinja2
in src/gabriel/prompts
28 - 2025-08-25 2025-08-25 1 1 hemanth@openai.com hemanth@openai.com
prompt_utils.py
in src/gabriel/utils
27 1 2025-08-22 2025-08-22 1 1 hemanth@openai.com hemanth@openai.com
llm_client.py
in src/gabriel/core
22 1 2025-08-26 2025-08-26 1 1 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 hemanth@openai.com hemanth@openai.com
in
3 - 2025-11-25 2025-11-25 1 1 hemanth@openai.com hemanth@openai.com
passage_viewer.py
in src/gabriel/utils
1394 42 2025-08-13 2026-02-07 10 2 elliott.mokski@c-openai.com hemanth@openai.com
debias.py
in src/gabriel/tasks
1281 28 2025-09-18 2026-03-17 11 2 hemanth@openai.com @openai.com
ideate.py
in src/gabriel/tasks
767 13 2025-10-02 2026-03-17 15 2 hemanth@openai.com @openai.com
file_utils.py
in src/gabriel/utils
529 18 2025-08-25 2026-02-26 10 2 elliott.mokski@c-openai.com hemanth@openai.com
seed.py
in src/gabriel/tasks
429 8 2025-10-06 2026-05-04 11 2 hemanth@openai.com @openai.com
whatever.py
in src/gabriel/tasks
311 6 2025-10-01 2026-04-06 8 2 hemanth@openai.com @openai.com
prompt_template.py
in src/gabriel/core
94 6 2025-08-22 2025-12-09 5 2 hemanth@openai.com hemanth@openai.com
media_utils.py
in src/gabriel/utils
68 3 2025-08-13 2026-02-06 3 2 elliott.mokski@c-openai.com hemanth@openai.com
__init__.py
in src/gabriel/utils
62 - 2025-08-12 2026-02-25 11 2 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 elliott.mokski@c-openai.com hemanth@openai.com
logging.py
in src/gabriel/utils
46 4 2025-08-14 2025-12-09 2 2 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 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 hemanth@openai.com hemanth@openai.com
jinja2
ratings_prompt.jinja2
in src/gabriel/prompts
41 - 2025-08-12 2025-08-22 2 2 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 elliott.mokski@c-openai.com hemanth@openai.com
jinja2
deduplicate_prompt.jinja2
in src/gabriel/prompts
35 - 2025-08-20 2026-02-02 3 2 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 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 elliott.mokski@c-openai.com hemanth@openai.com
_version.py
in src/gabriel
1 - 2026-02-02 2026-05-04 14 2 hemanth@openai.com @openai.com
openai_utils.py
in src/gabriel/utils
5834 111 2025-08-08 2026-05-04 44 3 elliott.mokski@c-openai.com @openai.com
rank.py
in src/gabriel/tasks
1737 22 2025-08-12 2026-04-06 21 3 elliott.mokski@c-openai.com @openai.com
api.py
in src/gabriel
1401 7 2025-08-12 2026-05-04 52 3 elliott.mokski@c-openai.com @openai.com
codify.py
in src/gabriel/tasks
825 19 2025-08-13 2026-03-17 19 3 elliott.mokski@c-openai.com @openai.com