Overview
File Change Frequency Overall
  • There are 1,945 files with 111,115 lines of code.
    • 1 file changed more than 100 times (2 lines of code)
    • 7 files changed 51-100 times (10,082 lines of code)
    • 45 files changed 21-50 times (16,203 lines of code)
    • 301 files changed 6-20 times (37,391 lines of code)
    • 1,591 files changed 1-5 times (47,437 lines of code)
<1% | 9% | 14% | 33% | 42%
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 1,945 files with 111,115 lines of code.
    • 0 files changed by more than 25 contributors (0 lines of code)
    • 5 files changed by 11-25 contributors (7,660 lines of code)
    • 67 files changed by 6-10 contributors (20,824 lines of code)
    • 1,491 files changed by 2-5 contributors (67,655 lines of code)
    • 382 files changed by 1 contributor (14,976 lines of code)
0% | 6% | 18% | 60% | 13%
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, md, yml, json, cjs, txt, toml, gitignore, gitattributes, yaml, sh
File Change Frequency per Extension
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
py<1% | 9% | 14% | 33% | 42%
yaml0% | 0% | 5% | 0% | 94%
cjs0% | 0% | 0% | 0% | 100%
toml0% | 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
src<1% | 9% | 15% | 35% | 40%
ROOT0% | 0% | 100% | 0% | 0%
scripts0% | 0% | 0% | 2% | 97%
.github0% | 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
_version.py
in src/openai
2 - 2023-11-06 2026-10-06 300 8 +385 / -383 robert@craigie.dev 284451331+openai-sdks[bot]@...
responses.py
in src/openai/resources/responses
2836 92 2025-03-11 2026-10-06 84 12 +7253 / -1848 robert@craigie.dev dp@openai.com
_base_client.py
in src/openai
1822 103 2023-11-06 2026-09-27 75 17 +3250 / -891 robert@craigie.dev markstuart@openai.com
completion_create_params.py
in src/openai/types/chat
106 - 2023-11-06 2026-10-06 71 9 +954 / -379 robert@craigie.dev dp@openai.com
runs.py
in src/openai/resources/beta/threads/runs
1883 48 2023-11-06 2026-10-02 62 6 +4960 / -1799 robert@craigie.dev jbeckwith@openai.com
threads.py
in src/openai/resources/beta/threads
1065 35 2023-11-06 2026-10-02 54 6 +3265 / -1256 robert@craigie.dev jbeckwith@openai.com
_client.py
in src/openai
1742 197 2023-11-06 2026-10-06 53 12 +3123 / -722 robert@craigie.dev dp@openai.com
_models.py
in src/openai
628 30 2023-11-06 2026-09-10 51 9 +1223 / -137 schnerd@users.noreply.githu... rohitdeppi38@gmail.com
__init__.py
in src/openai
378 34 2023-11-06 2026-10-06 47 10 +672 / -106 robert@craigie.dev dp@openai.com
completions.py
in src/openai/resources/chat/completions
1284 29 2025-02-13 2026-10-06 47 9 +5057 / -1565 142633134+stainless-app[bot... dp@openai.com
response_create_params.py
in src/openai/types/responses
110 - 2025-03-11 2026-09-24 45 5 +704 / -187 robert@craigie.dev jbeckwith@openai.com
files.py
in src/openai/resources
470 16 2023-11-06 2026-09-09 45 6 +1198 / -372 robert@craigie.dev apcha@openai.com
images.py
in src/openai/resources
756 17 2023-11-06 2026-10-06 44 10 +4116 / -1934 robert@craigie.dev dp@openai.com
transcriptions.py
in src/openai/resources/audio
446 16 2023-11-06 2026-09-27 42 10 +1516 / -427 robert@craigie.dev markstuart@openai.com
response.py
in src/openai/types/responses
175 1 2025-03-11 2026-09-24 41 6 +896 / -203 robert@craigie.dev jbeckwith@openai.com
run_create_params.py
in src/openai/types/beta/threads
59 - 2023-11-06 2026-09-09 40 5 +476 / -207 robert@craigie.dev apcha@openai.com
__init__.py
in src/openai/types
143 - 2023-11-06 2026-10-06 39 8 +208 / -62 robert@craigie.dev dp@openai.com
speech.py
in src/openai/resources/audio
137 9 2023-11-06 2026-10-02 36 7 +448 / -171 robert@craigie.dev jbeckwith@openai.com
tool_param.py
in src/openai/types/responses
142 - 2025-03-11 2026-10-06 36 7 +583 / -161 robert@craigie.dev dp@openai.com
8 - 2026-08-03 2026-10-06 35 5 +477 / -469 apcha@openai.com dp@openai.com
thread_create_and_run_params.py
in src/openai/types/beta
103 - 2023-11-06 2026-09-09 35 5 +676 / -251 robert@craigie.dev apcha@openai.com
tool.py
in src/openai/types/responses
146 - 2025-03-11 2026-10-06 35 7 +577 / -153 robert@craigie.dev dp@openai.com
completions.py
in src/openai/resources
352 12 2023-11-06 2026-10-06 34 8 +1768 / -570 robert@craigie.dev dp@openai.com
assistants.py
in src/openai/resources/beta
610 14 2024-04-17 2026-10-02 34 6 +1531 / -417 107565488+stainless-bot@use... jbeckwith@openai.com
assistant_create_params.py
in src/openai/types/beta
55 - 2023-11-06 2026-09-09 33 5 +458 / -232 robert@craigie.dev apcha@openai.com
azure.py
in src/openai/lib
710 26 2023-11-06 2026-09-30 31 17 +1055 / -152 schnerd@users.noreply.githu... markstuart@openai.com
embeddings.py
in src/openai/resources
125 9 2023-11-06 2026-10-02 30 9 +424 / -161 robert@craigie.dev jbeckwith@openai.com
translations.py
in src/openai/resources/audio
223 13 2023-11-06 2026-09-09 30 7 +534 / -160 robert@craigie.dev apcha@openai.com
assistant_update_params.py
in src/openai/types/beta
74 - 2023-11-06 2026-09-09 29 6 +337 / -146 robert@craigie.dev apcha@openai.com
__init__.py
in src/openai/types/responses
370 - 2025-03-11 2026-10-06 29 5 +387 / -14 142633134+stainless-app[bot... dp@openai.com
responses.py
in src/openai/resources/beta/responses
3272 80 2026-07-09 2026-10-06 29 6 +6362 / -634 142633134+stainless-app[bot... dp@openai.com
run.py
in src/openai/types/beta/threads
63 - 2023-11-06 2026-09-09 26 5 +437 / -163 robert@craigie.dev apcha@openai.com
response_input_item_param.py
in src/openai/types/responses
302 - 2025-03-11 2026-09-21 26 5 +846 / -76 142633134+stainless-app[bot... markstuart@openai.com
response_input_param.py
in src/openai/types/responses
304 - 2025-03-11 2026-09-21 26 5 +848 / -75 142633134+stainless-app[bot... markstuart@openai.com
realtime.py
in src/openai/resources/realtime
1109 85 2025-09-02 2026-10-06 26 8 +2083 / -262 142633134+stainless-app[bot... dp@openai.com
steps.py
in src/openai/resources/beta/threads/runs
243 11 2023-11-06 2026-09-09 25 5 +546 / -129 robert@craigie.dev apcha@openai.com
_transform.py
in src/openai/_utils
259 11 2023-11-06 2026-09-30 25 7 +499 / -38 schnerd@users.noreply.githu... marcuswood@openai.com
__init__.py
in src/openai/types/beta
594 - 2023-11-06 2026-10-06 25 9 +632 / -35 robert@craigie.dev dp@openai.com
image_edit_params.py
in src/openai/types
26 - 2023-11-06 2026-10-06 24 9 +335 / -162 robert@craigie.dev dp@openai.com
chat_completion_chunk.py
in src/openai/types/chat
106 - 2023-11-06 2026-10-06 24 6 +602 / -69 robert@craigie.dev dp@openai.com
moderations.py
in src/openai/resources
109 9 2023-11-06 2026-10-02 24 7 +325 / -110 robert@craigie.dev jbeckwith@openai.com
response_compact_params.py
in src/openai/types/responses
133 - 2025-12-04 2026-09-29 24 6 +264 / -37 142633134+stainless-app[bot... markstuart@openai.com
_types.py
in src/openai
152 11 2023-11-06 2026-08-12 24 6 +523 / -244 schnerd@users.noreply.githu... apcha@openai.com
_utils.py
in src/openai/_utils
270 36 2023-11-06 2026-09-23 24 8 +546 / -97 schnerd@users.noreply.githu... hk_ding@outlook.com
_streaming.py
in src/openai
348 29 2023-11-06 2026-09-11 24 7 +667 / -196 schnerd@users.noreply.githu... heriberto.espinomo@udlap.mx
_response.py
in src/openai
472 45 2023-11-06 2026-09-29 24 9 +1006 / -153 schnerd@users.noreply.githu... 1fannnw@gmail.com
batches.py
in src/openai/resources
322 13 2024-04-15 2026-09-09 23 3 +691 / -113 107565488+stainless-bot@use... apcha@openai.com
jobs.py
in src/openai/resources/fine_tuning/jobs
539 23 2024-04-15 2026-10-06 23 6 +1121 / -140 107565488+stainless-bot@use... dp@openai.com
chat_model.py
in src/openai/types/shared
93 - 2025-03-06 2026-10-02 22 6 +168 / -8 142633134+stainless-app[bot... markstuart@openai.com
chat_model.py
in src/openai/types/shared_params
94 - 2025-03-06 2026-10-02 22 6 +170 / -8 142633134+stainless-app[bot... markstuart@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
responses.py
in src/openai/resources/responses
2836 92 2025-03-11 2026-10-06 84 12 +7253 / -1848 robert@craigie.dev dp@openai.com
responses.py
in src/openai/resources/beta/responses
3272 80 2026-07-09 2026-10-06 29 6 +6362 / -634 142633134+stainless-app[bot... dp@openai.com
runs.py
in src/openai/resources/beta/threads/runs
1883 48 2023-11-06 2026-10-02 62 6 +4960 / -1799 robert@craigie.dev jbeckwith@openai.com
completions.py
in src/openai/resources/chat/completions
1284 29 2025-02-13 2026-10-06 47 9 +5057 / -1565 142633134+stainless-app[bot... dp@openai.com
images.py
in src/openai/resources
756 17 2023-11-06 2026-10-06 44 10 +4116 / -1934 robert@craigie.dev dp@openai.com
threads.py
in src/openai/resources/beta/threads
1065 35 2023-11-06 2026-10-02 54 6 +3265 / -1256 robert@craigie.dev jbeckwith@openai.com
_base_client.py
in src/openai
1822 103 2023-11-06 2026-09-27 75 17 +3250 / -891 robert@craigie.dev markstuart@openai.com
_client.py
in src/openai
1742 197 2023-11-06 2026-10-06 53 12 +3123 / -722 robert@craigie.dev dp@openai.com
2321 42 2026-08-27 2026-08-27 1 1 +2428 / -0 hayden@openai.com hayden@openai.com
realtime.py
in src/openai/resources/realtime
1109 85 2025-09-02 2026-10-06 26 8 +2083 / -262 142633134+stainless-app[bot... dp@openai.com
completions.py
in src/openai/resources
352 12 2023-11-06 2026-10-06 34 8 +1768 / -570 robert@craigie.dev dp@openai.com
bedrock.py
in src/openai/lib
810 23 2026-05-29 2026-08-18 6 4 +2045 / -262 jim@openai.com apcha@openai.com
usage.py
in src/openai/resources/admin/organization
1154 19 2026-04-30 2026-10-06 7 3 +2184 / -44 142633134+stainless-app[bot... dp@openai.com
assistants.py
in src/openai/resources/beta
610 14 2024-04-17 2026-10-02 34 6 +1531 / -417 107565488+stainless-bot@use... jbeckwith@openai.com
transcriptions.py
in src/openai/resources/audio
446 16 2023-11-06 2026-09-27 42 10 +1516 / -427 robert@craigie.dev markstuart@openai.com
videos.py
in src/openai/resources
977 21 2025-10-06 2026-08-13 14 2 +1665 / -208 142633134+stainless-app[bot... apcha@openai.com
live.py
in src/openai/resources/live
1075 86 2026-09-10 2026-10-06 8 4 +1705 / -54 apcha@openai.com dp@openai.com
files.py
in src/openai/resources
470 16 2023-11-06 2026-09-09 45 6 +1198 / -372 robert@craigie.dev apcha@openai.com
forks.py
in src/openai/resources/live
962 67 2026-09-10 2026-10-06 8 4 +1509 / -58 apcha@openai.com dp@openai.com
sideband.py
in src/openai/resources/live
961 65 2026-09-10 2026-10-06 8 4 +1482 / -54 apcha@openai.com dp@openai.com
realtime.py
in src/openai/resources/beta/realtime
615 53 2024-12-17 2026-09-30 16 5 +1288 / -177 142633134+stainless-app[bot... markstuart@openai.com
audit_log_list_response.py
in src/openai/types/admin/organization
609 - 2026-04-30 2026-09-23 11 3 +1391 / -7 142633134+stainless-app[bot... jbeckwith@openai.com
_models.py
in src/openai
628 30 2023-11-06 2026-09-10 51 9 +1223 / -137 schnerd@users.noreply.githu... rohitdeppi38@gmail.com
sessions.py
in src/openai/resources/beta/agents/sessions
758 55 2026-09-10 2026-10-06 8 4 +1314 / -46 apcha@openai.com dp@openai.com
files.py
in src/openai/resources/vector_stores
654 20 2025-03-11 2026-09-11 13 4 +1194 / -162 robert@craigie.dev 40085740+he-yufeng@users.no...
completion_create_params.py
in src/openai/types/chat
106 - 2023-11-06 2026-10-06 71 9 +954 / -379 robert@craigie.dev dp@openai.com
webhooks.py
in src/openai/resources/webhooks
788 26 2026-02-14 2026-10-02 5 4 +1218 / -96 142633134+stainless-app[bot... markstuart@openai.com
jobs.py
in src/openai/resources/fine_tuning/jobs
539 23 2024-04-15 2026-10-06 23 6 +1121 / -140 107565488+stainless-bot@use... dp@openai.com
beta_response_input_item.py
in src/openai/types/beta
480 - 2026-07-09 2026-09-21 10 4 +1216 / -20 142633134+stainless-app[bot... markstuart@openai.com
beta_response_input_param.py
in src/openai/types/beta
466 - 2026-07-09 2026-09-21 10 4 +1203 / -19 142633134+stainless-app[bot... markstuart@openai.com
beta_response_input_item_param.py
in src/openai/types/beta
464 - 2026-07-09 2026-09-21 10 4 +1200 / -19 142633134+stainless-app[bot... markstuart@openai.com
azure.py
in src/openai/lib
710 26 2023-11-06 2026-09-30 31 17 +1055 / -152 schnerd@users.noreply.githu... markstuart@openai.com
file_batches.py
in src/openai/resources/vector_stores
549 16 2025-03-11 2026-09-09 14 3 +1025 / -158 robert@craigie.dev apcha@openai.com
_assistants.py
in src/openai/lib/streaming
593 47 2024-03-13 2026-09-11 8 8 +1082 / -80 107565488+stainless-bot@use... heriberto.espinomo@udlap.mx
_response.py
in src/openai
472 45 2023-11-06 2026-09-29 24 9 +1006 / -153 schnerd@users.noreply.githu... 1fannnw@gmail.com
run_create_response.py
in src/openai/types/evals
151 - 2025-04-08 2026-09-09 18 2 +785 / -344 142633134+stainless-app[bot... apcha@openai.com
run_list_response.py
in src/openai/types/evals
151 - 2025-04-08 2026-09-09 18 2 +785 / -344 142633134+stainless-app[bot... apcha@openai.com
run_cancel_response.py
in src/openai/types/evals
151 - 2025-04-08 2026-09-09 18 2 +785 / -344 142633134+stainless-app[bot... apcha@openai.com
run_retrieve_response.py
in src/openai/types/evals
151 - 2025-04-08 2026-09-09 18 2 +785 / -344 142633134+stainless-app[bot... apcha@openai.com
vector_stores.py
in src/openai/resources/vector_stores
557 28 2025-03-11 2026-09-09 11 3 +1020 / -103 robert@craigie.dev apcha@openai.com
custom_code_report.py
in scripts/castiron
949 25 2026-08-20 2026-10-02 3 2 +1081 / -39 apcha@openai.com apcha@openai.com
projects.py
in src/openai/resources/admin/organization/projects
698 86 2026-04-30 2026-09-09 10 2 +1078 / -34 142633134+stainless-app[bot... apcha@openai.com
response.py
in src/openai/types/responses
175 1 2025-03-11 2026-09-24 41 6 +896 / -203 robert@craigie.dev jbeckwith@openai.com
beta_responses_server_event.py
in src/openai/types/beta
350 - 2026-07-09 2026-10-06 8 5 +1022 / -73 142633134+stainless-app[bot... dp@openai.com
responses_server_event.py
in src/openai/types/responses
342 - 2026-02-23 2026-10-06 8 5 +1007 / -73 142633134+stainless-app[bot... dp@openai.com
messages.py
in src/openai/resources/beta/threads
465 14 2024-04-17 2026-08-20 19 4 +911 / -158 107565488+stainless-bot@use... apcha@openai.com
run_create_params.py
in src/openai/types/evals
125 - 2025-04-08 2026-09-09 18 2 +710 / -350 142633134+stainless-app[bot... apcha@openai.com
calls.py
in src/openai/resources/realtime
518 13 2025-10-02 2026-10-02 16 3 +982 / -75 142633134+stainless-app[bot... jbeckwith@openai.com
__init__.py
in src/openai/resources
475 2 2023-11-06 2026-10-06 20 7 +731 / -247 robert@craigie.dev dp@openai.com
8 - 2026-08-03 2026-10-06 35 5 +477 / -469 apcha@openai.com dp@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
_base_client.py
in src/openai
1822 103 2023-11-06 2026-09-27 75 17 +3250 / -891 robert@craigie.dev markstuart@openai.com
azure.py
in src/openai/lib
710 26 2023-11-06 2026-09-30 31 17 +1055 / -152 schnerd@users.noreply.githu... markstuart@openai.com
responses.py
in src/openai/resources/responses
2836 92 2025-03-11 2026-10-06 84 12 +7253 / -1848 robert@craigie.dev dp@openai.com
_client.py
in src/openai
1742 197 2023-11-06 2026-10-06 53 12 +3123 / -722 robert@craigie.dev dp@openai.com
_completions.py
in src/openai/lib/streaming/chat
550 29 2024-08-06 2026-09-16 15 11 +814 / -40 robert@craigie.dev marcuswood@openai.com
__init__.py
in src/openai
378 34 2023-11-06 2026-10-06 47 10 +672 / -106 robert@craigie.dev dp@openai.com
images.py
in src/openai/resources
756 17 2023-11-06 2026-10-06 44 10 +4116 / -1934 robert@craigie.dev dp@openai.com
transcriptions.py
in src/openai/resources/audio
446 16 2023-11-06 2026-09-27 42 10 +1516 / -427 robert@craigie.dev markstuart@openai.com
completion_create_params.py
in src/openai/types/chat
106 - 2023-11-06 2026-10-06 71 9 +954 / -379 robert@craigie.dev dp@openai.com
_models.py
in src/openai
628 30 2023-11-06 2026-09-10 51 9 +1223 / -137 schnerd@users.noreply.githu... rohitdeppi38@gmail.com
completions.py
in src/openai/resources/chat/completions
1284 29 2025-02-13 2026-10-06 47 9 +5057 / -1565 142633134+stainless-app[bot... dp@openai.com
embeddings.py
in src/openai/resources
125 9 2023-11-06 2026-10-02 30 9 +424 / -161 robert@craigie.dev jbeckwith@openai.com
__init__.py
in src/openai/types/beta
594 - 2023-11-06 2026-10-06 25 9 +632 / -35 robert@craigie.dev dp@openai.com
image_edit_params.py
in src/openai/types
26 - 2023-11-06 2026-10-06 24 9 +335 / -162 robert@craigie.dev dp@openai.com
_response.py
in src/openai
472 45 2023-11-06 2026-09-29 24 9 +1006 / -153 schnerd@users.noreply.githu... 1fannnw@gmail.com
_exceptions.py
in src/openai
127 10 2023-11-06 2026-09-15 13 9 +241 / -28 schnerd@users.noreply.githu... 51058514+sanjays2402@users....
_version.py
in src/openai
2 - 2023-11-06 2026-10-06 300 8 +385 / -383 robert@craigie.dev 284451331+openai-sdks[bot]@...
__init__.py
in src/openai/types
143 - 2023-11-06 2026-10-06 39 8 +208 / -62 robert@craigie.dev dp@openai.com
completions.py
in src/openai/resources
352 12 2023-11-06 2026-10-06 34 8 +1768 / -570 robert@craigie.dev dp@openai.com
realtime.py
in src/openai/resources/realtime
1109 85 2025-09-02 2026-10-06 26 8 +2083 / -262 142633134+stainless-app[bot... dp@openai.com
_utils.py
in src/openai/_utils
270 36 2023-11-06 2026-09-23 24 8 +546 / -97 schnerd@users.noreply.githu... hk_ding@outlook.com
image_generate_params.py
in src/openai/types
28 - 2023-11-06 2026-10-02 16 8 +296 / -137 robert@craigie.dev markstuart@openai.com
_assistants.py
in src/openai/lib/streaming
593 47 2024-03-13 2026-09-11 8 8 +1082 / -80 107565488+stainless-bot@use... heriberto.espinomo@udlap.mx
tool_param.py
in src/openai/types/responses
142 - 2025-03-11 2026-10-06 36 7 +583 / -161 robert@craigie.dev dp@openai.com
speech.py
in src/openai/resources/audio
137 9 2023-11-06 2026-10-02 36 7 +448 / -171 robert@craigie.dev jbeckwith@openai.com
tool.py
in src/openai/types/responses
146 - 2025-03-11 2026-10-06 35 7 +577 / -153 robert@craigie.dev dp@openai.com
translations.py
in src/openai/resources/audio
223 13 2023-11-06 2026-09-09 30 7 +534 / -160 robert@craigie.dev apcha@openai.com
_transform.py
in src/openai/_utils
259 11 2023-11-06 2026-09-30 25 7 +499 / -38 schnerd@users.noreply.githu... marcuswood@openai.com
moderations.py
in src/openai/resources
109 9 2023-11-06 2026-10-02 24 7 +325 / -110 robert@craigie.dev jbeckwith@openai.com
_streaming.py
in src/openai
348 29 2023-11-06 2026-09-11 24 7 +667 / -196 schnerd@users.noreply.githu... heriberto.espinomo@udlap.mx
__init__.py
in src/openai/resources
475 2 2023-11-06 2026-10-06 20 7 +731 / -247 robert@craigie.dev dp@openai.com
transcription_create_params.py
in src/openai/types/audio
39 - 2023-11-06 2026-09-09 18 7 +243 / -55 robert@craigie.dev apcha@openai.com
_responses.py
in src/openai/lib/_parsing
160 5 2025-03-11 2026-09-19 17 7 +223 / -25 robert@craigie.dev lichao_chen@outlook.com
completion_create_params.py
in src/openai/types
29 - 2023-11-06 2026-10-06 15 7 +252 / -62 robert@craigie.dev dp@openai.com
__init__.py
in src/openai/types/audio
23 - 2023-11-06 2026-10-02 11 7 +42 / -16 robert@craigie.dev markstuart@openai.com
translation_create_params.py
in src/openai/types/audio
12 - 2023-11-06 2026-09-09 10 7 +68 / -16 robert@craigie.dev apcha@openai.com
13 - 2023-11-06 2026-10-02 9 7 +62 / -14 robert@craigie.dev markstuart@openai.com
_files.py
in src/openai
105 10 2023-11-06 2026-09-15 9 7 +194 / -23 robert@craigie.dev pranjal.bhatia710@gmail.com
runs.py
in src/openai/resources/beta/threads/runs
1883 48 2023-11-06 2026-10-02 62 6 +4960 / -1799 robert@craigie.dev jbeckwith@openai.com
threads.py
in src/openai/resources/beta/threads
1065 35 2023-11-06 2026-10-02 54 6 +3265 / -1256 robert@craigie.dev jbeckwith@openai.com
files.py
in src/openai/resources
470 16 2023-11-06 2026-09-09 45 6 +1198 / -372 robert@craigie.dev apcha@openai.com
response.py
in src/openai/types/responses
175 1 2025-03-11 2026-09-24 41 6 +896 / -203 robert@craigie.dev jbeckwith@openai.com
assistants.py
in src/openai/resources/beta
610 14 2024-04-17 2026-10-02 34 6 +1531 / -417 107565488+stainless-bot@use... jbeckwith@openai.com
assistant_update_params.py
in src/openai/types/beta
74 - 2023-11-06 2026-09-09 29 6 +337 / -146 robert@craigie.dev apcha@openai.com
responses.py
in src/openai/resources/beta/responses
3272 80 2026-07-09 2026-10-06 29 6 +6362 / -634 142633134+stainless-app[bot... dp@openai.com
_types.py
in src/openai
152 11 2023-11-06 2026-08-12 24 6 +523 / -244 schnerd@users.noreply.githu... apcha@openai.com
chat_completion_chunk.py
in src/openai/types/chat
106 - 2023-11-06 2026-10-06 24 6 +602 / -69 robert@craigie.dev dp@openai.com
response_compact_params.py
in src/openai/types/responses
133 - 2025-12-04 2026-09-29 24 6 +264 / -37 142633134+stainless-app[bot... markstuart@openai.com
jobs.py
in src/openai/resources/fine_tuning/jobs
539 23 2024-04-15 2026-10-06 23 6 +1121 / -140 107565488+stainless-bot@use... dp@openai.com
chat_model.py
in src/openai/types/shared
93 - 2025-03-06 2026-10-02 22 6 +168 / -8 142633134+stainless-app[bot... markstuart@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
2321 42 2026-08-27 2026-08-27 1 1 +2428 / -0 hayden@openai.com hayden@openai.com
_x509.py
in src/openai/auth
578 35 2026-08-17 2026-08-27 2 1 +693 / -19 jbeckwith@openai.com jbeckwith@openai.com
_session.py
in src/openai/lib/responses_websocket
493 35 2026-09-18 2026-09-18 1 1 +619 / -0 markstuart@openai.com markstuart@openai.com
sessions.py
in src/openai/resources/live
429 14 2026-09-10 2026-09-10 1 1 +718 / -14 apcha@openai.com apcha@openai.com
files.py
in src/openai/resources/beta/agents/environments
380 16 2026-09-10 2026-10-01 2 1 +594 / -2 apcha@openai.com apcha@openai.com
_accumulator.py
in src/openai/lib/responses_websocket
379 11 2026-09-28 2026-09-28 1 1 +453 / -8 markstuart@openai.com markstuart@openai.com
artifacts.py
in src/openai/resources/beta/agents/sessions
353 15 2026-09-10 2026-10-01 2 1 +561 / -0 apcha@openai.com apcha@openai.com
vaults.py
in src/openai/resources/beta/agents/vaults
335 19 2026-09-10 2026-09-10 1 1 +563 / -0 apcha@openai.com apcha@openai.com
_streams.py
in src/openai/lib/streaming/agents
286 18 2026-09-10 2026-10-05 3 1 +509 / -139 apcha@openai.com apcha@openai.com
_tools.py
in src/openai/lib/beta/agents
265 19 2026-10-01 2026-10-05 2 1 +360 / -22 apcha@openai.com apcha@openai.com
subagents.py
in src/openai/resources/beta/agents/sessions/subagents
242 23 2026-09-10 2026-09-10 1 1 +386 / -0 apcha@openai.com apcha@openai.com
turns.py
in src/openai/resources/beta/agents/sessions/subagents/turns
242 17 2026-09-10 2026-09-10 1 1 +380 / -0 apcha@openai.com apcha@openai.com
_transcript_grouper.py
in src/openai/lib/live
242 22 2026-09-10 2026-09-10 1 1 +325 / -0 apcha@openai.com apcha@openai.com
_files.py
in src/openai/lib/beta/agents
237 15 2026-10-01 2026-10-01 1 1 +297 / -0 apcha@openai.com apcha@openai.com
turns.py
in src/openai/resources/beta/agents/sessions/turns
212 17 2026-10-06 2026-10-06 1 1 +354 / -0 dp@openai.com dp@openai.com
voices.py
in src/openai/resources/audio
197 11 2026-10-02 2026-10-02 1 1 +401 / -0 markstuart@openai.com markstuart@openai.com
_result.py
in src/openai/lib/beta/agents
189 18 2026-10-01 2026-10-01 1 1 +239 / -5 apcha@openai.com apcha@openai.com
_bedrock_auth.py
in src/openai/lib
159 6 2026-06-24 2026-08-17 2 1 +191 / -2 hayden@openai.com hayden@openai.com
environments.py
in src/openai/resources/beta/agents/environments
147 21 2026-09-10 2026-09-10 1 1 +238 / -0 apcha@openai.com apcha@openai.com
items.py
in src/openai/resources/beta/agents/sessions/subagents/turns
145 10 2026-09-10 2026-09-10 1 1 +243 / -0 apcha@openai.com apcha@openai.com
_dispatch.py
in src/openai/lib/streaming/agents
141 7 2026-10-05 2026-10-05 1 1 +170 / -0 apcha@openai.com apcha@openai.com
items.py
in src/openai/resources/beta/agents/sessions/subagents
137 10 2026-09-10 2026-09-10 1 1 +235 / -0 apcha@openai.com apcha@openai.com
_artifacts.py
in src/openai/lib/beta/agents
135 5 2026-10-01 2026-10-01 1 1 +157 / -0 apcha@openai.com apcha@openai.com
_transcript_state.py
in src/openai/lib/live
134 10 2026-09-10 2026-09-10 1 1 +157 / -0 apcha@openai.com apcha@openai.com
items.py
in src/openai/resources/beta/agents/sessions/turns
133 10 2026-10-06 2026-10-06 1 1 +233 / -0 dp@openai.com dp@openai.com
items.py
in src/openai/resources/beta/agents/sessions
123 10 2026-09-10 2026-09-10 1 1 +221 / -0 apcha@openai.com apcha@openai.com
traces.py
in src/openai/resources/beta/agents/sessions
122 10 2026-09-30 2026-09-30 1 1 +222 / -0 apcha@openai.com apcha@openai.com
decisions.py
in src/openai/resources
116 9 2026-10-06 2026-10-06 1 1 +228 / -0 dp@openai.com dp@openai.com
client_secrets.py
in src/openai/resources/realtime/translations
112 9 2026-09-30 2026-09-30 1 1 +221 / -0 apcha@openai.com apcha@openai.com
alerts.py
in src/openai/resources/safety
93 9 2026-09-03 2026-09-03 1 1 +172 / -0 apcha@openai.com apcha@openai.com
cases.py
in src/openai/resources/safety
93 9 2026-09-19 2026-09-19 1 1 +172 / -0 jbeckwith@openai.com jbeckwith@openai.com
__init__.py
in src/openai/types/live
92 - 2026-09-10 2026-09-10 1 1 +95 / -0 apcha@openai.com apcha@openai.com
server_event.py
in src/openai/types/live
87 - 2026-09-10 2026-09-30 2 1 +165 / -1 apcha@openai.com apcha@openai.com
fork_server_event.py
in src/openai/types/live
87 - 2026-09-10 2026-09-30 2 1 +165 / -1 apcha@openai.com apcha@openai.com
event_types.py
in src/openai/resources/webhooks
86 9 2026-09-18 2026-09-18 1 1 +139 / -0 jbeckwith@openai.com jbeckwith@openai.com
_stream.py
in src/openai/lib/beta/agents
86 6 2026-10-01 2026-10-05 2 1 +141 / -18 apcha@openai.com apcha@openai.com
_datetime_parse.py
in src/openai/_utils
84 5 2025-09-04 2025-09-04 1 1 +136 / -0 142633134+stainless-app[bot... 142633134+stainless-app[bot...
82 4 2026-07-24 2026-07-24 1 1 +99 / -0 jbeckwith@openai.com jbeckwith@openai.com
_listeners.py
in src/openai/lib/live
77 14 2026-09-10 2026-09-10 1 1 +103 / -0 apcha@openai.com apcha@openai.com
_tools.py
in src/openai/lib/streaming/agents
71 8 2026-09-10 2026-10-05 2 1 +93 / -1 apcha@openai.com apcha@openai.com
decision.py
in src/openai/types
68 - 2026-10-06 2026-10-06 1 1 +128 / -0 dp@openai.com dp@openai.com
_events.py
in src/openai/lib/streaming/chat
66 - 2024-08-06 2024-08-06 1 1 +123 / -0 robert@craigie.dev robert@craigie.dev
__init__.py
in src/openai/resources/beta/agents/sessions/turns
64 2 2026-10-06 2026-10-06 1 1 +73 / -0 dp@openai.com dp@openai.com
__init__.py
in src/openai/resources/realtime/translations
64 2 2026-09-30 2026-09-30 1 1 +73 / -0 apcha@openai.com apcha@openai.com
custom_code_test_support.py
in scripts/castiron
60 6 2026-10-02 2026-10-02 1 1 +74 / -0 apcha@openai.com apcha@openai.com
beta_response_steer_input.py
in src/openai/types/beta
56 - 2026-09-03 2026-09-03 1 1 +124 / -0 apcha@openai.com apcha@openai.com
translations.py
in src/openai/resources/realtime/translations
56 14 2026-09-30 2026-09-30 1 1 +102 / -0 apcha@openai.com apcha@openai.com
client.py
in src/openai/_vendor/httpx_aiohttp
53 2 2026-08-12 2026-08-12 1 1 +62 / -0 apcha@openai.com apcha@openai.com
update.cjs
in scripts/steady
49 - 2026-09-04 2026-09-04 1 1 +52 / -0 apcha@openai.com apcha@openai.com
49 - 2026-09-03 2026-09-03 1 1 +114 / -0 apcha@openai.com apcha@openai.com
Correlations

File Size vs. Number of Changes: 1945 points

src/openai/_version.py x: 2 lines of code y: 300 # changes .castiron.stats.yml x: 8 lines of code y: 35 # changes src/openai/__init__.py x: 378 lines of code y: 47 # changes src/openai/_client.py x: 1742 lines of code y: 53 # changes src/openai/_module_client.py x: 162 lines of code y: 20 # changes src/openai/resources/__init__.py x: 475 lines of code y: 20 # changes src/openai/resources/decisions.py x: 116 lines of code y: 1 # changes src/openai/types/__init__.py x: 143 lines of code y: 39 # changes src/openai/types/beta/__init__.py x: 594 lines of code y: 25 # changes src/openai/types/beta/beta_response_tool_search_output_item_param.py x: 154 lines of code y: 3 # changes src/openai/types/beta/beta_response_tool_search_output_item_param_param.py x: 148 lines of code y: 3 # changes src/openai/types/beta/beta_tool_search_output_namespace_tool.py x: 23 lines of code y: 1 # changes src/openai/types/beta/beta_tool_search_output_namespace_tool_param.py x: 27 lines of code y: 1 # changes src/openai/types/decision.py x: 68 lines of code y: 1 # changes src/openai/types/decision_create_params.py x: 39 lines of code y: 1 # changes src/openai/types/decision_input_image_param.py x: 8 lines of code y: 1 # changes src/openai/types/responses/__init__.py x: 370 lines of code y: 29 # changes src/openai/types/responses/response_tool_search_output_item_param_param.py x: 144 lines of code y: 3 # changes scripts/detect-breaking-changes.py x: 59 lines of code y: 2 # changes src/openai/resources/admin/organization/usage.py x: 1154 lines of code y: 7 # changes src/openai/resources/beta/agents/environments/templates.py x: 478 lines of code y: 5 # changes src/openai/resources/beta/agents/sessions/sessions.py x: 758 lines of code y: 8 # changes src/openai/resources/beta/agents/sessions/turns/__init__.py x: 64 lines of code y: 1 # changes src/openai/resources/beta/agents/sessions/turns/items.py x: 133 lines of code y: 1 # changes src/openai/resources/beta/agents/sessions/turns/turns.py x: 212 lines of code y: 1 # changes src/openai/resources/beta/responses/responses.py x: 3272 lines of code y: 29 # changes src/openai/resources/chat/completions/completions.py x: 1284 lines of code y: 47 # changes src/openai/resources/completions.py x: 352 lines of code y: 34 # changes src/openai/resources/fine_tuning/jobs/jobs.py x: 539 lines of code y: 23 # changes src/openai/resources/images.py x: 756 lines of code y: 44 # changes src/openai/resources/live/forks.py x: 962 lines of code y: 8 # changes src/openai/resources/live/live.py x: 1075 lines of code y: 8 # changes src/openai/resources/realtime/realtime.py x: 1109 lines of code y: 26 # changes src/openai/resources/responses/responses.py x: 2836 lines of code y: 84 # changes src/openai/types/admin/organization/usage_audio_speeches_response.py x: 153 lines of code y: 9 # changes src/openai/types/admin/organization/usage_completions_params.py x: 17 lines of code y: 3 # changes src/openai/types/admin/organization/usage_costs_params.py x: 15 lines of code y: 5 # changes src/openai/types/admin/organization/usage_file_search_calls_response.py x: 153 lines of code y: 6 # changes src/openai/types/beta/agents/environments/template_create_params.py x: 30 lines of code y: 5 # changes src/openai/types/beta/agents/sessions/turns/__init__.py x: 2 lines of code y: 1 # changes src/openai/types/beta/beta_response_computer_tool_call_output_item.py x: 20 lines of code y: 3 # changes src/openai/types/beta/beta_response_error.py x: 46 lines of code y: 5 # changes src/openai/types/beta/beta_responses_server_event.py x: 350 lines of code y: 8 # changes src/openai/types/beta/beta_tool.py x: 142 lines of code y: 9 # changes src/openai/types/beta/beta_tool_param.py x: 136 lines of code y: 9 # changes src/openai/types/beta/environment_param.py x: 47 lines of code y: 7 # changes src/openai/types/beta/session_turn_error.py x: 29 lines of code y: 6 # changes src/openai/types/chat/chat_completion_chunk.py x: 106 lines of code y: 24 # changes src/openai/types/chat/completion_create_params.py x: 106 lines of code y: 71 # changes src/openai/types/completion_create_params.py x: 29 lines of code y: 15 # changes src/openai/types/fine_tuning/job_list_params.py x: 8 lines of code y: 5 # changes src/openai/types/graders/score_model_grader.py x: 42 lines of code y: 15 # changes src/openai/types/image_edit_params.py x: 26 lines of code y: 24 # changes src/openai/types/responses/response_computer_tool_call_output_item.py x: 17 lines of code y: 6 # changes src/openai/types/responses/responses_server_event.py x: 342 lines of code y: 8 # changes src/openai/types/responses/tool.py x: 146 lines of code y: 35 # changes src/openai/types/responses/tool_param.py x: 142 lines of code y: 36 # changes src/openai/types/shared/error_object.py x: 26 lines of code y: 5 # changes src/openai/lib/beta/agents/_output.py x: 46 lines of code y: 2 # changes src/openai/lib/beta/agents/_stream.py x: 86 lines of code y: 2 # changes src/openai/lib/streaming/agents/_dispatch.py x: 141 lines of code y: 1 # changes src/openai/lib/streaming/agents/_streams.py x: 286 lines of code y: 3 # changes src/openai/lib/__init__.py x: 5 lines of code y: 3 # changes src/openai/lib/_tools.py x: 57 lines of code y: 4 # changes src/openai/lib/beta/agents/_tools.py x: 265 lines of code y: 2 # changes src/openai/lib/beta/agents/__init__.py x: 26 lines of code y: 2 # changes src/openai/lib/beta/agents/_tool_error.py x: 15 lines of code y: 1 # changes src/openai/lib/streaming/agents/_tools.py x: 71 lines of code y: 2 # changes scripts/castiron/custom_code_budget.py x: 376 lines of code y: 3 # changes src/openai/resources/audio/__init__.py x: 127 lines of code y: 8 # changes src/openai/resources/audio/audio.py x: 134 lines of code y: 12 # changes src/openai/resources/audio/speech.py x: 137 lines of code y: 36 # changes src/openai/resources/audio/voices.py x: 197 lines of code y: 1 # changes src/openai/resources/beta/agents/agents.py x: 518 lines of code y: 4 # changes src/openai/resources/webhooks/webhooks.py x: 788 lines of code y: 5 # changes src/openai/types/audio/__init__.py x: 23 lines of code y: 11 # changes src/openai/types/audio/speech_create_params.py x: 22 lines of code y: 21 # changes src/openai/types/beta/agent_create_params.py x: 18 lines of code y: 4 # changes src/openai/types/beta/agents/session_create_params.py x: 31 lines of code y: 4 # changes src/openai/types/chat/chat_completion_audio_param.py x: 12 lines of code y: 14 # changes src/openai/types/image.py x: 7 lines of code y: 7 # changes src/openai/types/image_create_variation_params.py x: 13 lines of code y: 9 # changes src/openai/types/image_generate_params.py x: 28 lines of code y: 16 # changes src/openai/types/image_model.py x: 16 lines of code y: 10 # changes src/openai/types/shared/chat_model.py x: 93 lines of code y: 22 # changes src/openai/types/webhooks/__init__.py x: 58 lines of code y: 10 # changes src/openai/types/webhooks/unwrap_webhook_event.py x: 61 lines of code y: 10 # changes src/openai/types/webhooks/webhook_create_params.py x: 36 lines of code y: 2 # changes src/openai/types/webhooks/webhook_test_params.py x: 31 lines of code y: 2 # changes src/openai/resources/beta/assistants.py x: 610 lines of code y: 34 # changes src/openai/resources/beta/responses/input_tokens.py x: 160 lines of code y: 6 # changes src/openai/resources/beta/threads/runs/runs.py x: 1883 lines of code y: 62 # changes src/openai/resources/beta/threads/threads.py x: 1065 lines of code y: 54 # changes src/openai/resources/embeddings.py x: 125 lines of code y: 30 # changes src/openai/resources/moderations.py x: 109 lines of code y: 24 # changes src/openai/resources/realtime/calls.py x: 518 lines of code y: 16 # changes src/openai/resources/responses/input_tokens.py x: 151 lines of code y: 10 # changes scripts/castiron/custom_code_report.py x: 949 lines of code y: 3 # changes src/openai/lib/beta/agents/_files.py x: 237 lines of code y: 1 # changes src/openai/resources/beta/agents/environments/files.py x: 380 lines of code y: 2 # changes src/openai/resources/beta/agents/sessions/artifacts.py x: 353 lines of code y: 2 # changes src/openai/lib/beta/agents/_result.py x: 189 lines of code y: 1 # changes src/openai/resources/evals/runs/runs.py x: 420 lines of code y: 11 # changes src/openai/resources/beta/agents/sessions/__init__.py x: 169 lines of code y: 3 # changes src/openai/resources/beta/agents/sessions/events.py x: 173 lines of code y: 3 # changes src/openai/resources/beta/agents/sessions/traces.py x: 122 lines of code y: 1 # changes src/openai/resources/realtime/__init__.py x: 106 lines of code y: 5 # changes src/openai/resources/realtime/translations/client_secrets.py x: 112 lines of code y: 1 # changes src/openai/resources/realtime/translations/translations.py x: 56 lines of code y: 1 # changes src/openai/types/beta/agents/sessions/__init__.py x: 11 lines of code y: 2 # changes src/openai/types/beta/agents/vaults/credential.py x: 15 lines of code y: 4 # changes src/openai/types/beta/beta_response_output_text.py x: 54 lines of code y: 3 # changes src/openai/types/beta/beta_response_output_text_annotation_added_event.py x: 50 lines of code y: 5 # changes src/openai/types/beta/beta_response_output_text_param.py x: 52 lines of code y: 3 # changes src/openai/types/realtime/__init__.py x: 246 lines of code y: 8 # changes src/openai/types/realtime/realtime_translation_session.py x: 30 lines of code y: 1 # changes src/openai/types/realtime/translations/__init__.py x: 2 lines of code y: 2 # changes src/openai/types/responses/response_output_text.py x: 54 lines of code y: 7 # changes src/openai/types/responses/response_output_text_param.py x: 52 lines of code y: 7 # changes src/openai/lib/azure.py x: 710 lines of code y: 31 # changes src/openai/resources/beta/realtime/realtime.py x: 615 lines of code y: 16 # changes src/openai/_utils/_transform.py x: 259 lines of code y: 25 # changes src/openai/_utils/_typing.py x: 78 lines of code y: 10 # changes src/openai/_legacy_response.py x: 322 lines of code y: 19 # changes src/openai/_response.py x: 472 lines of code y: 24 # changes src/openai/types/beta/agent_session.py x: 106 lines of code y: 4 # changes src/openai/types/beta/agent_session_input_param.py x: 43 lines of code y: 3 # changes src/openai/types/beta/agent_session_item.py x: 126 lines of code y: 3 # changes src/openai/types/beta/agents/environments/environment_template.py x: 63 lines of code y: 2 # changes src/openai/types/beta/persisted_agent_tool.py x: 60 lines of code y: 3 # changes src/openai/types/beta/beta_response.py x: 283 lines of code y: 17 # changes src/openai/types/beta/beta_responses_client_event.py x: 236 lines of code y: 19 # changes src/openai/types/beta/response_compact_params.py x: 135 lines of code y: 14 # changes src/openai/types/beta/response_create_params.py x: 234 lines of code y: 18 # changes src/openai/types/responses/response_compact_params.py x: 133 lines of code y: 24 # changes src/openai/_httpx2.py x: 100 lines of code y: 4 # changes src/openai/lib/responses_websocket/_accumulator.py x: 379 lines of code y: 1 # changes src/openai/_send_queue.py x: 82 lines of code y: 4 # changes src/openai/lib/responses_websocket/__init__.py x: 14 lines of code y: 2 # changes src/openai/lib/live/_transcript_grouping.py x: 280 lines of code y: 2 # changes src/openai/resources/audio/transcriptions.py x: 446 lines of code y: 42 # changes src/openai/resources/beta/agents/vaults/credentials.py x: 437 lines of code y: 3 # changes src/openai/types/beta/agent.py x: 22 lines of code y: 2 # changes src/openai/types/beta/agents/vaults/credential_create_params.py x: 9 lines of code y: 3 # changes src/openai/_base_client.py x: 1822 lines of code y: 75 # changes src/openai/types/responses/response.py x: 175 lines of code y: 41 # changes src/openai/types/responses/response_create_params.py x: 110 lines of code y: 45 # changes src/openai/types/responses/responses_client_event.py x: 134 lines of code y: 19 # changes src/openai/types/beta/beta_web_search_tool.py x: 18 lines of code y: 5 # changes src/openai/types/responses/web_search_tool.py x: 18 lines of code y: 8 # changes src/openai/_utils/_utils.py x: 270 lines of code y: 24 # changes src/openai/lib/_parsing/_completions.py x: 227 lines of code y: 13 # changes src/openai/types/admin/organization/__init__.py x: 87 lines of code y: 9 # changes src/openai/types/admin/organization/audit_log_list_response.py x: 609 lines of code y: 11 # changes src/openai/helpers/local_audio_player.py x: 140 lines of code y: 4 # changes src/openai/helpers/microphone.py x: 80 lines of code y: 3 # changes src/openai/_vendor/httpx_aiohttp/transport.py x: 169 lines of code y: 2 # changes src/openai/types/shared/all_models.py x: 30 lines of code y: 11 # changes src/openai/types/shared/responses_model.py x: 30 lines of code y: 10 # changes src/openai/resources/admin/organization/__init__.py x: 316 lines of code y: 7 # changes src/openai/resources/admin/organization/organization.py x: 368 lines of code y: 6 # changes src/openai/resources/safety/__init__.py x: 85 lines of code y: 4 # changes scripts/check-python-version-policy.py x: 118 lines of code y: 5 # changes scripts/utils/validate-httpx2-wheel.py x: 101 lines of code y: 7 # changes src/openai/types/beta/beta_response_input_item.py x: 480 lines of code y: 10 # changes src/openai/types/beta/beta_response_input_item_param.py x: 464 lines of code y: 10 # changes src/openai/types/beta/beta_response_item.py x: 279 lines of code y: 8 # changes src/openai/types/beta/beta_response_output_item.py x: 275 lines of code y: 7 # changes src/openai/types/conversations/conversation_item.py x: 153 lines of code y: 14 # changes src/openai/types/responses/response_input_item.py x: 318 lines of code y: 21 # changes src/openai/types/responses/response_input_item_param.py x: 302 lines of code y: 26 # changes src/openai/types/responses/response_item.py x: 155 lines of code y: 15 # changes src/openai/types/responses/response_output_item.py x: 151 lines of code y: 16 # changes src/openai/resources/beta/beta.py x: 177 lines of code y: 22 # changes src/openai/resources/responses/input_items.py x: 126 lines of code y: 11 # changes src/openai/resources/safety/cases.py x: 93 lines of code y: 1 # changes src/openai/resources/admin/organization/audit_logs.py x: 449 lines of code y: 11 # changes src/openai/types/admin/organization/audit_log_list_params.py x: 173 lines of code y: 10 # changes src/openai/types/webhooks/realtime_call_incoming_webhook_event.py x: 17 lines of code y: 8 # changes src/openai/resources/conversations/conversations.py x: 310 lines of code y: 11 # changes src/openai/types/conversations/conversation_update_params.py x: 7 lines of code y: 4 # changes src/openai/lib/_parsing/_responses.py x: 160 lines of code y: 17 # changes src/openai/lib/_parsing/_audio.py x: 49 lines of code y: 2 # changes src/openai/lib/streaming/responses/_responses.py x: 323 lines of code y: 8 # changes src/openai/resources/admin/organization/groups/__init__.py x: 85 lines of code y: 3 # changes src/openai/resources/admin/organization/projects/__init__.py x: 307 lines of code y: 6 # changes src/openai/resources/beta/__init__.py x: 148 lines of code y: 12 # changes src/openai/resources/beta/agents/__init__.py x: 106 lines of code y: 2 # changes src/openai/resources/beta/threads/__init__.py x: 85 lines of code y: 7 # changes src/openai/resources/beta/threads/runs/__init__.py x: 64 lines of code y: 5 # changes src/openai/resources/chat/__init__.py x: 64 lines of code y: 7 # changes src/openai/resources/fine_tuning/__init__.py x: 106 lines of code y: 9 # changes src/openai/resources/live/__init__.py x: 82 lines of code y: 2 # changes src/openai/types/realtime/realtime_response_create_mcp_tool.py x: 50 lines of code y: 8 # changes src/openai/types/realtime/realtime_session_create_response.py x: 156 lines of code y: 19 # changes src/openai/types/realtime/realtime_tools_config_union_param.py x: 52 lines of code y: 10 # changes src/openai/resources/webhooks/event_types.py x: 86 lines of code y: 1 # changes src/openai/lib/responses_websocket/_session.py x: 493 lines of code y: 1 # changes src/openai/lib/streaming/chat/_completions.py x: 550 lines of code y: 15 # changes src/openai/types/beta/beta_response_stream_event.py x: 127 lines of code y: 4 # changes src/openai/types/responses/response_stream_event.py x: 127 lines of code y: 10 # changes src/openai/_exceptions.py x: 127 lines of code y: 13 # changes src/openai/_utils/_logs.py x: 41 lines of code y: 6 # changes src/openai/_streaming.py x: 348 lines of code y: 24 # changes src/openai/lib/streaming/_assistants.py x: 593 lines of code y: 8 # changes src/openai/lib/_vector_stores.py x: 143 lines of code y: 2 # changes src/openai/resources/vector_stores/files.py x: 654 lines of code y: 13 # changes src/openai/pagination.py x: 223 lines of code y: 10 # changes src/openai/resources/beta/agents/environments/environments.py x: 147 lines of code y: 1 # changes src/openai/resources/beta/agents/vaults/vaults.py x: 335 lines of code y: 1 # changes src/openai/resources/live/sessions.py x: 429 lines of code y: 1 # changes src/openai/lib/live/_listeners.py x: 77 lines of code y: 1 # changes src/openai/types/live/initial_item.py x: 49 lines of code y: 1 # changes src/openai/types/live/initial_item_param.py x: 46 lines of code y: 1 # changes src/openai/_models.py x: 628 lines of code y: 51 # changes src/openai/resources/admin/organization/projects/projects.py x: 698 lines of code y: 10 # changes src/openai/resources/admin/organization/projects/service_accounts/service_accounts.py x: 455 lines of code y: 4 # changes src/openai/resources/audio/translations.py x: 223 lines of code y: 30 # changes src/openai/resources/batches.py x: 322 lines of code y: 23 # changes src/openai/resources/beta/threads/runs/steps.py x: 243 lines of code y: 25 # changes src/openai/resources/conversations/items.py x: 335 lines of code y: 9 # changes src/openai/resources/evals/evals.py x: 412 lines of code y: 11 # changes src/openai/resources/files.py x: 470 lines of code y: 45 # changes src/openai/resources/fine_tuning/alpha/graders.py x: 165 lines of code y: 8 # changes src/openai/resources/fine_tuning/checkpoints/permissions.py x: 392 lines of code y: 13 # changes src/openai/resources/realtime/client_secrets.py x: 106 lines of code y: 8 # changes src/openai/resources/uploads/parts.py x: 108 lines of code y: 12 # changes src/openai/resources/uploads/uploads.py x: 433 lines of code y: 19 # changes src/openai/resources/vector_stores/file_batches.py x: 549 lines of code y: 14 # changes src/openai/resources/vector_stores/vector_stores.py x: 557 lines of code y: 11 # changes src/openai/types/audio/transcription_create_params.py x: 39 lines of code y: 18 # changes src/openai/types/batch.py x: 36 lines of code y: 9 # changes src/openai/types/beta/assistant.py x: 28 lines of code y: 18 # changes src/openai/types/beta/assistant_create_params.py x: 55 lines of code y: 33 # changes src/openai/types/beta/assistant_update_params.py x: 74 lines of code y: 29 # changes src/openai/types/beta/beta_custom_tool_param.py x: 25 lines of code y: 4 # changes src/openai/types/beta/beta_file_search_tool.py x: 39 lines of code y: 3 # changes src/openai/types/beta/beta_response_function_web_search.py x: 37 lines of code y: 4 # changes src/openai/types/beta/responses/input_token_count_params.py x: 61 lines of code y: 4 # changes src/openai/types/beta/thread.py x: 18 lines of code y: 10 # changes src/openai/types/beta/thread_create_and_run_params.py x: 103 lines of code y: 35 # changes src/openai/types/beta/thread_create_params.py x: 60 lines of code y: 19 # changes src/openai/types/beta/threads/message.py x: 36 lines of code y: 12 # changes src/openai/types/beta/threads/run.py x: 63 lines of code y: 26 # changes src/openai/types/beta/threads/run_create_params.py x: 59 lines of code y: 40 # changes src/openai/types/beta/threads/runs/code_interpreter_tool_call.py x: 30 lines of code y: 6 # changes src/openai/types/beta/threads/runs/run_step.py x: 35 lines of code y: 14 # changes src/openai/types/chat/chat_completion.py x: 80 lines of code y: 20 # changes src/openai/types/chat/chat_completion_assistant_message_param.py x: 21 lines of code y: 14 # changes src/openai/types/chat/chat_completion_content_part_param.py x: 23 lines of code y: 12 # changes src/openai/types/chat/chat_completion_message.py x: 25 lines of code y: 10 # changes src/openai/types/embedding_create_params.py x: 12 lines of code y: 12 # changes src/openai/types/evals/create_eval_completions_run_data_source.py x: 95 lines of code y: 20 # changes src/openai/types/evals/create_eval_completions_run_data_source_param.py x: 90 lines of code y: 20 # changes src/openai/types/evals/run_cancel_response.py x: 151 lines of code y: 18 # changes src/openai/types/evals/run_create_params.py x: 125 lines of code y: 18 # changes src/openai/types/fine_tuning/fine_tuning_job.py x: 42 lines of code y: 13 # changes src/openai/types/fine_tuning/job_create_params.py x: 36 lines of code y: 16 # changes src/openai/types/moderation_create_params.py x: 10 lines of code y: 8 # changes src/openai/types/realtime/call_accept_params.py x: 49 lines of code y: 11 # changes src/openai/types/realtime/realtime_server_event.py x: 123 lines of code y: 6 # changes src/openai/types/realtime/realtime_session_create_request.py x: 50 lines of code y: 15 # changes src/openai/types/responses/computer_tool.py x: 5 lines of code y: 6 # changes src/openai/types/responses/custom_tool_param.py x: 19 lines of code y: 7 # changes src/openai/types/responses/response_computer_tool_call_param.py x: 83 lines of code y: 8 # changes src/openai/types/responses/response_function_tool_call_param.py x: 26 lines of code y: 8 # changes src/openai/types/shared/reasoning.py x: 11 lines of code y: 16 # changes src/openai/types/shared/response_format_text_python.py x: 5 lines of code y: 4 # changes src/openai/types/shared_params/function_definition.py x: 10 lines of code y: 9 # changes src/openai/types/images_response.py x: 25 lines of code y: 9 # changes src/openai/resources/admin/organization/projects/service_accounts/api_keys.py x: 131 lines of code y: 4 # changes src/openai/types/beta/beta_namespace_tool_param.py x: 27 lines of code y: 3 # changes src/openai/types/eval_create_response.py x: 54 lines of code y: 9 # changes src/openai/types/completion_usage.py x: 21 lines of code y: 15 # changes src/openai/auth/_x509.py x: 578 lines of code y: 2 # changes scripts/check-dependency-security.py x: 2321 lines of code y: 1 # changes src/openai/resources/beta/threads/messages.py x: 465 lines of code y: 19 # changes src/openai/resources/fine_tuning/jobs/checkpoints.py x: 115 lines of code y: 11 # changes src/openai/resources/models.py x: 203 lines of code y: 19 # changes src/openai/lib/bedrock.py x: 810 lines of code y: 6 # changes src/openai/lib/_bedrock_auth.py x: 159 lines of code y: 2 # changes src/openai/providers/bedrock.py x: 421 lines of code y: 4 # changes src/openai/resources/videos.py x: 977 lines of code y: 14 # changes src/openai/_constants.py x: 9 lines of code y: 10 # changes src/openai/_event_handler.py x: 68 lines of code y: 2 # changes src/openai/resources/beta/realtime/sessions.py x: 180 lines of code y: 13 # changes src/openai/resources/beta/realtime/transcription_sessions.py x: 124 lines of code y: 5 # changes src/openai/types/beta/realtime/__init__.py x: 93 lines of code y: 4 # changes src/openai/types/beta/realtime/session_create_params.py x: 69 lines of code y: 13 # changes src/openai/types/beta/realtime/session_update_event.py x: 76 lines of code y: 13 # changes src/openai/types/beta/realtime/transcription_session_create_params.py x: 38 lines of code y: 5 # changes src/openai/types/responses/parsed_response.py x: 101 lines of code y: 12 # changes src/openai/_types.py x: 152 lines of code y: 24 # changes src/openai/resources/admin/organization/admin_api_keys.py x: 297 lines of code y: 5 # changes src/openai/resources/admin/organization/certificates.py x: 496 lines of code y: 4 # changes src/openai/resources/admin/organization/groups/groups.py x: 394 lines of code y: 5 # changes src/openai/resources/admin/organization/groups/roles.py x: 307 lines of code y: 5 # changes src/openai/resources/admin/organization/invites.py x: 296 lines of code y: 4 # changes src/openai/resources/admin/organization/projects/api_keys.py x: 261 lines of code y: 5 # changes src/openai/resources/admin/organization/projects/certificates.py x: 262 lines of code y: 4 # changes src/openai/resources/admin/organization/projects/groups/groups.py x: 359 lines of code y: 5 # changes src/openai/resources/admin/organization/projects/groups/roles.py x: 351 lines of code y: 5 # changes src/openai/resources/admin/organization/projects/hosted_tool_permissions.py x: 181 lines of code y: 3 # changes src/openai/resources/admin/organization/projects/model_permissions.py x: 226 lines of code y: 3 # changes src/openai/resources/admin/organization/projects/roles.py x: 408 lines of code y: 5 # changes src/openai/resources/admin/organization/projects/spend_alerts.py x: 435 lines of code y: 4 # changes src/openai/resources/admin/organization/roles.py x: 378 lines of code y: 5 # changes src/openai/resources/admin/organization/spend_alerts.py x: 389 lines of code y: 4 # changes src/openai/resources/admin/organization/spend_limit.py x: 212 lines of code y: 3 # changes src/openai/resources/admin/organization/users/users.py x: 335 lines of code y: 4 # changes src/openai/resources/beta/chatkit/sessions.py x: 188 lines of code y: 6 # changes src/openai/resources/beta/chatkit/threads.py x: 329 lines of code y: 6 # changes src/openai/resources/chat/completions/messages.py x: 120 lines of code y: 8 # changes src/openai/resources/containers/containers.py x: 345 lines of code y: 9 # changes src/openai/resources/containers/files/content.py x: 111 lines of code y: 7 # changes src/openai/resources/containers/files/files.py x: 360 lines of code y: 9 # changes src/openai/resources/evals/runs/output_items.py x: 209 lines of code y: 7 # changes src/openai/resources/skills/skills.py x: 417 lines of code y: 7 # changes src/openai/resources/chat/chat.py x: 56 lines of code y: 12 # changes src/openai/resources/fine_tuning/fine_tuning.py x: 108 lines of code y: 13 # changes src/openai/types/audio/speech_model.py x: 3 lines of code y: 5 # changes src/openai/types/audio/transcription.py x: 28 lines of code y: 13 # changes src/openai/types/audio/translation.py x: 4 lines of code y: 8 # changes src/openai/types/beta/chatkit/chatkit_thread_user_message_item.py x: 34 lines of code y: 3 # changes src/openai/types/beta/threads/__init__.py x: 43 lines of code y: 10 # changes src/openai/types/chat/__init__.py x: 99 lines of code y: 17 # changes src/openai/types/chat_model.py x: 3 lines of code y: 16 # changes src/openai/types/eval_create_params.py x: 91 lines of code y: 11 # changes src/openai/types/file_create_params.py x: 12 lines of code y: 11 # changes src/openai/_utils/__init__.py x: 67 lines of code y: 19 # changes src/openai/lib/_pydantic.py x: 99 lines of code y: 8 # changes scripts/utils/ruffen-docs.py x: 135 lines of code y: 2 # changes
300.0
# changes
  min: 1.0
  average: 4.65
  25th percentile: 2.0
  median: 3.0
  75th percentile: 5.0
  max: 300.0
0 3272.0
lines of code
min: 1.0 | average: 57.13 | 25th percentile: 8.0 | median: 12.0 | 75th percentile: 27.0 | max: 3272.0

Number of Contributors vs. Number of Changes: 1945 points

src/openai/_version.py x: 8 # contributors y: 300 # changes .castiron.stats.yml x: 5 # contributors y: 35 # changes src/openai/__init__.py x: 10 # contributors y: 47 # changes src/openai/_client.py x: 12 # contributors y: 53 # changes src/openai/_module_client.py x: 6 # contributors y: 20 # changes src/openai/resources/__init__.py x: 7 # contributors y: 20 # changes src/openai/resources/decisions.py x: 1 # contributors y: 1 # changes src/openai/types/__init__.py x: 8 # contributors y: 39 # changes src/openai/types/beta/__init__.py x: 9 # contributors y: 25 # changes src/openai/types/beta/beta_response_tool_search_output_item_param.py x: 3 # contributors y: 3 # changes src/openai/types/responses/__init__.py x: 5 # contributors y: 29 # changes scripts/detect-breaking-changes.py x: 2 # contributors y: 2 # changes src/openai/resources/admin/organization/usage.py x: 3 # contributors y: 7 # changes src/openai/resources/beta/agents/environments/templates.py x: 4 # contributors y: 5 # changes src/openai/resources/beta/agents/sessions/sessions.py x: 4 # contributors y: 8 # changes src/openai/resources/beta/responses/responses.py x: 6 # contributors y: 29 # changes src/openai/resources/chat/completions/completions.py x: 9 # contributors y: 47 # changes src/openai/resources/completions.py x: 8 # contributors y: 34 # changes src/openai/resources/fine_tuning/jobs/jobs.py x: 6 # contributors y: 23 # changes src/openai/resources/images.py x: 10 # contributors y: 44 # changes src/openai/resources/realtime/realtime.py x: 8 # contributors y: 26 # changes src/openai/resources/responses/responses.py x: 12 # contributors y: 84 # changes src/openai/types/admin/organization/usage_audio_speeches_response.py x: 4 # contributors y: 9 # changes src/openai/types/admin/organization/usage_costs_params.py x: 3 # contributors y: 5 # changes src/openai/types/admin/organization/usage_file_search_calls_response.py x: 4 # contributors y: 6 # changes src/openai/types/beta/beta_responses_server_event.py x: 5 # contributors y: 8 # changes src/openai/types/beta/beta_tool.py x: 6 # contributors y: 9 # changes src/openai/types/beta/environment_param.py x: 5 # contributors y: 7 # changes src/openai/types/chat/chat_completion_chunk.py x: 6 # contributors y: 24 # changes src/openai/types/chat/completion_create_params.py x: 9 # contributors y: 71 # changes src/openai/types/completion_create_params.py x: 7 # contributors y: 15 # changes src/openai/types/fine_tuning/job_list_params.py x: 5 # contributors y: 5 # changes src/openai/types/graders/score_model_grader.py x: 3 # contributors y: 15 # changes src/openai/types/image_edit_params.py x: 9 # contributors y: 24 # changes src/openai/types/responses/tool.py x: 7 # contributors y: 35 # changes src/openai/types/responses/tool_param.py x: 7 # contributors y: 36 # changes src/openai/lib/beta/agents/_output.py x: 1 # contributors y: 2 # changes src/openai/lib/streaming/agents/_streams.py x: 1 # contributors y: 3 # changes src/openai/lib/_tools.py x: 3 # contributors y: 4 # changes scripts/castiron/custom_code_budget.py x: 2 # contributors y: 3 # changes src/openai/resources/audio/__init__.py x: 6 # contributors y: 8 # changes src/openai/resources/audio/audio.py x: 6 # contributors y: 12 # changes src/openai/types/audio/__init__.py x: 7 # contributors y: 11 # changes src/openai/types/audio/speech_create_params.py x: 6 # contributors y: 21 # changes src/openai/types/beta/agent_create_params.py x: 2 # contributors y: 4 # changes src/openai/types/chat/chat_completion_audio_param.py x: 5 # contributors y: 14 # changes src/openai/types/image.py x: 6 # contributors y: 7 # changes src/openai/types/image_create_variation_params.py x: 7 # contributors y: 9 # changes src/openai/types/image_generate_params.py x: 8 # contributors y: 16 # changes src/openai/types/image_model.py x: 5 # contributors y: 10 # changes src/openai/types/shared/chat_model.py x: 6 # contributors y: 22 # changes src/openai/types/webhooks/__init__.py x: 4 # contributors y: 10 # changes src/openai/resources/beta/assistants.py x: 6 # contributors y: 34 # changes src/openai/resources/beta/threads/runs/runs.py x: 6 # contributors y: 62 # changes src/openai/resources/beta/threads/threads.py x: 6 # contributors y: 54 # changes src/openai/resources/embeddings.py x: 9 # contributors y: 30 # changes src/openai/resources/moderations.py x: 7 # contributors y: 24 # changes src/openai/resources/realtime/calls.py x: 3 # contributors y: 16 # changes src/openai/resources/responses/input_tokens.py x: 3 # contributors y: 10 # changes src/openai/types/chat/chat_completion_content_part_image_param.py x: 6 # contributors y: 10 # changes src/openai/resources/evals/runs/runs.py x: 3 # contributors y: 11 # changes src/openai/types/realtime/__init__.py x: 2 # contributors y: 8 # changes src/openai/lib/azure.py x: 17 # contributors y: 31 # changes src/openai/resources/beta/realtime/realtime.py x: 5 # contributors y: 16 # changes src/openai/_utils/_transform.py x: 7 # contributors y: 25 # changes src/openai/types/beta/beta_response.py x: 5 # contributors y: 17 # changes src/openai/types/beta/beta_responses_client_event.py x: 5 # contributors y: 19 # changes src/openai/types/beta/response_create_params.py x: 5 # contributors y: 18 # changes src/openai/resources/audio/transcriptions.py x: 10 # contributors y: 42 # changes src/openai/_base_client.py x: 17 # contributors y: 75 # changes src/openai/types/responses/response.py x: 6 # contributors y: 41 # changes src/openai/types/responses/response_create_params.py x: 5 # contributors y: 45 # changes src/openai/types/responses/responses_client_event.py x: 4 # contributors y: 19 # changes src/openai/_utils/_utils.py x: 8 # contributors y: 24 # changes src/openai/lib/_parsing/_completions.py x: 6 # contributors y: 13 # changes src/openai/types/admin/organization/__init__.py x: 3 # contributors y: 9 # changes src/openai/helpers/local_audio_player.py x: 4 # contributors y: 4 # changes src/openai/types/conversations/conversation_item.py x: 4 # contributors y: 14 # changes src/openai/types/responses/response_input_item.py x: 4 # contributors y: 21 # changes src/openai/types/responses/response_input_item_param.py x: 5 # contributors y: 26 # changes src/openai/types/responses/response_item.py x: 4 # contributors y: 15 # changes src/openai/resources/responses/input_items.py x: 4 # contributors y: 11 # changes src/openai/types/beta/agents/vaults/credential_auth.py x: 3 # contributors y: 2 # changes src/openai/lib/_parsing/_responses.py x: 7 # contributors y: 17 # changes src/openai/resources/beta/__init__.py x: 5 # contributors y: 12 # changes src/openai/resources/fine_tuning/__init__.py x: 5 # contributors y: 9 # changes src/openai/types/realtime/realtime_response_create_mcp_tool.py x: 3 # contributors y: 8 # changes src/openai/types/realtime/realtime_session_create_response.py x: 3 # contributors y: 19 # changes src/openai/lib/streaming/chat/_completions.py x: 11 # contributors y: 15 # changes src/openai/_exceptions.py x: 9 # contributors y: 13 # changes src/openai/lib/streaming/_assistants.py x: 8 # contributors y: 8 # changes src/openai/_models.py x: 9 # contributors y: 51 # changes src/openai/resources/admin/organization/projects/projects.py x: 2 # contributors y: 10 # changes src/openai/resources/audio/translations.py x: 7 # contributors y: 30 # changes src/openai/resources/batches.py x: 3 # contributors y: 23 # changes src/openai/resources/beta/threads/runs/steps.py x: 5 # contributors y: 25 # changes src/openai/resources/conversations/items.py x: 2 # contributors y: 9 # changes src/openai/resources/evals/evals.py x: 2 # contributors y: 11 # changes src/openai/resources/files.py x: 6 # contributors y: 45 # changes src/openai/resources/fine_tuning/checkpoints/permissions.py x: 2 # contributors y: 13 # changes src/openai/resources/uploads/parts.py x: 2 # contributors y: 12 # changes src/openai/resources/vector_stores/file_batches.py x: 3 # contributors y: 14 # changes src/openai/types/admin/organization/project_create_params.py x: 2 # contributors y: 5 # changes src/openai/types/audio/transcription_create_params.py x: 7 # contributors y: 18 # changes src/openai/types/audio/transcription_text_delta_event.py x: 2 # contributors y: 6 # changes src/openai/types/audio/translation_create_params.py x: 7 # contributors y: 10 # changes src/openai/types/beta/assistant_create_params.py x: 5 # contributors y: 33 # changes src/openai/types/beta/threads/message.py x: 3 # contributors y: 12 # changes src/openai/types/beta/threads/run_create_params.py x: 5 # contributors y: 40 # changes src/openai/types/chat/chat_completion_content_part_param.py x: 4 # contributors y: 12 # changes src/openai/types/evals/create_eval_completions_run_data_source.py x: 2 # contributors y: 20 # changes src/openai/types/evals/run_cancel_response.py x: 2 # contributors y: 18 # changes src/openai/types/fine_tuning/job_create_params.py x: 6 # contributors y: 16 # changes src/openai/types/realtime/realtime_session_create_request.py x: 2 # contributors y: 15 # changes src/openai/types/completion_usage.py x: 6 # contributors y: 15 # changes src/openai/types/chat/__init__.py x: 6 # contributors y: 17 # changes src/openai/types/completion.py x: 5 # contributors y: 4 # changes src/openai/types/file_create_params.py x: 5 # contributors y: 11 # changes src/openai/types/file_deleted.py x: 4 # contributors y: 3 # changes
300.0
# changes
  min: 1.0
  average: 4.65
  25th percentile: 2.0
  median: 3.0
  75th percentile: 5.0
  max: 300.0
0 17.0
# contributors
min: 1.0 | average: 2.35 | 25th percentile: 2.0 | median: 2.0 | 75th percentile: 3.0 | max: 17.0

Number of Contributors vs. File Size: 1945 points

src/openai/_version.py x: 8 # contributors y: 2 lines of code .castiron.stats.yml x: 5 # contributors y: 8 lines of code src/openai/__init__.py x: 10 # contributors y: 378 lines of code src/openai/_client.py x: 12 # contributors y: 1742 lines of code src/openai/_module_client.py x: 6 # contributors y: 162 lines of code src/openai/resources/__init__.py x: 7 # contributors y: 475 lines of code src/openai/resources/decisions.py x: 1 # contributors y: 116 lines of code src/openai/types/__init__.py x: 8 # contributors y: 143 lines of code src/openai/types/beta/__init__.py x: 9 # contributors y: 594 lines of code src/openai/types/beta/beta_response_tool_search_output_item_param.py x: 3 # contributors y: 154 lines of code src/openai/types/beta/beta_tool_search_output_namespace_tool.py x: 1 # contributors y: 23 lines of code src/openai/types/beta/beta_tool_search_output_namespace_tool_param.py x: 1 # contributors y: 27 lines of code src/openai/types/decision.py x: 1 # contributors y: 68 lines of code src/openai/types/decision_create_params.py x: 1 # contributors y: 39 lines of code src/openai/types/decision_input_image_param.py x: 1 # contributors y: 8 lines of code src/openai/types/responses/__init__.py x: 5 # contributors y: 370 lines of code scripts/detect-breaking-changes.py x: 2 # contributors y: 59 lines of code src/openai/resources/admin/organization/usage.py x: 3 # contributors y: 1154 lines of code src/openai/resources/beta/agents/environments/templates.py x: 4 # contributors y: 478 lines of code src/openai/resources/beta/agents/sessions/sessions.py x: 4 # contributors y: 758 lines of code src/openai/resources/beta/agents/sessions/turns/__init__.py x: 1 # contributors y: 64 lines of code src/openai/resources/beta/agents/sessions/turns/items.py x: 1 # contributors y: 133 lines of code src/openai/resources/beta/agents/sessions/turns/turns.py x: 1 # contributors y: 212 lines of code src/openai/resources/beta/responses/responses.py x: 6 # contributors y: 3272 lines of code src/openai/resources/chat/completions/completions.py x: 9 # contributors y: 1284 lines of code src/openai/resources/completions.py x: 8 # contributors y: 352 lines of code src/openai/resources/fine_tuning/jobs/jobs.py x: 6 # contributors y: 539 lines of code src/openai/resources/images.py x: 10 # contributors y: 756 lines of code src/openai/resources/live/forks.py x: 4 # contributors y: 962 lines of code src/openai/resources/live/live.py x: 4 # contributors y: 1075 lines of code src/openai/resources/realtime/realtime.py x: 8 # contributors y: 1109 lines of code src/openai/resources/responses/responses.py x: 12 # contributors y: 2836 lines of code src/openai/types/admin/organization/usage_audio_speeches_response.py x: 4 # contributors y: 153 lines of code src/openai/types/admin/organization/usage_completions_params.py x: 3 # contributors y: 17 lines of code src/openai/types/beta/agents/environments/template_create_params.py x: 4 # contributors y: 30 lines of code src/openai/types/beta/beta_response_error.py x: 3 # contributors y: 46 lines of code src/openai/types/beta/beta_responses_server_event.py x: 5 # contributors y: 350 lines of code src/openai/types/beta/beta_tool.py x: 6 # contributors y: 142 lines of code src/openai/types/beta/beta_tool_param.py x: 6 # contributors y: 136 lines of code src/openai/types/beta/environment_param.py x: 5 # contributors y: 47 lines of code src/openai/types/chat/chat_completion_chunk.py x: 6 # contributors y: 106 lines of code src/openai/types/chat/completion_create_params.py x: 9 # contributors y: 106 lines of code src/openai/types/completion_create_params.py x: 7 # contributors y: 29 lines of code src/openai/types/image_edit_params.py x: 9 # contributors y: 26 lines of code src/openai/types/realtime/session_update_event.py x: 3 # contributors y: 11 lines of code src/openai/types/responses/response_error.py x: 4 # contributors y: 46 lines of code src/openai/types/responses/responses_server_event.py x: 5 # contributors y: 342 lines of code src/openai/types/responses/tool.py x: 7 # contributors y: 146 lines of code src/openai/types/shared/error_object.py x: 3 # contributors y: 26 lines of code src/openai/types/video_create_error.py x: 4 # contributors y: 25 lines of code src/openai/lib/beta/agents/_stream.py x: 1 # contributors y: 86 lines of code src/openai/lib/streaming/agents/_streams.py x: 1 # contributors y: 286 lines of code src/openai/lib/_tools.py x: 3 # contributors y: 57 lines of code src/openai/lib/beta/agents/_tools.py x: 1 # contributors y: 265 lines of code scripts/castiron/custom_code_budget.py x: 2 # contributors y: 376 lines of code src/openai/resources/audio/__init__.py x: 6 # contributors y: 127 lines of code src/openai/resources/audio/speech.py x: 7 # contributors y: 137 lines of code src/openai/resources/audio/voices.py x: 1 # contributors y: 197 lines of code src/openai/resources/beta/agents/agents.py x: 3 # contributors y: 518 lines of code src/openai/resources/webhooks/webhooks.py x: 4 # contributors y: 788 lines of code src/openai/types/audio/__init__.py x: 7 # contributors y: 23 lines of code src/openai/types/audio/speech_create_params.py x: 6 # contributors y: 22 lines of code src/openai/types/beta/agent_create_params.py x: 2 # contributors y: 18 lines of code src/openai/types/beta/agents/session_create_params.py x: 2 # contributors y: 31 lines of code src/openai/types/image.py x: 6 # contributors y: 7 lines of code src/openai/types/image_generate_params.py x: 8 # contributors y: 28 lines of code src/openai/types/image_model.py x: 5 # contributors y: 16 lines of code src/openai/types/shared/chat_model.py x: 6 # contributors y: 93 lines of code src/openai/types/webhooks/__init__.py x: 4 # contributors y: 58 lines of code src/openai/resources/beta/assistants.py x: 6 # contributors y: 610 lines of code src/openai/resources/beta/responses/input_tokens.py x: 3 # contributors y: 160 lines of code src/openai/resources/beta/threads/runs/runs.py x: 6 # contributors y: 1883 lines of code src/openai/resources/beta/threads/threads.py x: 6 # contributors y: 1065 lines of code src/openai/resources/embeddings.py x: 9 # contributors y: 125 lines of code src/openai/resources/moderations.py x: 7 # contributors y: 109 lines of code scripts/castiron/custom_code_report.py x: 2 # contributors y: 949 lines of code src/openai/lib/beta/agents/_files.py x: 1 # contributors y: 237 lines of code src/openai/resources/beta/agents/environments/files.py x: 1 # contributors y: 380 lines of code src/openai/resources/beta/agents/sessions/artifacts.py x: 1 # contributors y: 353 lines of code src/openai/lib/beta/agents/_result.py x: 1 # contributors y: 189 lines of code src/openai/resources/evals/runs/runs.py x: 3 # contributors y: 420 lines of code src/openai/resources/beta/agents/sessions/__init__.py x: 2 # contributors y: 169 lines of code src/openai/resources/realtime/__init__.py x: 3 # contributors y: 106 lines of code src/openai/resources/realtime/translations/client_secrets.py x: 1 # contributors y: 112 lines of code src/openai/types/beta/environment.py x: 2 # contributors y: 48 lines of code src/openai/types/realtime/__init__.py x: 2 # contributors y: 246 lines of code src/openai/types/realtime/translations/__init__.py x: 2 # contributors y: 2 lines of code src/openai/lib/azure.py x: 17 # contributors y: 710 lines of code src/openai/resources/beta/realtime/realtime.py x: 5 # contributors y: 615 lines of code src/openai/_utils/_transform.py x: 7 # contributors y: 259 lines of code src/openai/_utils/_typing.py x: 3 # contributors y: 78 lines of code src/openai/_legacy_response.py x: 6 # contributors y: 322 lines of code src/openai/_response.py x: 9 # contributors y: 472 lines of code src/openai/types/beta/agent_output_item.py x: 2 # contributors y: 76 lines of code src/openai/types/beta/agent_session_item.py x: 3 # contributors y: 126 lines of code src/openai/types/beta/beta_response.py x: 5 # contributors y: 283 lines of code src/openai/types/beta/beta_responses_client_event.py x: 5 # contributors y: 236 lines of code src/openai/types/beta/response_compact_params.py x: 5 # contributors y: 135 lines of code src/openai/_httpx2.py x: 3 # contributors y: 100 lines of code src/openai/lib/live/_transcript_grouping.py x: 2 # contributors y: 280 lines of code src/openai/resources/audio/transcriptions.py x: 10 # contributors y: 446 lines of code src/openai/resources/beta/agents/vaults/credentials.py x: 3 # contributors y: 437 lines of code src/openai/_base_client.py x: 17 # contributors y: 1822 lines of code src/openai/types/responses/response.py x: 6 # contributors y: 175 lines of code src/openai/types/responses/response_create_params.py x: 5 # contributors y: 110 lines of code src/openai/types/responses/responses_client_event.py x: 4 # contributors y: 134 lines of code src/openai/_utils/_utils.py x: 8 # contributors y: 270 lines of code src/openai/lib/_parsing/_completions.py x: 6 # contributors y: 227 lines of code src/openai/types/admin/organization/audit_log_list_response.py x: 3 # contributors y: 609 lines of code src/openai/resources/admin/organization/__init__.py x: 4 # contributors y: 316 lines of code src/openai/resources/admin/organization/organization.py x: 4 # contributors y: 368 lines of code src/openai/types/beta/beta_response_input_item_param.py x: 4 # contributors y: 464 lines of code src/openai/types/beta/beta_response_item.py x: 4 # contributors y: 279 lines of code src/openai/types/responses/response_input_item_param.py x: 5 # contributors y: 302 lines of code src/openai/types/responses/response_item.py x: 4 # contributors y: 155 lines of code src/openai/types/responses/response_output_item.py x: 5 # contributors y: 151 lines of code src/openai/resources/beta/responses/input_items.py x: 3 # contributors y: 136 lines of code src/openai/resources/responses/input_items.py x: 4 # contributors y: 126 lines of code src/openai/resources/safety/cases.py x: 1 # contributors y: 93 lines of code src/openai/resources/admin/organization/audit_logs.py x: 3 # contributors y: 449 lines of code src/openai/types/admin/organization/audit_log_list_params.py x: 3 # contributors y: 173 lines of code src/openai/resources/conversations/conversations.py x: 3 # contributors y: 310 lines of code src/openai/lib/_parsing/_responses.py x: 7 # contributors y: 160 lines of code src/openai/lib/streaming/responses/_responses.py x: 6 # contributors y: 323 lines of code src/openai/resources/admin/organization/projects/__init__.py x: 3 # contributors y: 307 lines of code src/openai/resources/beta/agents/__init__.py x: 2 # contributors y: 106 lines of code src/openai/resources/beta/agents/environments/__init__.py x: 2 # contributors y: 85 lines of code src/openai/resources/beta/threads/__init__.py x: 4 # contributors y: 85 lines of code src/openai/lib/responses_websocket/_session.py x: 1 # contributors y: 493 lines of code src/openai/lib/streaming/chat/_completions.py x: 11 # contributors y: 550 lines of code src/openai/_streaming.py x: 7 # contributors y: 348 lines of code src/openai/lib/streaming/_assistants.py x: 8 # contributors y: 593 lines of code src/openai/lib/_vector_stores.py x: 2 # contributors y: 143 lines of code src/openai/resources/vector_stores/files.py x: 4 # contributors y: 654 lines of code src/openai/pagination.py x: 5 # contributors y: 223 lines of code src/openai/resources/beta/agents/environments/environments.py x: 1 # contributors y: 147 lines of code src/openai/resources/beta/agents/vaults/vaults.py x: 1 # contributors y: 335 lines of code src/openai/resources/live/sessions.py x: 1 # contributors y: 429 lines of code src/openai/_models.py x: 9 # contributors y: 628 lines of code src/openai/resources/admin/organization/projects/projects.py x: 2 # contributors y: 698 lines of code src/openai/resources/admin/organization/projects/service_accounts/service_accounts.py x: 2 # contributors y: 455 lines of code src/openai/resources/audio/translations.py x: 7 # contributors y: 223 lines of code src/openai/resources/conversations/items.py x: 2 # contributors y: 335 lines of code src/openai/resources/evals/evals.py x: 2 # contributors y: 412 lines of code src/openai/resources/files.py x: 6 # contributors y: 470 lines of code src/openai/resources/fine_tuning/alpha/graders.py x: 2 # contributors y: 165 lines of code src/openai/resources/fine_tuning/checkpoints/permissions.py x: 2 # contributors y: 392 lines of code src/openai/resources/uploads/uploads.py x: 5 # contributors y: 433 lines of code src/openai/resources/vector_stores/file_batches.py x: 3 # contributors y: 549 lines of code src/openai/resources/vector_stores/vector_stores.py x: 3 # contributors y: 557 lines of code src/openai/types/audio/transcription_create_params.py x: 7 # contributors y: 39 lines of code src/openai/types/audio/translation_create_params.py x: 7 # contributors y: 12 lines of code src/openai/types/beta/assistant.py x: 5 # contributors y: 28 lines of code src/openai/types/beta/assistant_create_params.py x: 5 # contributors y: 55 lines of code src/openai/types/beta/assistant_update_params.py x: 6 # contributors y: 74 lines of code src/openai/types/beta/thread_create_and_run_params.py x: 5 # contributors y: 103 lines of code src/openai/types/beta/threads/required_action_function_tool_call.py x: 4 # contributors y: 10 lines of code src/openai/types/chat/chat_completion.py x: 6 # contributors y: 80 lines of code src/openai/types/evals/create_eval_completions_run_data_source.py x: 2 # contributors y: 95 lines of code src/openai/types/evals/run_create_params.py x: 2 # contributors y: 125 lines of code src/openai/types/fine_tuning/job_create_params.py x: 6 # contributors y: 36 lines of code src/openai/auth/_x509.py x: 1 # contributors y: 578 lines of code scripts/check-dependency-security.py x: 1 # contributors y: 2321 lines of code src/openai/resources/models.py x: 5 # contributors y: 203 lines of code src/openai/lib/bedrock.py x: 4 # contributors y: 810 lines of code src/openai/auth/_workload.py x: 6 # contributors y: 278 lines of code src/openai/lib/_bedrock_auth.py x: 1 # contributors y: 159 lines of code src/openai/providers/bedrock.py x: 2 # contributors y: 421 lines of code src/openai/resources/videos.py x: 2 # contributors y: 977 lines of code src/openai/types/beta/realtime/session_create_params.py x: 3 # contributors y: 69 lines of code src/openai/resources/admin/organization/admin_api_keys.py x: 2 # contributors y: 297 lines of code src/openai/resources/admin/organization/certificates.py x: 2 # contributors y: 496 lines of code src/openai/resources/admin/organization/invites.py x: 2 # contributors y: 296 lines of code src/openai/resources/admin/organization/projects/api_keys.py x: 2 # contributors y: 261 lines of code src/openai/resources/admin/organization/projects/groups/groups.py x: 2 # contributors y: 359 lines of code src/openai/resources/admin/organization/projects/hosted_tool_permissions.py x: 2 # contributors y: 181 lines of code src/openai/resources/admin/organization/projects/model_permissions.py x: 2 # contributors y: 226 lines of code src/openai/resources/admin/organization/projects/spend_alerts.py x: 2 # contributors y: 435 lines of code src/openai/resources/admin/organization/spend_limit.py x: 2 # contributors y: 212 lines of code src/openai/resources/beta/chatkit/threads.py x: 2 # contributors y: 329 lines of code src/openai/resources/skills/versions/versions.py x: 2 # contributors y: 367 lines of code src/openai/resources/fine_tuning/fine_tuning.py x: 4 # contributors y: 108 lines of code src/openai/_utils/__init__.py x: 4 # contributors y: 67 lines of code src/openai/lib/_pydantic.py x: 4 # contributors y: 99 lines of code scripts/utils/ruffen-docs.py x: 2 # contributors y: 135 lines of code
3272.0
lines of code
  min: 1.0
  average: 57.13
  25th percentile: 8.0
  median: 12.0
  75th percentile: 27.0
  max: 3272.0
0 17.0
# contributors
min: 1.0 | average: 2.35 | 25th percentile: 2.0 | median: 2.0 | 75th percentile: 3.0 | max: 17.0

Number of Changes vs. Line Churn: 2714 points

.release-please-manifest.json x: 299 # changes y: 755 line churn CHANGELOG.md x: 298 # changes y: 4914 line churn pyproject.toml x: 333 # changes y: 1548 line churn src/openai/_version.py x: 300 # changes y: 768 line churn uv.lock x: 32 # changes y: 6462 line churn .castiron.stats.yml x: 35 # changes y: 946 line churn api.md x: 97 # changes y: 3412 line churn api_reference/openapi.transformed.yml x: 33 # changes y: 125822 line churn src/openai/__init__.py x: 47 # changes y: 778 line churn src/openai/_client.py x: 53 # changes y: 3845 line churn src/openai/_module_client.py x: 20 # changes y: 347 line churn src/openai/resources/__init__.py x: 20 # changes y: 978 line churn src/openai/resources/decisions.py x: 1 # changes y: 228 line churn src/openai/resources/live/api.md x: 2 # changes y: 99 line churn src/openai/resources/responses/api.md x: 10 # changes y: 210 line churn src/openai/types/__init__.py x: 39 # changes y: 270 line churn src/openai/types/beta/__init__.py x: 25 # changes y: 667 line churn src/openai/types/beta/beta_response_tool_search_output_item_param.py x: 3 # changes y: 433 line churn src/openai/types/responses/__init__.py x: 29 # changes y: 401 line churn src/openai/resources/admin/organization/usage.py x: 7 # changes y: 2228 line churn src/openai/resources/beta/agents/environments/templates.py x: 5 # changes y: 846 line churn src/openai/resources/beta/agents/sessions/sessions.py x: 8 # changes y: 1360 line churn src/openai/resources/beta/agents/sessions/turns.py x: 2 # changes y: 644 line churn src/openai/resources/beta/responses/responses.py x: 29 # changes y: 6996 line churn src/openai/resources/chat/completions/completions.py x: 47 # changes y: 6622 line churn src/openai/resources/completions.py x: 34 # changes y: 2338 line churn src/openai/resources/fine_tuning/jobs/jobs.py x: 23 # changes y: 1261 line churn src/openai/resources/images.py x: 44 # changes y: 6050 line churn src/openai/resources/live/forks.py x: 8 # changes y: 1567 line churn src/openai/resources/realtime/realtime.py x: 26 # changes y: 2345 line churn src/openai/resources/responses/responses.py x: 84 # changes y: 9101 line churn src/openai/types/admin/organization/usage_audio_speeches_response.py x: 9 # changes y: 593 line churn src/openai/types/admin/organization/usage_costs_params.py x: 5 # changes y: 70 line churn src/openai/types/admin/organization/usage_file_search_calls_response.py x: 6 # changes y: 577 line churn src/openai/types/beta/beta_tool.py x: 9 # changes y: 483 line churn src/openai/types/beta/environment_param.py x: 7 # changes y: 179 line churn src/openai/types/beta/session_turn_error.py x: 6 # changes y: 131 line churn src/openai/types/chat/chat_completion_chunk.py x: 24 # changes y: 671 line churn src/openai/types/chat/completion_create_params.py x: 71 # changes y: 1333 line churn src/openai/types/completion_create_params.py x: 15 # changes y: 314 line churn src/openai/types/responses/tool_param.py x: 36 # changes y: 744 line churn tests/api_resources/beta/test_assistants.py x: 26 # changes y: 908 line churn tests/api_resources/beta/test_threads.py x: 29 # changes y: 2642 line churn tests/api_resources/beta/threads/test_runs.py x: 35 # changes y: 2741 line churn tests/api_resources/test_moderations.py x: 12 # changes y: 160 line churn helpers.md x: 16 # changes y: 830 line churn src/openai/lib/streaming/agents/_streams.py x: 3 # changes y: 648 line churn src/openai/lib/_tools.py x: 4 # changes y: 91 line churn scripts/castiron/test_custom_code_budget.py x: 3 # changes y: 1228 line churn src/openai/resources/audio/__init__.py x: 8 # changes y: 246 line churn src/openai/resources/beta/agents/agents.py x: 4 # changes y: 942 line churn src/openai/resources/webhooks/webhooks.py x: 5 # changes y: 1314 line churn src/openai/types/audio/__init__.py x: 11 # changes y: 58 line churn src/openai/types/audio/speech_create_params.py x: 21 # changes y: 161 line churn src/openai/types/chat/chat_completion_audio_param.py x: 14 # changes y: 102 line churn src/openai/types/image_generate_params.py x: 16 # changes y: 433 line churn src/openai/types/shared/chat_model.py x: 22 # changes y: 176 line churn src/openai/resources/beta/assistants.py x: 34 # changes y: 1948 line churn src/openai/resources/beta/threads/runs/runs.py x: 62 # changes y: 6759 line churn src/openai/resources/beta/threads/threads.py x: 54 # changes y: 4521 line churn src/openai/resources/embeddings.py x: 30 # changes y: 585 line churn src/openai/resources/moderations.py x: 24 # changes y: 435 line churn src/openai/resources/realtime/calls.py x: 16 # changes y: 1057 line churn scripts/castiron/test_custom_code_report.py x: 3 # changes y: 1493 line churn tests/lib/responses/test_websocket_session.py x: 2 # changes y: 1536 line churn tests/lib/streaming/agents/test_files.py x: 1 # changes y: 754 line churn .github/workflows/ci.yml x: 44 # changes y: 928 line churn .github/workflows/detect-breaking-changes.yml x: 12 # changes y: 887 line churn .github/workflows/publish-pypi.yml x: 17 # changes y: 161 line churn src/openai/resources/evals/runs/runs.py x: 11 # changes y: 818 line churn src/openai/lib/azure.py x: 31 # changes y: 1207 line churn tests/test_client.py x: 66 # changes y: 5928 line churn src/openai/_legacy_response.py x: 19 # changes y: 639 line churn src/openai/_response.py x: 24 # changes y: 1159 line churn tests/api_resources/audio/test_speech.py x: 18 # changes y: 406 line churn src/openai/types/beta/beta_response.py x: 17 # changes y: 808 line churn src/openai/types/beta/response_create_params.py x: 18 # changes y: 801 line churn tests/lib/responses/test_websocket_accumulator.py x: 1 # changes y: 1132 line churn src/openai/resources/audio/transcriptions.py x: 42 # changes y: 1943 line churn src/openai/_base_client.py x: 75 # changes y: 4141 line churn src/openai/types/responses/response.py x: 41 # changes y: 1099 line churn src/openai/types/responses/response_create_params.py x: 45 # changes y: 891 line churn tests/api_resources/test_responses.py x: 39 # changes y: 1381 line churn src/openai/lib/_parsing/_completions.py x: 13 # changes y: 448 line churn README.md x: 123 # changes y: 3326 line churn src/openai/types/admin/organization/audit_log_list_response.py x: 11 # changes y: 1398 line churn src/openai/resources/admin/organization/__init__.py x: 7 # changes y: 507 line churn examples/realtime/push_to_talk_app.py.lock x: 2 # changes y: 1025 line churn src/openai/types/beta/beta_response_input_item.py x: 10 # changes y: 1236 line churn src/openai/types/beta/beta_response_item.py x: 8 # changes y: 656 line churn src/openai/types/responses/response_input_item.py x: 21 # changes y: 817 line churn src/openai/resources/beta/beta.py x: 22 # changes y: 559 line churn tests/api_resources/test_webhooks.py x: 4 # changes y: 1126 line churn src/openai/lib/streaming/chat/_completions.py x: 15 # changes y: 854 line churn src/openai/lib/_validators.py x: 5 # changes y: 1636 line churn src/openai/resources/vector_stores/files.py x: 13 # changes y: 1356 line churn src/openai/_models.py x: 51 # changes y: 1360 line churn tests/test_models.py x: 20 # changes y: 1203 line churn tests/test_uv_workflows.py x: 3 # changes y: 9227 line churn src/openai/resources/batches.py x: 23 # changes y: 804 line churn src/openai/resources/files.py x: 45 # changes y: 1570 line churn src/openai/resources/fine_tuning/checkpoints/permissions.py x: 13 # changes y: 810 line churn src/openai/resources/vector_stores/file_batches.py x: 14 # changes y: 1183 line churn src/openai/types/beta/assistant_create_params.py x: 33 # changes y: 690 line churn src/openai/types/beta/thread_create_params.py x: 19 # changes y: 395 line churn src/openai/types/beta/threads/run_create_params.py x: 40 # changes y: 683 line churn src/openai/types/evals/run_cancel_response.py x: 18 # changes y: 1129 line churn tests/lib/chat/test_completions.py x: 25 # changes y: 1713 line churn tests/lib/chat/test_completions_streaming.py x: 22 # changes y: 2016 line churn tests/test_module_client.py x: 14 # changes y: 596 line churn scripts/check-dependency-security.py x: 1 # changes y: 2428 line churn src/openai/resources/beta/threads/messages.py x: 19 # changes y: 1069 line churn requirements-dev.lock x: 61 # changes y: 1108 line churn requirements.lock x: 32 # changes y: 490 line churn src/openai/lib/bedrock.py x: 6 # changes y: 2307 line churn tests/lib/test_bedrock.py x: 6 # changes y: 2531 line churn src/openai/resources/videos.py x: 14 # changes y: 1873 line churn tests/api_resources/test_videos.py x: 9 # changes y: 1017 line churn .stats.yml x: 193 # changes y: 1132 line churn tests/api_resources/test_evals.py x: 4 # changes y: 2853 line churn src/openai/resources/responses/responses.py.orig x: 2 # changes y: 3592 line churn src/openai/resources/beta/vector_stores/file_batches.py x: 9 # changes y: 1622 line churn src/openai/resources/beta/vector_stores/files.py x: 10 # changes y: 1510 line churn src/openai/resources/chat/completions.py x: 44 # changes y: 5328 line churn src/openai/resources/beta/assistants/assistants.py x: 17 # changes y: 1772 line churn src/openai/resources/beta/threads/messages/files.py x: 10 # changes y: 716 line churn src/openai/resources/fine_tuning/jobs.py x: 12 # changes y: 1400 line churn src/openai/resources/fine_tunes.py x: 6 # changes y: 1742 line churn examples/embeddings/Recommendation.ipynb x: 3 # changes y: 66894 line churn openai/__init__.py x: 27 # changes y: 294 line churn openai/api_requestor.py x: 33 # changes y: 1873 line churn openai/cli.py x: 38 # changes y: 3605 line churn openai/validators.py x: 16 # changes y: 2168 line churn openai/version.py x: 59 # changes y: 129 line churn openai/data/ca-certificates.crt x: 1 # changes y: 3240 line churn
125822.0
line churn
  min: 1.0
  average: 269.89
  25th percentile: 26.0
  median: 46.0
  75th percentile: 145.0
  max: 125822.0
0 333.0
# changes
min: 1.0 | average: 5.0 | 25th percentile: 2.0 | median: 3.0 | 75th percentile: 4.0 | max: 333.0

Number of Contributors vs. Line Churn: 1945 points

src/openai/_version.py x: 8 # contributors y: 768 line churn .castiron.stats.yml x: 5 # contributors y: 946 line churn src/openai/__init__.py x: 10 # contributors y: 778 line churn src/openai/_client.py x: 12 # contributors y: 3845 line churn src/openai/_module_client.py x: 6 # contributors y: 347 line churn src/openai/resources/__init__.py x: 7 # contributors y: 978 line churn src/openai/resources/decisions.py x: 1 # contributors y: 228 line churn src/openai/types/__init__.py x: 8 # contributors y: 270 line churn src/openai/types/beta/__init__.py x: 9 # contributors y: 667 line churn src/openai/types/beta/beta_response_tool_search_output_item_param.py x: 3 # contributors y: 433 line churn src/openai/types/beta/beta_response_tool_search_output_item_param_param.py x: 3 # contributors y: 428 line churn src/openai/types/beta/beta_tool_search_output_namespace_tool.py x: 1 # contributors y: 67 line churn src/openai/types/decision.py x: 1 # contributors y: 128 line churn src/openai/types/decision_create_params.py x: 1 # contributors y: 87 line churn src/openai/types/decision_input_image_param.py x: 1 # contributors y: 23 line churn src/openai/types/responses/__init__.py x: 5 # contributors y: 401 line churn scripts/detect-breaking-changes.py x: 2 # contributors y: 85 line churn src/openai/resources/admin/organization/usage.py x: 3 # contributors y: 2228 line churn src/openai/resources/beta/agents/environments/templates.py x: 4 # contributors y: 846 line churn src/openai/resources/beta/agents/sessions/sessions.py x: 4 # contributors y: 1360 line churn src/openai/resources/beta/agents/sessions/turns/turns.py x: 1 # contributors y: 354 line churn src/openai/resources/beta/responses/responses.py x: 6 # contributors y: 6996 line churn src/openai/resources/chat/completions/completions.py x: 9 # contributors y: 6622 line churn src/openai/resources/completions.py x: 8 # contributors y: 2338 line churn src/openai/resources/fine_tuning/jobs/jobs.py x: 6 # contributors y: 1261 line churn src/openai/resources/images.py x: 10 # contributors y: 6050 line churn src/openai/resources/live/forks.py x: 4 # contributors y: 1567 line churn src/openai/resources/live/live.py x: 4 # contributors y: 1759 line churn src/openai/resources/live/sideband.py x: 4 # contributors y: 1536 line churn src/openai/resources/responses/responses.py x: 12 # contributors y: 9101 line churn src/openai/types/admin/organization/usage_audio_speeches_response.py x: 4 # contributors y: 593 line churn src/openai/types/admin/organization/usage_completions_params.py x: 3 # contributors y: 72 line churn src/openai/types/admin/organization/usage_costs_params.py x: 3 # contributors y: 70 line churn src/openai/types/beta/agents/environments/template_create_params.py x: 4 # contributors y: 131 line churn src/openai/types/beta/beta_responses_server_event.py x: 5 # contributors y: 1095 line churn src/openai/types/beta/beta_tool.py x: 6 # contributors y: 483 line churn src/openai/types/beta/environment_param.py x: 5 # contributors y: 179 line churn src/openai/types/chat/chat_completion_chunk.py x: 6 # contributors y: 671 line churn src/openai/types/chat/completion_create_params.py x: 9 # contributors y: 1333 line churn src/openai/types/completion_create_params.py x: 7 # contributors y: 314 line churn src/openai/types/fine_tuning/job_list_params.py x: 5 # contributors y: 36 line churn src/openai/types/graders/score_model_grader.py x: 3 # contributors y: 363 line churn src/openai/types/image_edit_params.py x: 9 # contributors y: 497 line churn src/openai/types/responses/response_error.py x: 4 # contributors y: 79 line churn src/openai/types/responses/tool.py x: 7 # contributors y: 730 line churn src/openai/types/video_create_error.py x: 4 # contributors y: 65 line churn src/openai/lib/beta/agents/_stream.py x: 1 # contributors y: 159 line churn src/openai/lib/streaming/agents/_streams.py x: 1 # contributors y: 648 line churn src/openai/lib/__init__.py x: 3 # contributors y: 9 line churn src/openai/lib/beta/agents/_tools.py x: 1 # contributors y: 382 line churn scripts/castiron/custom_code_budget.py x: 2 # contributors y: 453 line churn src/openai/resources/audio/__init__.py x: 6 # contributors y: 246 line churn src/openai/resources/audio/audio.py x: 6 # contributors y: 360 line churn src/openai/resources/audio/speech.py x: 7 # contributors y: 619 line churn src/openai/resources/audio/voices.py x: 1 # contributors y: 401 line churn src/openai/resources/beta/agents/agents.py x: 3 # contributors y: 942 line churn src/openai/resources/webhooks/webhooks.py x: 4 # contributors y: 1314 line churn src/openai/types/audio/__init__.py x: 7 # contributors y: 58 line churn src/openai/types/audio/speech_create_params.py x: 6 # contributors y: 161 line churn src/openai/types/beta/agent_update_params.py x: 2 # contributors y: 70 line churn src/openai/types/beta/agents/session_create_params.py x: 2 # contributors y: 119 line churn src/openai/types/chat/chat_completion_audio_param.py x: 5 # contributors y: 102 line churn src/openai/types/image.py x: 6 # contributors y: 70 line churn src/openai/types/image_create_variation_params.py x: 7 # contributors y: 76 line churn src/openai/types/image_generate_params.py x: 8 # contributors y: 433 line churn src/openai/resources/beta/assistants.py x: 6 # contributors y: 1948 line churn src/openai/resources/beta/threads/runs/runs.py x: 6 # contributors y: 6759 line churn src/openai/resources/beta/threads/threads.py x: 6 # contributors y: 4521 line churn src/openai/resources/embeddings.py x: 9 # contributors y: 585 line churn src/openai/resources/moderations.py x: 7 # contributors y: 435 line churn src/openai/resources/realtime/calls.py x: 3 # contributors y: 1057 line churn scripts/castiron/custom_code_report.py x: 2 # contributors y: 1120 line churn src/openai/lib/beta/agents/_files.py x: 1 # contributors y: 297 line churn src/openai/resources/beta/agents/environments/files.py x: 1 # contributors y: 596 line churn src/openai/resources/beta/agents/sessions/artifacts.py x: 1 # contributors y: 561 line churn src/openai/resources/evals/runs/runs.py x: 3 # contributors y: 818 line churn src/openai/resources/beta/agents/sessions/__init__.py x: 2 # contributors y: 250 line churn src/openai/resources/beta/agents/sessions/events.py x: 2 # contributors y: 323 line churn src/openai/resources/realtime/__init__.py x: 3 # contributors y: 153 line churn src/openai/types/realtime/__init__.py x: 2 # contributors y: 287 line churn src/openai/types/realtime/translations/__init__.py x: 2 # contributors y: 11 line churn src/openai/types/responses/response_output_text_annotation_added_event.py x: 3 # contributors y: 135 line churn src/openai/lib/azure.py x: 17 # contributors y: 1207 line churn src/openai/resources/beta/realtime/realtime.py x: 5 # contributors y: 1465 line churn src/openai/_utils/_transform.py x: 7 # contributors y: 537 line churn src/openai/_utils/_typing.py x: 3 # contributors y: 181 line churn src/openai/_legacy_response.py x: 6 # contributors y: 639 line churn src/openai/_response.py x: 9 # contributors y: 1159 line churn src/openai/types/beta/agent_output_item.py x: 2 # contributors y: 160 line churn src/openai/types/beta/agent_session.py x: 3 # contributors y: 254 line churn src/openai/types/beta/beta_response.py x: 5 # contributors y: 808 line churn src/openai/types/beta/response_compact_params.py x: 5 # contributors y: 270 line churn src/openai/types/responses/response_compact_params.py x: 6 # contributors y: 301 line churn src/openai/_httpx2.py x: 3 # contributors y: 349 line churn src/openai/lib/responses_websocket/_accumulator.py x: 1 # contributors y: 461 line churn src/openai/resources/audio/transcriptions.py x: 10 # contributors y: 1943 line churn src/openai/resources/beta/agents/vaults/credentials.py x: 3 # contributors y: 735 line churn src/openai/_base_client.py x: 17 # contributors y: 4141 line churn src/openai/types/responses/response.py x: 6 # contributors y: 1099 line churn src/openai/types/responses/response_create_params.py x: 5 # contributors y: 891 line churn src/openai/types/responses/responses_client_event.py x: 4 # contributors y: 722 line churn src/openai/_utils/_utils.py x: 8 # contributors y: 643 line churn src/openai/lib/_parsing/_completions.py x: 6 # contributors y: 448 line churn src/openai/types/admin/organization/audit_log_list_response.py x: 3 # contributors y: 1398 line churn src/openai/helpers/local_audio_player.py x: 4 # contributors y: 181 line churn src/openai/_vendor/httpx_aiohttp/transport.py x: 2 # contributors y: 205 line churn src/openai/resources/admin/organization/__init__.py x: 4 # contributors y: 507 line churn src/openai/resources/admin/organization/external_storage.py x: 2 # contributors y: 599 line churn src/openai/resources/admin/organization/organization.py x: 4 # contributors y: 542 line churn scripts/utils/validate-httpx2-wheel.py x: 3 # contributors y: 303 line churn src/openai/types/beta/beta_response_input_item.py x: 4 # contributors y: 1236 line churn src/openai/types/beta/beta_response_item.py x: 4 # contributors y: 656 line churn src/openai/types/conversations/conversation_item.py x: 4 # contributors y: 343 line churn src/openai/types/responses/response_input_item.py x: 4 # contributors y: 817 line churn src/openai/types/responses/response_input_item_param.py x: 5 # contributors y: 922 line churn src/openai/resources/beta/beta.py x: 6 # contributors y: 559 line churn src/openai/resources/beta/responses/input_items.py x: 3 # contributors y: 250 line churn src/openai/resources/responses/input_items.py x: 4 # contributors y: 304 line churn src/openai/resources/admin/organization/audit_logs.py x: 3 # contributors y: 615 line churn src/openai/resources/conversations/conversations.py x: 3 # contributors y: 664 line churn src/openai/lib/_parsing/_responses.py x: 7 # contributors y: 248 line churn src/openai/resources/admin/organization/projects/__init__.py x: 3 # contributors y: 474 line churn src/openai/resources/beta/__init__.py x: 5 # contributors y: 319 line churn src/openai/resources/fine_tuning/__init__.py x: 5 # contributors y: 197 line churn src/openai/types/realtime/realtime_session_create_response.py x: 3 # contributors y: 909 line churn src/openai/lib/responses_websocket/_session.py x: 1 # contributors y: 619 line churn src/openai/lib/streaming/chat/_completions.py x: 11 # contributors y: 854 line churn src/openai/types/responses/response_stream_event.py x: 4 # contributors y: 154 line churn src/openai/_exceptions.py x: 9 # contributors y: 269 line churn src/openai/_streaming.py x: 7 # contributors y: 863 line churn src/openai/lib/streaming/_assistants.py x: 8 # contributors y: 1162 line churn src/openai/pagination.py x: 5 # contributors y: 386 line churn src/openai/resources/live/sessions.py x: 1 # contributors y: 732 line churn src/openai/resources/admin/organization/projects/service_accounts/service_accounts.py x: 2 # contributors y: 735 line churn src/openai/resources/audio/translations.py x: 7 # contributors y: 694 line churn src/openai/resources/beta/threads/runs/steps.py x: 5 # contributors y: 675 line churn src/openai/resources/conversations/items.py x: 2 # contributors y: 675 line churn src/openai/resources/evals/evals.py x: 2 # contributors y: 854 line churn src/openai/resources/files.py x: 6 # contributors y: 1570 line churn src/openai/resources/fine_tuning/alpha/graders.py x: 2 # contributors y: 374 line churn src/openai/resources/fine_tuning/checkpoints/permissions.py x: 2 # contributors y: 810 line churn src/openai/resources/realtime/client_secrets.py x: 2 # contributors y: 267 line churn src/openai/resources/vector_stores/file_batches.py x: 3 # contributors y: 1183 line churn src/openai/resources/vector_stores/vector_stores.py x: 3 # contributors y: 1123 line churn src/openai/types/beta/assistant_create_params.py x: 5 # contributors y: 690 line churn src/openai/types/beta/threads/run.py x: 5 # contributors y: 600 line churn src/openai/types/chat/chat_completion.py x: 6 # contributors y: 534 line churn src/openai/types/chat/chat_completion_message.py x: 5 # contributors y: 114 line churn src/openai/types/embedding.py x: 5 # contributors y: 33 line churn src/openai/types/evals/create_eval_completions_run_data_source_param.py x: 2 # contributors y: 766 line churn src/openai/types/evals/run_create_params.py x: 2 # contributors y: 1060 line churn src/openai/types/responses/response_function_call_arguments_done_event.py x: 4 # contributors y: 33 line churn src/openai/types/completion_usage.py x: 6 # contributors y: 90 line churn src/openai/auth/_x509.py x: 1 # contributors y: 712 line churn scripts/check-dependency-security.py x: 1 # contributors y: 2428 line churn src/openai/resources/beta/threads/messages.py x: 4 # contributors y: 1069 line churn src/openai/resources/models.py x: 5 # contributors y: 498 line churn src/openai/lib/bedrock.py x: 4 # contributors y: 2307 line churn src/openai/lib/_bedrock_auth.py x: 1 # contributors y: 193 line churn src/openai/resources/videos.py x: 2 # contributors y: 1873 line churn src/openai/resources/beta/realtime/sessions.py x: 3 # contributors y: 556 line churn src/openai/_types.py x: 6 # contributors y: 767 line churn src/openai/resources/admin/organization/admin_api_keys.py x: 2 # contributors y: 521 line churn src/openai/resources/admin/organization/certificates.py x: 2 # contributors y: 902 line churn src/openai/resources/admin/organization/projects/api_keys.py x: 2 # contributors y: 479 line churn src/openai/resources/admin/organization/projects/groups/roles.py x: 2 # contributors y: 565 line churn src/openai/resources/admin/organization/projects/spend_alerts.py x: 2 # contributors y: 709 line churn src/openai/resources/admin/organization/projects/spend_limit.py x: 2 # contributors y: 396 line churn src/openai/resources/fine_tuning/fine_tuning.py x: 4 # contributors y: 230 line churn src/openai/types/audio/translation.py x: 6 # contributors y: 19 line churn src/openai/types/eval_create_params.py x: 3 # contributors y: 704 line churn src/openai/types/moderation.py x: 5 # contributors y: 232 line churn
9101.0
line churn
  min: 1.0
  average: 150.87
  25th percentile: 24.0
  median: 39.0
  75th percentile: 92.0
  max: 9101.0
0 17.0
# contributors
min: 1.0 | average: 2.35 | 25th percentile: 2.0 | median: 2.0 | 75th percentile: 3.0 | max: 17.0

File Size vs. Line Churn: 1945 points

src/openai/_version.py x: 2 lines of code y: 768 line churn .castiron.stats.yml x: 8 lines of code y: 946 line churn src/openai/__init__.py x: 378 lines of code y: 778 line churn src/openai/_client.py x: 1742 lines of code y: 3845 line churn src/openai/_module_client.py x: 162 lines of code y: 347 line churn src/openai/resources/__init__.py x: 475 lines of code y: 978 line churn src/openai/resources/decisions.py x: 116 lines of code y: 228 line churn src/openai/types/__init__.py x: 143 lines of code y: 270 line churn src/openai/types/beta/__init__.py x: 594 lines of code y: 667 line churn src/openai/types/beta/beta_response_tool_search_output_item_param.py x: 154 lines of code y: 433 line churn src/openai/types/beta/beta_response_tool_search_output_item_param_param.py x: 148 lines of code y: 428 line churn src/openai/types/beta/beta_tool_search_output_namespace_tool.py x: 23 lines of code y: 67 line churn src/openai/types/beta/beta_tool_search_output_namespace_tool_param.py x: 27 lines of code y: 67 line churn src/openai/types/decision.py x: 68 lines of code y: 128 line churn src/openai/types/decision_create_params.py x: 39 lines of code y: 87 line churn src/openai/types/decision_input_image_param.py x: 8 lines of code y: 23 line churn src/openai/types/responses/__init__.py x: 370 lines of code y: 401 line churn src/openai/types/responses/response_tool_search_output_item_param_param.py x: 144 lines of code y: 417 line churn scripts/detect-breaking-changes.py x: 59 lines of code y: 85 line churn src/openai/resources/admin/organization/usage.py x: 1154 lines of code y: 2228 line churn src/openai/resources/beta/agents/environments/templates.py x: 478 lines of code y: 846 line churn src/openai/resources/beta/agents/sessions/sessions.py x: 758 lines of code y: 1360 line churn src/openai/resources/beta/agents/sessions/turns/__init__.py x: 64 lines of code y: 73 line churn src/openai/resources/beta/agents/sessions/turns/items.py x: 133 lines of code y: 233 line churn src/openai/resources/beta/agents/sessions/turns/turns.py x: 212 lines of code y: 354 line churn src/openai/resources/beta/responses/responses.py x: 3272 lines of code y: 6996 line churn src/openai/resources/chat/completions/completions.py x: 1284 lines of code y: 6622 line churn src/openai/resources/completions.py x: 352 lines of code y: 2338 line churn src/openai/resources/fine_tuning/jobs/jobs.py x: 539 lines of code y: 1261 line churn src/openai/resources/images.py x: 756 lines of code y: 6050 line churn src/openai/resources/live/forks.py x: 962 lines of code y: 1567 line churn src/openai/resources/live/live.py x: 1075 lines of code y: 1759 line churn src/openai/resources/live/sideband.py x: 961 lines of code y: 1536 line churn src/openai/resources/realtime/realtime.py x: 1109 lines of code y: 2345 line churn src/openai/resources/responses/responses.py x: 2836 lines of code y: 9101 line churn src/openai/types/admin/organization/usage_audio_speeches_response.py x: 153 lines of code y: 593 line churn src/openai/types/admin/organization/usage_completions_params.py x: 17 lines of code y: 72 line churn src/openai/types/admin/organization/usage_costs_params.py x: 15 lines of code y: 70 line churn src/openai/types/beta/agents/environments/template_create_params.py x: 30 lines of code y: 131 line churn src/openai/types/beta/agents/sessions/turns/__init__.py x: 2 lines of code y: 5 line churn src/openai/types/beta/beta_response_error.py x: 46 lines of code y: 79 line churn src/openai/types/beta/beta_responses_server_event.py x: 350 lines of code y: 1095 line churn src/openai/types/beta/beta_tool.py x: 142 lines of code y: 483 line churn src/openai/types/beta/beta_tool_param.py x: 136 lines of code y: 478 line churn src/openai/types/beta/environment_param.py x: 47 lines of code y: 179 line churn src/openai/types/beta/session_turn_error.py x: 29 lines of code y: 131 line churn src/openai/types/chat/chat_completion_chunk.py x: 106 lines of code y: 671 line churn src/openai/types/chat/completion_create_params.py x: 106 lines of code y: 1333 line churn src/openai/types/completion_create_params.py x: 29 lines of code y: 314 line churn src/openai/types/fine_tuning/job_list_params.py x: 8 lines of code y: 36 line churn src/openai/types/graders/score_model_grader.py x: 42 lines of code y: 363 line churn src/openai/types/image_edit_params.py x: 26 lines of code y: 497 line churn src/openai/types/responses/responses_server_event.py x: 342 lines of code y: 1080 line churn src/openai/types/responses/tool.py x: 146 lines of code y: 730 line churn src/openai/lib/beta/agents/_output.py x: 46 lines of code y: 66 line churn src/openai/lib/beta/agents/_stream.py x: 86 lines of code y: 159 line churn src/openai/lib/streaming/agents/_dispatch.py x: 141 lines of code y: 170 line churn src/openai/lib/streaming/agents/_streams.py x: 286 lines of code y: 648 line churn src/openai/lib/beta/agents/_tools.py x: 265 lines of code y: 382 line churn src/openai/lib/beta/agents/__init__.py x: 26 lines of code y: 32 line churn src/openai/lib/beta/agents/_tool_error.py x: 15 lines of code y: 29 line churn src/openai/lib/streaming/agents/_tools.py x: 71 lines of code y: 94 line churn scripts/castiron/custom_code_budget.py x: 376 lines of code y: 453 line churn scripts/castiron/fixtures/github_publisher.cjs x: 36 lines of code y: 46 line churn src/openai/resources/audio/__init__.py x: 127 lines of code y: 246 line churn src/openai/resources/audio/audio.py x: 134 lines of code y: 360 line churn src/openai/resources/audio/speech.py x: 137 lines of code y: 619 line churn src/openai/resources/audio/voices.py x: 197 lines of code y: 401 line churn src/openai/resources/beta/agents/agents.py x: 518 lines of code y: 942 line churn src/openai/resources/webhooks/webhooks.py x: 788 lines of code y: 1314 line churn src/openai/types/audio/speech_create_params.py x: 22 lines of code y: 161 line churn src/openai/types/beta/agent_create_params.py x: 18 lines of code y: 75 line churn src/openai/types/image_generate_params.py x: 28 lines of code y: 433 line churn src/openai/types/shared/chat_model.py x: 93 lines of code y: 176 line churn src/openai/types/webhooks/__init__.py x: 58 lines of code y: 65 line churn src/openai/types/webhooks/webhook_test_params.py x: 31 lines of code y: 38 line churn src/openai/resources/beta/assistants.py x: 610 lines of code y: 1948 line churn src/openai/resources/beta/responses/input_tokens.py x: 160 lines of code y: 380 line churn src/openai/resources/beta/threads/runs/runs.py x: 1883 lines of code y: 6759 line churn src/openai/resources/beta/threads/threads.py x: 1065 lines of code y: 4521 line churn src/openai/resources/embeddings.py x: 125 lines of code y: 585 line churn src/openai/resources/moderations.py x: 109 lines of code y: 435 line churn src/openai/resources/realtime/calls.py x: 518 lines of code y: 1057 line churn src/openai/resources/responses/input_tokens.py x: 151 lines of code y: 391 line churn scripts/castiron/custom_code_report.py x: 949 lines of code y: 1120 line churn src/openai/lib/beta/agents/_artifacts.py x: 135 lines of code y: 157 line churn src/openai/lib/beta/agents/_files.py x: 237 lines of code y: 297 line churn src/openai/resources/beta/agents/environments/files.py x: 380 lines of code y: 596 line churn src/openai/resources/beta/agents/sessions/artifacts.py x: 353 lines of code y: 561 line churn src/openai/lib/beta/agents/_result.py x: 189 lines of code y: 244 line churn src/openai/resources/evals/runs/runs.py x: 420 lines of code y: 818 line churn src/openai/resources/beta/agents/sessions/__init__.py x: 169 lines of code y: 250 line churn src/openai/resources/beta/agents/sessions/events.py x: 173 lines of code y: 323 line churn src/openai/resources/beta/agents/sessions/traces.py x: 122 lines of code y: 222 line churn src/openai/resources/realtime/__init__.py x: 106 lines of code y: 153 line churn src/openai/resources/realtime/translations/client_secrets.py x: 112 lines of code y: 221 line churn src/openai/types/beta/beta_response_output_text.py x: 54 lines of code y: 135 line churn src/openai/types/beta/beta_response_output_text_annotation_added_event.py x: 50 lines of code y: 144 line churn src/openai/types/beta/beta_response_output_text_param.py x: 52 lines of code y: 133 line churn src/openai/types/realtime/__init__.py x: 246 lines of code y: 287 line churn src/openai/types/realtime/realtime_translation_session.py x: 30 lines of code y: 91 line churn src/openai/types/realtime/realtime_translation_session_create_request_param.py x: 27 lines of code y: 79 line churn src/openai/types/responses/response_output_text.py x: 54 lines of code y: 153 line churn src/openai/types/responses/response_output_text_annotation_added_event.py x: 46 lines of code y: 135 line churn src/openai/lib/azure.py x: 710 lines of code y: 1207 line churn src/openai/resources/beta/realtime/realtime.py x: 615 lines of code y: 1465 line churn src/openai/_utils/_transform.py x: 259 lines of code y: 537 line churn src/openai/_utils/_typing.py x: 78 lines of code y: 181 line churn src/openai/_legacy_response.py x: 322 lines of code y: 639 line churn src/openai/_response.py x: 472 lines of code y: 1159 line churn src/openai/types/beta/agent_output_item.py x: 76 lines of code y: 160 line churn src/openai/types/beta/agent_session.py x: 106 lines of code y: 254 line churn src/openai/types/beta/agent_session_item.py x: 126 lines of code y: 262 line churn src/openai/types/beta/agents/environments/environment_template.py x: 63 lines of code y: 164 line churn src/openai/types/beta/beta_response.py x: 283 lines of code y: 808 line churn src/openai/types/beta/beta_responses_client_event.py x: 236 lines of code y: 810 line churn src/openai/types/beta/response_compact_params.py x: 135 lines of code y: 270 line churn src/openai/types/responses/response_compact_params.py x: 133 lines of code y: 301 line churn src/openai/_httpx2.py x: 100 lines of code y: 349 line churn src/openai/lib/responses_websocket/_accumulator.py x: 379 lines of code y: 461 line churn src/openai/_send_queue.py x: 82 lines of code y: 172 line churn src/openai/lib/live/_transcript_grouping.py x: 280 lines of code y: 324 line churn src/openai/resources/audio/transcriptions.py x: 446 lines of code y: 1943 line churn src/openai/resources/beta/agents/vaults/credentials.py x: 437 lines of code y: 735 line churn src/openai/_base_client.py x: 1822 lines of code y: 4141 line churn src/openai/types/responses/response.py x: 175 lines of code y: 1099 line churn src/openai/types/responses/response_create_params.py x: 110 lines of code y: 891 line churn src/openai/types/responses/responses_client_event.py x: 134 lines of code y: 722 line churn src/openai/types/responses/web_search_tool.py x: 18 lines of code y: 126 line churn src/openai/_utils/_utils.py x: 270 lines of code y: 643 line churn src/openai/lib/_parsing/_completions.py x: 227 lines of code y: 448 line churn src/openai/types/admin/organization/__init__.py x: 87 lines of code y: 92 line churn src/openai/types/admin/organization/audit_log_list_response.py x: 609 lines of code y: 1398 line churn src/openai/types/admin/organization/external_storage_configuration.py x: 20 lines of code y: 35 line churn src/openai/helpers/local_audio_player.py x: 140 lines of code y: 181 line churn src/openai/helpers/microphone.py x: 80 lines of code y: 112 line churn src/openai/_vendor/httpx_aiohttp/transport.py x: 169 lines of code y: 205 line churn src/openai/resources/admin/organization/__init__.py x: 316 lines of code y: 507 line churn src/openai/resources/admin/organization/organization.py x: 368 lines of code y: 542 line churn src/openai/resources/safety/__init__.py x: 85 lines of code y: 142 line churn scripts/check-python-version-policy.py x: 118 lines of code y: 156 line churn scripts/utils/validate-httpx2-wheel.py x: 101 lines of code y: 303 line churn src/openai/types/beta/beta_response_input_item.py x: 480 lines of code y: 1236 line churn src/openai/types/beta/beta_response_input_item_param.py x: 464 lines of code y: 1219 line churn src/openai/types/beta/beta_response_item.py x: 279 lines of code y: 656 line churn src/openai/types/beta/beta_response_output_item.py x: 275 lines of code y: 652 line churn src/openai/types/conversations/conversation_item.py x: 153 lines of code y: 343 line churn src/openai/types/responses/response_input_item.py x: 318 lines of code y: 817 line churn src/openai/types/responses/response_input_item_param.py x: 302 lines of code y: 922 line churn src/openai/types/responses/response_item.py x: 155 lines of code y: 351 line churn src/openai/resources/beta/beta.py x: 177 lines of code y: 559 line churn src/openai/resources/beta/responses/input_items.py x: 136 lines of code y: 250 line churn src/openai/resources/responses/input_items.py x: 126 lines of code y: 304 line churn src/openai/resources/admin/organization/audit_logs.py x: 449 lines of code y: 615 line churn src/openai/types/admin/organization/audit_log_list_params.py x: 173 lines of code y: 257 line churn src/openai/types/beta/agents/vaults/credential_auth.py x: 39 lines of code y: 114 line churn src/openai/resources/conversations/conversations.py x: 310 lines of code y: 664 line churn src/openai/lib/_parsing/_responses.py x: 160 lines of code y: 248 line churn src/openai/lib/_parsing/_audio.py x: 49 lines of code y: 59 line churn src/openai/lib/streaming/responses/_responses.py x: 323 lines of code y: 445 line churn src/openai/resources/admin/organization/projects/__init__.py x: 307 lines of code y: 474 line churn src/openai/resources/beta/__init__.py x: 148 lines of code y: 319 line churn src/openai/resources/beta/threads/__init__.py x: 85 lines of code y: 192 line churn src/openai/resources/chat/__init__.py x: 64 lines of code y: 131 line churn src/openai/resources/fine_tuning/__init__.py x: 106 lines of code y: 197 line churn src/openai/types/realtime/realtime_response_create_mcp_tool.py x: 50 lines of code y: 181 line churn src/openai/types/realtime/realtime_session_create_response.py x: 156 lines of code y: 909 line churn src/openai/types/realtime/realtime_tools_config_param.py x: 54 lines of code y: 239 line churn src/openai/types/realtime/realtime_tools_config_union_param.py x: 52 lines of code y: 240 line churn src/openai/lib/responses_websocket/_session.py x: 493 lines of code y: 619 line churn src/openai/lib/streaming/chat/_completions.py x: 550 lines of code y: 854 line churn src/openai/lib/streaming/responses/_events.py x: 144 lines of code y: 180 line churn src/openai/types/beta/beta_response_stream_event.py x: 127 lines of code y: 134 line churn src/openai/types/responses/response_stream_event.py x: 127 lines of code y: 154 line churn src/openai/_files.py x: 105 lines of code y: 217 line churn src/openai/_streaming.py x: 348 lines of code y: 863 line churn src/openai/lib/streaming/_assistants.py x: 593 lines of code y: 1162 line churn src/openai/resources/vector_stores/files.py x: 654 lines of code y: 1356 line churn src/openai/pagination.py x: 223 lines of code y: 386 line churn src/openai/resources/beta/agents/environments/environments.py x: 147 lines of code y: 238 line churn src/openai/resources/beta/agents/sessions/subagents/subagents.py x: 242 lines of code y: 386 line churn src/openai/resources/beta/agents/vaults/vaults.py x: 335 lines of code y: 563 line churn src/openai/resources/live/sessions.py x: 429 lines of code y: 732 line churn src/openai/lib/live/_listeners.py x: 77 lines of code y: 103 line churn src/openai/lib/live/_transcript_grouper.py x: 242 lines of code y: 325 line churn src/openai/types/live/__init__.py x: 92 lines of code y: 95 line churn src/openai/_models.py x: 628 lines of code y: 1360 line churn src/openai/resources/admin/organization/projects/projects.py x: 698 lines of code y: 1112 line churn src/openai/resources/admin/organization/projects/service_accounts/service_accounts.py x: 455 lines of code y: 735 line churn src/openai/resources/audio/translations.py x: 223 lines of code y: 694 line churn src/openai/resources/batches.py x: 322 lines of code y: 804 line churn src/openai/resources/beta/threads/runs/steps.py x: 243 lines of code y: 675 line churn src/openai/resources/conversations/items.py x: 335 lines of code y: 675 line churn src/openai/resources/evals/evals.py x: 412 lines of code y: 854 line churn src/openai/resources/files.py x: 470 lines of code y: 1570 line churn src/openai/resources/fine_tuning/checkpoints/permissions.py x: 392 lines of code y: 810 line churn src/openai/resources/uploads/parts.py x: 108 lines of code y: 282 line churn src/openai/resources/uploads/uploads.py x: 433 lines of code y: 941 line churn src/openai/resources/vector_stores/file_batches.py x: 549 lines of code y: 1183 line churn src/openai/resources/vector_stores/vector_stores.py x: 557 lines of code y: 1123 line churn src/openai/types/audio/transcription_create_params.py x: 39 lines of code y: 298 line churn src/openai/types/batch_create_params.py x: 25 lines of code y: 153 line churn src/openai/types/beta/assistant.py x: 28 lines of code y: 361 line churn src/openai/types/beta/assistant_create_params.py x: 55 lines of code y: 690 line churn src/openai/types/beta/assistant_update_params.py x: 74 lines of code y: 483 line churn src/openai/types/beta/beta_file_search_tool.py x: 39 lines of code y: 157 line churn src/openai/types/beta/responses/input_token_count_params.py x: 61 lines of code y: 247 line churn src/openai/types/beta/thread_create_and_run_params.py x: 103 lines of code y: 927 line churn src/openai/types/beta/thread_create_params.py x: 60 lines of code y: 395 line churn src/openai/types/beta/threads/run.py x: 63 lines of code y: 600 line churn src/openai/types/beta/threads/runs/run_step.py x: 35 lines of code y: 186 line churn src/openai/types/chat/chat_completion.py x: 80 lines of code y: 534 line churn src/openai/types/evals/create_eval_completions_run_data_source.py x: 95 lines of code y: 796 line churn src/openai/types/evals/create_eval_completions_run_data_source_param.py x: 90 lines of code y: 766 line churn src/openai/types/evals/run_cancel_response.py x: 151 lines of code y: 1129 line churn src/openai/types/evals/run_create_params.py x: 125 lines of code y: 1060 line churn src/openai/types/fine_tuning/job_create_params.py x: 36 lines of code y: 389 line churn src/openai/types/moderation_create_params.py x: 10 lines of code y: 72 line churn src/openai/types/realtime/realtime_server_event.py x: 123 lines of code y: 201 line churn src/openai/types/realtime/realtime_session_create_request.py x: 50 lines of code y: 264 line churn src/openai/types/responses/computer_tool.py x: 5 lines of code y: 51 line churn src/openai/types/responses/response_computer_tool_call.py x: 86 lines of code y: 311 line churn src/openai/types/responses/response_function_web_search.py x: 33 lines of code y: 145 line churn src/openai/types/responses/response_text_config.py x: 8 lines of code y: 123 line churn src/openai/types/shared_params/reasoning.py x: 11 lines of code y: 144 line churn src/openai/types/vector_store_create_params.py x: 17 lines of code y: 111 line churn src/openai/types/eval_create_response.py x: 54 lines of code y: 308 line churn src/openai/types/responses/response_steer_input.py x: 48 lines of code y: 102 line churn src/openai/auth/_x509.py x: 578 lines of code y: 712 line churn scripts/check-dependency-security.py x: 2321 lines of code y: 2428 line churn src/openai/lib/_realtime.py x: 3 lines of code y: 193 line churn src/openai/resources/beta/threads/messages.py x: 465 lines of code y: 1069 line churn src/openai/resources/models.py x: 203 lines of code y: 498 line churn src/openai/lib/bedrock.py x: 810 lines of code y: 2307 line churn src/openai/auth/_workload.py x: 278 lines of code y: 532 line churn src/openai/lib/_bedrock_auth.py x: 159 lines of code y: 193 line churn src/openai/providers/bedrock.py x: 421 lines of code y: 580 line churn src/openai/resources/videos.py x: 977 lines of code y: 1873 line churn src/openai/_event_handler.py x: 68 lines of code y: 87 line churn src/openai/resources/beta/realtime/sessions.py x: 180 lines of code y: 556 line churn src/openai/resources/beta/realtime/transcription_sessions.py x: 124 lines of code y: 302 line churn src/openai/types/beta/realtime/realtime_server_event.py x: 99 lines of code y: 181 line churn src/openai/types/beta/realtime/session.py x: 64 lines of code y: 361 line churn src/openai/types/beta/realtime/session_create_params.py x: 69 lines of code y: 420 line churn src/openai/types/beta/realtime/session_create_response.py x: 47 lines of code y: 234 line churn src/openai/types/beta/realtime/session_update_event.py x: 76 lines of code y: 428 line churn src/openai/types/beta/realtime/transcription_session_create_params.py x: 38 lines of code y: 185 line churn src/openai/types/beta/realtime/transcription_session_update.py x: 43 lines of code y: 195 line churn src/openai/types/responses/parsed_response.py x: 101 lines of code y: 138 line churn src/openai/_types.py x: 152 lines of code y: 767 line churn src/openai/resources/admin/organization/admin_api_keys.py x: 297 lines of code y: 521 line churn src/openai/resources/admin/organization/certificates.py x: 496 lines of code y: 902 line churn src/openai/resources/admin/organization/data_retention.py x: 157 lines of code y: 257 line churn src/openai/resources/admin/organization/groups/groups.py x: 394 lines of code y: 664 line churn src/openai/resources/admin/organization/groups/roles.py x: 307 lines of code y: 521 line churn src/openai/resources/admin/organization/projects/api_keys.py x: 261 lines of code y: 479 line churn src/openai/resources/admin/organization/projects/data_retention.py x: 173 lines of code y: 295 line churn src/openai/resources/admin/organization/projects/groups/groups.py x: 359 lines of code y: 589 line churn src/openai/resources/admin/organization/projects/hosted_tool_permissions.py x: 181 lines of code y: 319 line churn src/openai/resources/admin/organization/projects/model_permissions.py x: 226 lines of code y: 386 line churn src/openai/resources/admin/organization/projects/roles.py x: 408 lines of code y: 678 line churn src/openai/resources/admin/organization/projects/spend_alerts.py x: 435 lines of code y: 709 line churn src/openai/resources/admin/organization/projects/spend_limit.py x: 230 lines of code y: 396 line churn src/openai/resources/admin/organization/projects/users/users.py x: 423 lines of code y: 705 line churn src/openai/resources/admin/organization/roles.py x: 378 lines of code y: 646 line churn src/openai/resources/admin/organization/spend_alerts.py x: 389 lines of code y: 663 line churn src/openai/resources/admin/organization/users/users.py x: 335 lines of code y: 577 line churn src/openai/resources/beta/chatkit/sessions.py x: 188 lines of code y: 355 line churn src/openai/resources/beta/chatkit/threads.py x: 329 lines of code y: 599 line churn src/openai/resources/chat/completions/messages.py x: 120 lines of code y: 258 line churn src/openai/resources/containers/containers.py x: 345 lines of code y: 657 line churn src/openai/resources/containers/files/files.py x: 360 lines of code y: 700 line churn src/openai/resources/evals/runs/output_items.py x: 209 lines of code y: 391 line churn src/openai/resources/skills/skills.py x: 417 lines of code y: 733 line churn src/openai/resources/skills/versions/content.py x: 107 lines of code y: 206 line churn src/openai/resources/skills/versions/versions.py x: 367 lines of code y: 649 line churn src/openai/resources/beta/chatkit/chatkit.py x: 82 lines of code y: 386 line churn src/openai/resources/chat/chat.py x: 56 lines of code y: 200 line churn src/openai/types/beta/beta_computer_action.py x: 60 lines of code y: 198 line churn src/openai/types/chat/__init__.py x: 99 lines of code y: 224 line churn src/openai/types/chat_model.py x: 3 lines of code y: 111 line churn src/openai/types/eval_create_params.py x: 91 lines of code y: 704 line churn src/openai/types/graders/label_model_grader.py x: 28 lines of code y: 284 line churn src/openai/types/graders/label_model_grader_param.py x: 34 lines of code y: 291 line churn src/openai/types/realtime/client_secret_create_response.py x: 14 lines of code y: 218 line churn src/openai/types/realtime/realtime_audio_config.py x: 8 lines of code y: 369 line churn src/openai/types/realtime/realtime_transcription_session_create_request.py x: 9 lines of code y: 251 line churn src/openai/types/realtime/realtime_transcription_session_create_request_param.py x: 9 lines of code y: 250 line churn src/openai/types/realtime/response_create_event.py x: 9 lines of code y: 288 line churn src/openai/_utils/__init__.py x: 67 lines of code y: 317 line churn src/openai/_compat.py x: 156 lines of code y: 486 line churn src/openai/_utils/_sync.py x: 22 lines of code y: 232 line churn .github/ISSUE_TEMPLATE/bug_report.yml x: 64 lines of code y: 304 line churn
9101.0
line churn
  min: 1.0
  average: 150.87
  25th percentile: 24.0
  median: 39.0
  75th percentile: 92.0
  max: 9101.0
0 3272.0
lines of code
min: 1.0 | average: 57.13 | 25th percentile: 8.0 | median: 12.0 | 75th percentile: 27.0 | max: 3272.0