openai / openai-python
File Change Frequency

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

Overview
File Change Frequency Overall
  • There are 447 files with 27,805 lines of code.
    • 0 files changed more than 100 times (0 lines of code)
    • 2 files changed 51-100 times (201 lines of code)
    • 8 files changed 21-50 times (5,367 lines of code)
    • 65 files changed 6-20 times (9,284 lines of code)
    • 372 files changed 1-5 times (12,953 lines of code)
0% | <1% | 19% | 33% | 46%
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 447 files with 27,805 lines of code.
    • 0 files changed by more than 25 contributors (0 lines of code)
    • 1 file changed by 11-25 contributors (199 lines of code)
    • 3 files changed by 6-10 contributors (2,506 lines of code)
    • 167 files changed by 2-5 contributors (16,373 lines of code)
    • 276 files changed by 1 contributor (8,727 lines of code)
0% | <1% | 9% | 58% | 31%
Legend:
26+
11-25
6-10
2-5
1

explore: grouped by folders | grouped by contributors count | data
File Change Frequency per File Extension
py, yaml, md, json, txt, gitignore, sh, ini, toml
File Change Frequency per Extension
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
toml0% | 100% | 0% | 0% | 0%
py0% | <1% | 19% | 33% | 46%
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
ROOT0% | 97% | 0% | 0% | 2%
src0% | <1% | 19% | 33% | 46%
scripts0% | 0% | 0% | 0% | 100%
Most Frequently Changed Files (Top 50)

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsfirst
contributor
latest
contributor
199 - 2022-03-17 2025-03-21 80 11 hponde@openai.com robert@craigie.dev
_version.py
in src/openai
2 - 2023-11-06 2024-05-28 59 3 107565488+stainless-bot@use... 107565488+stainless-bot@use...
runs.py
in src/openai/resources/beta/threads/runs
1731 48 2023-11-06 2025-03-11 35 3 robert@craigie.dev robert@craigie.dev
threads.py
in src/openai/resources/beta/threads
956 35 2023-11-06 2025-01-31 31 3 robert@craigie.dev robert@craigie.dev
_base_client.py
in src/openai
1489 91 2023-11-06 2024-11-06 31 7 robert@craigie.dev krpratic@microsoft.com
completion_create_params.py
in src/openai/types/chat
81 - 2023-11-06 2025-03-11 27 4 robert@craigie.dev robert@craigie.dev
run_create_params.py
in src/openai/types/beta/threads
59 - 2023-11-06 2025-03-11 24 3 robert@craigie.dev robert@craigie.dev
thread_create_and_run_params.py
in src/openai/types/beta
102 - 2023-11-06 2025-03-11 23 3 robert@craigie.dev robert@craigie.dev
_models.py
in src/openai
513 26 2023-11-06 2025-04-22 23 6 schnerd@users.noreply.githu... 97478325+konnor-young@users...
files.py
in src/openai/resources
436 16 2023-11-06 2025-03-11 22 4 robert@craigie.dev robert@craigie.dev
run.py
in src/openai/types/beta/threads
63 - 2023-11-06 2024-11-04 19 3 robert@craigie.dev dev+git@stainlessapi.com
completions.py
in src/openai/resources
346 12 2023-11-06 2024-11-04 18 4 robert@craigie.dev dev+git@stainlessapi.com
__init__.py
in src/openai
274 24 2023-11-06 2025-01-13 17 3 robert@craigie.dev robert@craigie.dev
_client.py
in src/openai
457 16 2023-11-06 2025-03-11 17 3 robert@craigie.dev robert@craigie.dev
assistant_create_params.py
in src/openai/types/beta
54 - 2023-11-06 2025-03-11 16 3 robert@craigie.dev robert@craigie.dev
transcriptions.py
in src/openai/resources/audio
354 15 2023-11-06 2024-11-04 16 4 robert@craigie.dev dev+git@stainlessapi.com
__init__.py
in src/openai/types
92 - 2023-11-06 2025-03-11 15 4 robert@craigie.dev robert@craigie.dev
speech.py
in src/openai/resources/audio
129 9 2023-11-06 2024-11-04 15 3 robert@craigie.dev dev+git@stainlessapi.com
embeddings.py
in src/openai/resources
152 11 2023-11-06 2025-02-06 15 5 robert@craigie.dev anthony.p.shaw@gmail.com
translations.py
in src/openai/resources/audio
223 13 2023-11-06 2024-11-04 15 4 robert@craigie.dev dev+git@stainlessapi.com
azure.py
in src/openai/lib
504 16 2023-11-06 2025-02-28 15 8 schnerd@users.noreply.githu... krpratic@microsoft.com
assistant_update_params.py
in src/openai/types/beta
67 - 2023-11-06 2025-03-11 14 4 robert@craigie.dev robert@craigie.dev
_types.py
in src/openai
116 5 2023-11-06 2024-10-28 14 4 schnerd@users.noreply.githu... dev+git@stainlessapi.com
_utils.py
in src/openai/_utils
259 36 2023-11-06 2024-12-19 14 5 schnerd@users.noreply.githu... krpratic@microsoft.com
assistant.py
in src/openai/types/beta
28 - 2023-11-06 2024-11-04 13 3 robert@craigie.dev dev+git@stainlessapi.com
steps.py
in src/openai/resources/beta/threads/runs
208 11 2023-11-06 2024-11-04 13 3 robert@craigie.dev dev+git@stainlessapi.com
images.py
in src/openai/resources
329 11 2023-11-06 2024-11-04 13 4 robert@craigie.dev dev+git@stainlessapi.com
thread_create_params.py
in src/openai/types/beta
59 - 2023-11-06 2025-03-11 12 3 robert@craigie.dev robert@craigie.dev
moderations.py
in src/openai/resources
101 9 2023-11-06 2024-11-04 12 4 robert@craigie.dev dev+git@stainlessapi.com
_streaming.py
in src/openai
292 24 2023-11-06 2025-03-27 12 3 schnerd@users.noreply.githu... robert@craigie.dev
completions.py
in src/openai/resources/beta/chat
435 13 2024-08-06 2025-04-21 12 3 robert@craigie.dev git@bigly.dog
__init__.py
in src/openai/types/beta
30 - 2023-11-06 2025-03-11 11 3 robert@craigie.dev robert@craigie.dev
__init__.py
in src/openai/_utils
60 - 2023-11-06 2024-12-19 11 3 schnerd@users.noreply.githu... krpratic@microsoft.com
_response.py
in src/openai
467 45 2023-11-06 2024-09-17 11 4 schnerd@users.noreply.githu... robert@craigie.dev
beta.py
in src/openai/resources/beta
115 28 2023-11-06 2025-03-11 10 2 robert@craigie.dev robert@craigie.dev
_compat.py
in src/openai
150 25 2023-11-06 2024-11-25 10 5 schnerd@users.noreply.githu... hkawamura0130@gmail.com
models.py
in src/openai/resources
181 12 2023-11-06 2024-04-23 10 3 robert@craigie.dev 107565488+stainless-bot@use...
_transform.py
in src/openai/_utils
249 11 2023-11-06 2024-03-11 10 2 schnerd@users.noreply.githu... 107565488+stainless-bot@use...
completion_create_params.py
in src/openai/types
28 - 2023-11-06 2024-11-04 9 4 robert@craigie.dev dev+git@stainlessapi.com
__init__.py
in src/openai/types/beta/threads
43 - 2023-11-06 2024-08-06 9 2 robert@craigie.dev robert@craigie.dev
assistants.py
in src/openai/resources/beta
513 14 2024-04-17 2025-03-11 9 3 107565488+stainless-bot@use... robert@craigie.dev
completion_usage.py
in src/openai/types
17 - 2023-11-06 2024-11-04 8 4 schnerd@users.noreply.githu... dev+git@stainlessapi.com
message_create_params.py
in src/openai/types/beta/threads
18 - 2023-11-06 2024-06-07 8 2 robert@craigie.dev 107565488+stainless-bot@use...
transcription_create_params.py
in src/openai/types/audio
26 - 2023-11-06 2024-11-04 8 4 robert@craigie.dev dev+git@stainlessapi.com
run_step.py
in src/openai/types/beta/threads/runs
35 - 2023-11-06 2024-03-19 8 2 robert@craigie.dev 107565488+stainless-bot@use...
job_create_params.py
in src/openai/types/fine_tuning
54 - 2023-11-06 2024-11-04 8 4 robert@craigie.dev dev+git@stainlessapi.com
chat.py
in src/openai/resources/chat
56 14 2023-11-06 2025-01-20 8 3 schnerd@users.noreply.githu... 95188570+ninoristeski@users...
__init__.py
in src/openai/types/chat
68 - 2023-11-06 2024-11-04 8 4 robert@craigie.dev dev+git@stainlessapi.com
_exceptions.py
in src/openai
93 7 2023-11-06 2024-09-10 8 4 schnerd@users.noreply.githu... robert@craigie.dev
__init__.py
in src/openai/resources
212 - 2023-11-06 2025-03-11 8 3 robert@craigie.dev robert@craigie.dev
Files With Most Contributors (Top 50)
Based on the number of unique email addresses found in commits.

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsfirst
contributor
latest
contributor
199 - 2022-03-17 2025-03-21 80 11 hponde@openai.com robert@craigie.dev
azure.py
in src/openai/lib
504 16 2023-11-06 2025-02-28 15 8 schnerd@users.noreply.githu... krpratic@microsoft.com
_base_client.py
in src/openai
1489 91 2023-11-06 2024-11-06 31 7 robert@craigie.dev krpratic@microsoft.com
_models.py
in src/openai
513 26 2023-11-06 2025-04-22 23 6 schnerd@users.noreply.githu... 97478325+konnor-young@users...
embeddings.py
in src/openai/resources
152 11 2023-11-06 2025-02-06 15 5 robert@craigie.dev anthony.p.shaw@gmail.com
_utils.py
in src/openai/_utils
259 36 2023-11-06 2024-12-19 14 5 schnerd@users.noreply.githu... krpratic@microsoft.com
_compat.py
in src/openai
150 25 2023-11-06 2024-11-25 10 5 schnerd@users.noreply.githu... hkawamura0130@gmail.com
migrate.py
in src/openai/cli/_tools
104 8 2023-11-06 2024-12-16 6 5 schnerd@users.noreply.githu... chiptuned@users.noreply.git...
_assistants.py
in src/openai/lib/streaming
615 46 2024-03-13 2024-11-27 5 5 107565488+stainless-bot@use... baballev@users.noreply.gith...
completion_create_params.py
in src/openai/types/chat
81 - 2023-11-06 2025-03-11 27 4 robert@craigie.dev robert@craigie.dev
files.py
in src/openai/resources
436 16 2023-11-06 2025-03-11 22 4 robert@craigie.dev robert@craigie.dev
completions.py
in src/openai/resources
346 12 2023-11-06 2024-11-04 18 4 robert@craigie.dev dev+git@stainlessapi.com
transcriptions.py
in src/openai/resources/audio
354 15 2023-11-06 2024-11-04 16 4 robert@craigie.dev dev+git@stainlessapi.com
translations.py
in src/openai/resources/audio
223 13 2023-11-06 2024-11-04 15 4 robert@craigie.dev dev+git@stainlessapi.com
__init__.py
in src/openai/types
92 - 2023-11-06 2025-03-11 15 4 robert@craigie.dev robert@craigie.dev
assistant_update_params.py
in src/openai/types/beta
67 - 2023-11-06 2025-03-11 14 4 robert@craigie.dev robert@craigie.dev
_types.py
in src/openai
116 5 2023-11-06 2024-10-28 14 4 schnerd@users.noreply.githu... dev+git@stainlessapi.com
images.py
in src/openai/resources
329 11 2023-11-06 2024-11-04 13 4 robert@craigie.dev dev+git@stainlessapi.com
moderations.py
in src/openai/resources
101 9 2023-11-06 2024-11-04 12 4 robert@craigie.dev dev+git@stainlessapi.com
_response.py
in src/openai
467 45 2023-11-06 2024-09-17 11 4 schnerd@users.noreply.githu... robert@craigie.dev
completion_create_params.py
in src/openai/types
28 - 2023-11-06 2024-11-04 9 4 robert@craigie.dev dev+git@stainlessapi.com
job_create_params.py
in src/openai/types/fine_tuning
54 - 2023-11-06 2024-11-04 8 4 robert@craigie.dev dev+git@stainlessapi.com
completion_usage.py
in src/openai/types
17 - 2023-11-06 2024-11-04 8 4 schnerd@users.noreply.githu... dev+git@stainlessapi.com
transcription_create_params.py
in src/openai/types/audio
26 - 2023-11-06 2024-11-04 8 4 robert@craigie.dev dev+git@stainlessapi.com
__init__.py
in src/openai/types/chat
68 - 2023-11-06 2024-11-04 8 4 robert@craigie.dev dev+git@stainlessapi.com
_exceptions.py
in src/openai
93 7 2023-11-06 2024-09-10 8 4 schnerd@users.noreply.githu... robert@craigie.dev
__init__.py
in src/openai/types/audio
17 - 2023-11-06 2024-09-27 6 4 robert@craigie.dev robert@craigie.dev
transcription.py
in src/openai/types/audio
10 - 2023-11-06 2024-08-02 6 4 schnerd@users.noreply.githu... dev+git@stainlessapi.com
translation_create_params.py
in src/openai/types/audio
12 - 2023-11-06 2024-11-04 6 4 robert@craigie.dev dev+git@stainlessapi.com
chat_completion.py
in src/openai/types/chat
24 - 2023-11-06 2024-08-06 6 4 robert@craigie.dev robert@craigie.dev
_proxy.py
in src/openai/_utils
42 8 2023-11-06 2024-08-06 6 4 schnerd@users.noreply.githu... dev+git@stainlessapi.com
_completions.py
in src/openai/lib/streaming/chat
546 29 2024-08-06 2025-04-30 6 4 robert@craigie.dev 138108569+maesta7@users.nor...
translation.py
in src/openai/types/audio
4 - 2023-11-06 2024-08-02 5 4 schnerd@users.noreply.githu... dev+git@stainlessapi.com
model_deleted.py
in src/openai/types
6 - 2023-11-06 2024-08-02 5 4 schnerd@users.noreply.githu... dev+git@stainlessapi.com
13 - 2023-11-06 2024-11-04 5 4 robert@craigie.dev dev+git@stainlessapi.com
image_generate_params.py
in src/openai/types
20 - 2023-11-06 2024-11-04 5 4 robert@craigie.dev dev+git@stainlessapi.com
image_edit_params.py
in src/openai/types
17 - 2023-11-06 2024-11-04 5 4 robert@craigie.dev dev+git@stainlessapi.com
_files.py
in src/openai
83 8 2023-11-06 2024-08-06 4 4 robert@craigie.dev dev+git@stainlessapi.com
_version.py
in src/openai
2 - 2023-11-06 2024-05-28 59 3 107565488+stainless-bot@use... 107565488+stainless-bot@use...
runs.py
in src/openai/resources/beta/threads/runs
1731 48 2023-11-06 2025-03-11 35 3 robert@craigie.dev robert@craigie.dev
threads.py
in src/openai/resources/beta/threads
956 35 2023-11-06 2025-01-31 31 3 robert@craigie.dev robert@craigie.dev
run_create_params.py
in src/openai/types/beta/threads
59 - 2023-11-06 2025-03-11 24 3 robert@craigie.dev robert@craigie.dev
thread_create_and_run_params.py
in src/openai/types/beta
102 - 2023-11-06 2025-03-11 23 3 robert@craigie.dev robert@craigie.dev
run.py
in src/openai/types/beta/threads
63 - 2023-11-06 2024-11-04 19 3 robert@craigie.dev dev+git@stainlessapi.com
__init__.py
in src/openai
274 24 2023-11-06 2025-01-13 17 3 robert@craigie.dev robert@craigie.dev
_client.py
in src/openai
457 16 2023-11-06 2025-03-11 17 3 robert@craigie.dev robert@craigie.dev
assistant_create_params.py
in src/openai/types/beta
54 - 2023-11-06 2025-03-11 16 3 robert@craigie.dev robert@craigie.dev
speech.py
in src/openai/resources/audio
129 9 2023-11-06 2024-11-04 15 3 robert@craigie.dev dev+git@stainlessapi.com
steps.py
in src/openai/resources/beta/threads/runs
208 11 2023-11-06 2024-11-04 13 3 robert@craigie.dev dev+git@stainlessapi.com
assistant.py
in src/openai/types/beta
28 - 2023-11-06 2024-11-04 13 3 robert@craigie.dev dev+git@stainlessapi.com
Files With Least Contributors (Top 50)
Based on the number of unique email addresses found in commits.

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsfirst
contributor
latest
contributor
runs.py
in src/openai/resources/evals/runs
386 20
evals.py
in src/openai/resources/evals
378 20
permissions.py
in src/openai/resources/fine_tuning/checkpoints
245 12
output_items.py
in src/openai/resources/evals/runs
189 11
sessions.py
in src/openai/resources/beta/realtime
166 9
run_retrieve_response.py
in src/openai/types/evals
134 -
run_create_response.py
in src/openai/types/evals
134 -
run_list_response.py
in src/openai/types/evals
134 -
run_cancel_response.py
in src/openai/types/evals
134 -
transcription_sessions.py
in src/openai/resources/beta/realtime
120 9
run_create_params.py
in src/openai/types/evals
105 -
parts.py
in src/openai/resources/uploads
99 9
realtime_server_event.py
in src/openai/types/beta/realtime
99 -
__init__.py
in src/openai/types/beta/realtime
93 -
eval_create_params.py
in src/openai/types
92 -
75 -
eval_list_response.py
in src/openai/types
70 -
eval_retrieve_response.py
in src/openai/types
70 -
eval_update_response.py
in src/openai/types
70 -
eval_create_response.py
in src/openai/types
70 -
68 -
session_update_event.py
in src/openai/types/beta/realtime
60 -
checkpoints.py
in src/openai/resources/fine_tuning/checkpoints
56 14
session_update_event_param.py
in src/openai/types/beta/realtime
56 -
session.py
in src/openai/types/beta/realtime
50 -
session_create_params.py
in src/openai/types/beta/realtime
45 -
__init__.py
in src/openai/resources/beta/realtime
44 -
output_item_list_response.py
in src/openai/types/evals/runs
39 -
output_item_retrieve_response.py
in src/openai/types/evals/runs
39 -
realtime_client_event.py
in src/openai/types/beta/realtime
36 -
session_create_response.py
in src/openai/types/beta/realtime
36 -
transcription_session_update.py
in src/openai/types/beta/realtime
35 -
transcription_session_update_param.py
in src/openai/types/beta/realtime
35 -
realtime_client_event_param.py
in src/openai/types/beta/realtime
32 -
response_create_event.py
in src/openai/types/beta/realtime
31 -
__init__.py
in src/openai/resources/fine_tuning/checkpoints
30 -
__init__.py
in src/openai/resources/uploads
30 -
__init__.py
in src/openai/resources/evals
30 -
__init__.py
in src/openai/resources/evals/runs
30 -
__init__.py
in src/openai/resources/chat/completions
30 -
response_create_event_param.py
in src/openai/types/beta/realtime
29 -
realtime_response.py
in src/openai/types/beta/realtime
26 -
response_item.py
in src/openai/types/responses
25 -
transcription_session_create_params.py
in src/openai/types/beta/realtime
25 -
23 -
transcription_session.py
in src/openai/types/beta/realtime
22 -
eval_label_model_grader.py
in src/openai/types
20 -
__init__.py
in src/openai/types/evals
19 -
create_eval_jsonl_run_data_source.py
in src/openai/types/evals
18 -
response_content_part_added_event.py
in src/openai/types/beta/realtime
17 -
Correlations

File Size vs. Number of Changes: 447 points

src/openai/lib/streaming/chat/_completions.py x: 546 lines of code y: 6 # changes src/openai/_models.py x: 513 lines of code y: 23 # changes src/openai/resources/beta/chat/completions.py x: 435 lines of code y: 12 # changes src/openai/_streaming.py x: 292 lines of code y: 12 # changes pyproject.toml x: 199 lines of code y: 80 # changes src/openai/_extras/numpy_proxy.py x: 24 lines of code y: 4 # changes src/openai/_extras/sounddevice_proxy.py x: 18 lines of code y: 1 # changes src/openai/_extras/__init__.py x: 3 lines of code y: 4 # changes src/openai/helpers/local_audio_player.py x: 140 lines of code y: 2 # changes src/openai/helpers/microphone.py x: 80 lines of code y: 2 # changes src/openai/helpers/__init__.py x: 3 lines of code y: 1 # changes src/openai/_client.py x: 457 lines of code y: 17 # changes src/openai/lib/_parsing/_responses.py x: 139 lines of code y: 1 # changes src/openai/lib/_tools.py x: 43 lines of code y: 2 # changes src/openai/lib/streaming/responses/__init__.py x: 13 lines of code y: 1 # changes src/openai/lib/streaming/responses/_events.py x: 98 lines of code y: 1 # changes src/openai/lib/streaming/responses/_responses.py x: 282 lines of code y: 1 # changes src/openai/lib/streaming/responses/_types.py x: 4 lines of code y: 1 # changes src/openai/resources/__init__.py x: 212 lines of code y: 8 # changes src/openai/resources/beta/__init__.py x: 44 lines of code y: 7 # changes src/openai/resources/beta/assistants.py x: 513 lines of code y: 9 # changes src/openai/resources/beta/beta.py x: 115 lines of code y: 10 # changes src/openai/resources/beta/threads/runs/runs.py x: 1731 lines of code y: 35 # changes src/openai/resources/chat/completions/completions.py x: 753 lines of code y: 1 # changes src/openai/resources/chat/completions/messages.py x: 118 lines of code y: 1 # changes src/openai/resources/files.py x: 436 lines of code y: 22 # changes src/openai/resources/responses/__init__.py x: 30 lines of code y: 1 # changes src/openai/resources/responses/input_items.py x: 128 lines of code y: 1 # changes src/openai/resources/responses/responses.py x: 809 lines of code y: 1 # changes src/openai/resources/uploads/uploads.py x: 407 lines of code y: 3 # changes src/openai/resources/vector_stores/__init__.py x: 44 lines of code y: 1 # changes src/openai/resources/vector_stores/file_batches.py x: 495 lines of code y: 1 # changes src/openai/resources/vector_stores/files.py x: 577 lines of code y: 1 # changes src/openai/resources/vector_stores/vector_stores.py x: 511 lines of code y: 1 # changes src/openai/types/__init__.py x: 92 lines of code y: 15 # changes src/openai/types/beta/__init__.py x: 30 lines of code y: 11 # changes src/openai/types/beta/assistant_create_params.py x: 54 lines of code y: 16 # changes src/openai/types/beta/assistant_update_params.py x: 67 lines of code y: 14 # changes src/openai/types/beta/thread_create_and_run_params.py x: 102 lines of code y: 23 # changes src/openai/types/beta/thread_create_params.py x: 59 lines of code y: 12 # changes src/openai/types/beta/threads/run_create_params.py x: 59 lines of code y: 24 # changes src/openai/types/chat/chat_completion_audio_param.py x: 11 lines of code y: 2 # changes src/openai/types/chat/chat_completion_content_part_param.py x: 20 lines of code y: 5 # changes src/openai/types/chat/chat_completion_message.py x: 25 lines of code y: 5 # changes src/openai/types/chat/completion_create_params.py x: 81 lines of code y: 27 # changes src/openai/types/chat/completion_list_params.py x: 11 lines of code y: 1 # changes src/openai/types/file_chunking_strategy.py x: 9 lines of code y: 1 # changes src/openai/types/file_create_params.py x: 8 lines of code y: 6 # changes src/openai/types/responses/__init__.py x: 165 lines of code y: 1 # changes src/openai/types/responses/parsed_response.py x: 53 lines of code y: 1 # changes src/openai/types/responses/response_code_interpreter_tool_call.py x: 21 lines of code y: 1 # changes src/openai/types/responses/response_computer_tool_call.py x: 79 lines of code y: 1 # changes src/openai/types/responses/response_computer_tool_call_param.py x: 75 lines of code y: 1 # changes src/openai/types/responses/response_error.py x: 25 lines of code y: 1 # changes src/openai/types/responses/response_input_item_param.py x: 58 lines of code y: 1 # changes src/openai/types/responses/response_input_param.py x: 60 lines of code y: 1 # changes src/openai/types/responses/response_text_annotation_delta_event.py x: 35 lines of code y: 1 # changes src/openai/types/shared/__init__.py x: 14 lines of code y: 5 # changes src/openai/types/shared/response_format_json_object.py x: 5 lines of code y: 2 # changes src/openai/types/shared/response_format_json_schema.py x: 13 lines of code y: 2 # changes src/openai/types/shared_params/__init__.py x: 12 lines of code y: 4 # changes src/openai/lib/azure.py x: 504 lines of code y: 15 # changes src/openai/resources/beta/realtime/realtime.py x: 595 lines of code y: 2 # changes src/openai/lib/_parsing/_completions.py x: 200 lines of code y: 5 # changes src/openai/resources/embeddings.py x: 152 lines of code y: 15 # changes src/openai/cli/_api/chat/completions.py x: 131 lines of code y: 2 # changes src/openai/resources/beta/threads/threads.py x: 956 lines of code y: 31 # changes src/openai/resources/chat/chat.py x: 56 lines of code y: 8 # changes src/openai/lib/_pydantic.py x: 99 lines of code y: 7 # changes src/openai/__init__.py x: 274 lines of code y: 17 # changes src/openai/_utils/__init__.py x: 60 lines of code y: 11 # changes src/openai/_utils/_utils.py x: 259 lines of code y: 14 # changes src/openai/cli/_tools/migrate.py x: 104 lines of code y: 6 # changes src/openai/cli/_cli.py x: 174 lines of code y: 2 # changes src/openai/lib/streaming/chat/__init__.py x: 27 lines of code y: 2 # changes src/openai/lib/streaming/_assistants.py x: 615 lines of code y: 5 # changes src/openai/_compat.py x: 150 lines of code y: 10 # changes src/openai/_utils/_sync.py x: 34 lines of code y: 2 # changes src/openai/_base_client.py x: 1489 lines of code y: 31 # changes src/openai/_utils/_logs.py x: 31 lines of code y: 2 # changes src/openai/resources/audio/speech.py x: 129 lines of code y: 15 # changes src/openai/resources/audio/transcriptions.py x: 354 lines of code y: 16 # changes src/openai/resources/audio/translations.py x: 223 lines of code y: 15 # changes src/openai/resources/beta/threads/messages.py x: 383 lines of code y: 5 # changes src/openai/resources/beta/threads/runs/steps.py x: 208 lines of code y: 13 # changes src/openai/resources/completions.py x: 346 lines of code y: 18 # changes src/openai/resources/fine_tuning/jobs/jobs.py x: 402 lines of code y: 7 # changes src/openai/resources/images.py x: 329 lines of code y: 13 # changes src/openai/resources/moderations.py x: 101 lines of code y: 12 # changes src/openai/types/audio/speech_create_params.py x: 16 lines of code y: 7 # changes src/openai/types/audio/transcription_create_params.py x: 26 lines of code y: 8 # changes src/openai/types/audio/translation_create_params.py x: 12 lines of code y: 6 # changes src/openai/types/beta/assistant.py x: 28 lines of code y: 13 # changes src/openai/types/beta/assistant_list_params.py x: 8 lines of code y: 3 # changes src/openai/types/beta/file_search_tool.py x: 13 lines of code y: 6 # changes src/openai/types/beta/threads/message_list_params.py x: 9 lines of code y: 4 # changes src/openai/types/beta/threads/run.py x: 63 lines of code y: 19 # changes src/openai/types/beta/threads/runs/step_retrieve_params.py x: 9 lines of code y: 2 # changes src/openai/types/chat/__init__.py x: 68 lines of code y: 8 # changes src/openai/types/chat/chat_completion_content_part_image_param.py x: 9 lines of code y: 5 # changes src/openai/types/completion_create_params.py x: 28 lines of code y: 9 # changes src/openai/types/completion_usage.py x: 17 lines of code y: 8 # changes src/openai/types/embedding_create_params.py x: 11 lines of code y: 7 # changes src/openai/types/image_edit_params.py x: 17 lines of code y: 5 # changes src/openai/_types.py x: 116 lines of code y: 14 # changes src/openai/types/chat_model.py x: 3 lines of code y: 5 # changes src/openai/_utils/_reflection.py x: 32 lines of code y: 1 # changes src/openai/types/audio/__init__.py x: 17 lines of code y: 6 # changes src/openai/_legacy_response.py x: 317 lines of code y: 8 # changes src/openai/_response.py x: 467 lines of code y: 11 # changes src/openai/_exceptions.py x: 93 lines of code y: 8 # changes src/openai/types/beta/threads/runs/__init__.py x: 21 lines of code y: 7 # changes src/openai/lib/streaming/_deltas.py x: 43 lines of code y: 1 # changes src/openai/lib/streaming/chat/_events.py x: 66 lines of code y: 1 # changes src/openai/types/beta/threads/__init__.py x: 43 lines of code y: 9 # changes src/openai/types/chat/chat_completion.py x: 24 lines of code y: 6 # changes src/openai/types/chat/chat_completion_assistant_message_param.py x: 21 lines of code y: 6 # changes src/openai/types/chat/chat_completion_chunk.py x: 48 lines of code y: 7 # changes src/openai/types/shared_params/function_definition.py x: 10 lines of code y: 5 # changes src/openai/_files.py x: 83 lines of code y: 4 # changes src/openai/_utils/_proxy.py x: 42 lines of code y: 6 # changes src/openai/cli/_errors.py x: 11 lines of code y: 3 # changes src/openai/types/audio/translation.py x: 4 lines of code y: 5 # changes src/openai/types/batch_request_counts.py x: 6 lines of code y: 4 # changes src/openai/types/fine_tuning/fine_tuning_job_integration.py x: 2 lines of code y: 3 # changes src/openai/cli/_api/audio.py x: 79 lines of code y: 3 # changes src/openai/types/beta/threads/message.py x: 36 lines of code y: 7 # changes src/openai/resources/batches.py x: 274 lines of code y: 7 # changes src/openai/types/beta/assistant_stream_event.py x: 140 lines of code y: 4 # changes src/openai/_version.py x: 2 lines of code y: 59 # changes src/openai/types/beta/threads/run_status.py x: 13 lines of code y: 3 # changes src/openai/types/file_object.py x: 16 lines of code y: 4 # changes scripts/utils/ruffen-docs.py x: 135 lines of code y: 1 # changes src/openai/types/fine_tuning/fine_tuning_job.py x: 60 lines of code y: 5 # changes src/openai/types/moderation.py x: 52 lines of code y: 7 # changes src/openai/resources/fine_tuning/jobs/checkpoints.py x: 116 lines of code y: 2 # changes src/openai/resources/models.py x: 181 lines of code y: 10 # changes src/openai/_module_client.py x: 78 lines of code y: 4 # changes src/openai/resources/fine_tuning/fine_tuning.py x: 82 lines of code y: 6 # changes src/openai/lib/_validators.py x: 597 lines of code y: 4 # changes src/openai/_constants.py x: 8 lines of code y: 7 # changes src/openai/_resource.py x: 30 lines of code y: 3 # changes src/openai/pagination.py x: 80 lines of code y: 5 # changes src/openai/resources/audio/__init__.py x: 58 lines of code y: 5 # changes src/openai/resources/audio/audio.py x: 108 lines of code y: 7 # changes src/openai/resources/beta/threads/__init__.py x: 44 lines of code y: 5 # changes src/openai/resources/chat/__init__.py x: 30 lines of code y: 5 # changes src/openai/types/beta/chat/__init__.py x: 1 lines of code y: 2 # changes src/openai/types/beta/threads/run_submit_tool_outputs_params.py x: 20 lines of code y: 4 # changes src/openai/types/beta/threads/runs/code_interpreter_tool_call_delta.py x: 18 lines of code y: 2 # changes src/openai/types/beta/threads/runs/run_step.py x: 35 lines of code y: 8 # changes src/openai/types/completion_choice.py x: 14 lines of code y: 4 # changes src/openai/_utils/_transform.py x: 249 lines of code y: 10 # changes src/openai/cli/_api/image.py x: 113 lines of code y: 2 # changes src/openai/_utils/_typing.py x: 72 lines of code y: 4 # changes src/openai/_extras/pandas_proxy.py x: 18 lines of code y: 3 # changes src/openai/cli/_api/completions.py x: 142 lines of code y: 2 # changes src/openai/_qs.py x: 124 lines of code y: 1 # changes
80.0
# changes
  min: 1.0
  average: 3.74
  25th percentile: 1.0
  median: 2.0
  75th percentile: 4.0
  max: 80.0
0 1731.0
lines of code
min: 1.0 | average: 62.2 | 25th percentile: 7.0 | median: 10.0 | 75th percentile: 34.0 | max: 1731.0

Number of Contributors vs. Number of Changes: 447 points

src/openai/lib/streaming/chat/_completions.py x: 4 # contributors y: 6 # changes src/openai/_models.py x: 6 # contributors y: 23 # changes src/openai/resources/beta/chat/completions.py x: 3 # contributors y: 12 # changes pyproject.toml x: 11 # contributors y: 80 # changes src/openai/_extras/numpy_proxy.py x: 3 # contributors y: 4 # changes src/openai/_extras/sounddevice_proxy.py x: 1 # contributors y: 1 # changes src/openai/helpers/local_audio_player.py x: 2 # contributors y: 2 # changes src/openai/_client.py x: 3 # contributors y: 17 # changes src/openai/lib/_tools.py x: 1 # contributors y: 2 # changes src/openai/resources/__init__.py x: 3 # contributors y: 8 # changes src/openai/resources/beta/__init__.py x: 2 # contributors y: 7 # changes src/openai/resources/beta/assistants.py x: 3 # contributors y: 9 # changes src/openai/resources/beta/beta.py x: 2 # contributors y: 10 # changes src/openai/resources/beta/threads/runs/runs.py x: 3 # contributors y: 35 # changes src/openai/resources/files.py x: 4 # contributors y: 22 # changes src/openai/resources/uploads/uploads.py x: 2 # contributors y: 3 # changes src/openai/types/__init__.py x: 4 # contributors y: 15 # changes src/openai/types/beta/__init__.py x: 3 # contributors y: 11 # changes src/openai/types/beta/assistant_create_params.py x: 3 # contributors y: 16 # changes src/openai/types/beta/assistant_update_params.py x: 4 # contributors y: 14 # changes src/openai/types/beta/thread_create_and_run_params.py x: 3 # contributors y: 23 # changes src/openai/types/beta/threads/run_create_params.py x: 3 # contributors y: 24 # changes src/openai/types/chat/chat_completion_content_part_param.py x: 2 # contributors y: 5 # changes src/openai/types/chat/chat_completion_message.py x: 3 # contributors y: 5 # changes src/openai/types/chat/completion_create_params.py x: 4 # contributors y: 27 # changes src/openai/types/file_create_params.py x: 3 # contributors y: 6 # changes src/openai/types/shared_params/__init__.py x: 2 # contributors y: 4 # changes src/openai/lib/azure.py x: 8 # contributors y: 15 # changes src/openai/resources/embeddings.py x: 5 # contributors y: 15 # changes src/openai/resources/beta/threads/threads.py x: 3 # contributors y: 31 # changes src/openai/lib/_pydantic.py x: 3 # contributors y: 7 # changes src/openai/_utils/_utils.py x: 5 # contributors y: 14 # changes src/openai/cli/_tools/migrate.py x: 5 # contributors y: 6 # changes src/openai/lib/streaming/_assistants.py x: 5 # contributors y: 5 # changes src/openai/_compat.py x: 5 # contributors y: 10 # changes src/openai/_utils/_sync.py x: 3 # contributors y: 2 # changes src/openai/_base_client.py x: 7 # contributors y: 31 # changes src/openai/resources/audio/speech.py x: 3 # contributors y: 15 # changes src/openai/resources/audio/transcriptions.py x: 4 # contributors y: 16 # changes src/openai/resources/beta/threads/runs/steps.py x: 3 # contributors y: 13 # changes src/openai/resources/completions.py x: 4 # contributors y: 18 # changes src/openai/resources/images.py x: 4 # contributors y: 13 # changes src/openai/resources/moderations.py x: 4 # contributors y: 12 # changes src/openai/types/audio/transcription_create_params.py x: 4 # contributors y: 8 # changes src/openai/types/beta/assistant_list_params.py x: 3 # contributors y: 3 # changes src/openai/types/beta/threads/run.py x: 3 # contributors y: 19 # changes src/openai/types/completion_create_params.py x: 4 # contributors y: 9 # changes src/openai/types/image_create_variation_params.py x: 4 # contributors y: 5 # changes src/openai/_response.py x: 4 # contributors y: 11 # changes src/openai/types/beta/threads/__init__.py x: 2 # contributors y: 9 # changes src/openai/types/chat/chat_completion_assistant_message_param.py x: 2 # contributors y: 6 # changes src/openai/_files.py x: 4 # contributors y: 4 # changes src/openai/types/beta/threads/file_citation_annotation.py x: 1 # contributors y: 3 # changes src/openai/types/beta/threads/message.py x: 1 # contributors y: 7 # changes src/openai/types/beta/threads/message_create_params.py x: 2 # contributors y: 8 # changes src/openai/types/batch_create_params.py x: 1 # contributors y: 5 # changes src/openai/types/beta/assistant_stream_event.py x: 1 # contributors y: 4 # changes src/openai/_version.py x: 3 # contributors y: 59 # changes src/openai/resources/models.py x: 3 # contributors y: 10 # changes src/openai/cli/_api/files.py x: 2 # contributors y: 1 # changes
80.0
# changes
  min: 1.0
  average: 3.74
  25th percentile: 1.0
  median: 2.0
  75th percentile: 4.0
  max: 80.0
0 11.0
# contributors
min: 1.0 | average: 1.74 | 25th percentile: 1.0 | median: 1.0 | 75th percentile: 2.0 | max: 11.0

Number of Contributors vs. File Size: 447 points

src/openai/lib/streaming/chat/_completions.py x: 4 # contributors y: 546 lines of code src/openai/_models.py x: 6 # contributors y: 513 lines of code src/openai/resources/beta/chat/completions.py x: 3 # contributors y: 435 lines of code src/openai/_streaming.py x: 3 # contributors y: 292 lines of code pyproject.toml x: 11 # contributors y: 199 lines of code src/openai/_extras/numpy_proxy.py x: 3 # contributors y: 24 lines of code src/openai/_extras/sounddevice_proxy.py x: 1 # contributors y: 18 lines of code src/openai/_extras/__init__.py x: 3 # contributors y: 3 lines of code src/openai/helpers/local_audio_player.py x: 2 # contributors y: 140 lines of code src/openai/helpers/microphone.py x: 2 # contributors y: 80 lines of code src/openai/helpers/__init__.py x: 1 # contributors y: 3 lines of code src/openai/_client.py x: 3 # contributors y: 457 lines of code src/openai/lib/_parsing/_responses.py x: 1 # contributors y: 139 lines of code src/openai/lib/_tools.py x: 1 # contributors y: 43 lines of code src/openai/lib/streaming/responses/__init__.py x: 1 # contributors y: 13 lines of code src/openai/lib/streaming/responses/_events.py x: 1 # contributors y: 98 lines of code src/openai/lib/streaming/responses/_responses.py x: 1 # contributors y: 282 lines of code src/openai/resources/__init__.py x: 3 # contributors y: 212 lines of code src/openai/resources/beta/__init__.py x: 2 # contributors y: 44 lines of code src/openai/resources/beta/assistants.py x: 3 # contributors y: 513 lines of code src/openai/resources/beta/beta.py x: 2 # contributors y: 115 lines of code src/openai/resources/beta/threads/runs/runs.py x: 3 # contributors y: 1731 lines of code src/openai/resources/chat/completions/completions.py x: 1 # contributors y: 753 lines of code src/openai/resources/chat/completions/messages.py x: 1 # contributors y: 118 lines of code src/openai/resources/files.py x: 4 # contributors y: 436 lines of code src/openai/resources/responses/__init__.py x: 1 # contributors y: 30 lines of code src/openai/resources/responses/input_items.py x: 1 # contributors y: 128 lines of code src/openai/resources/responses/responses.py x: 1 # contributors y: 809 lines of code src/openai/resources/uploads/uploads.py x: 2 # contributors y: 407 lines of code src/openai/resources/vector_stores/file_batches.py x: 1 # contributors y: 495 lines of code src/openai/resources/vector_stores/files.py x: 1 # contributors y: 577 lines of code src/openai/resources/vector_stores/vector_stores.py x: 1 # contributors y: 511 lines of code src/openai/types/__init__.py x: 4 # contributors y: 92 lines of code src/openai/types/beta/__init__.py x: 3 # contributors y: 30 lines of code src/openai/types/beta/assistant_create_params.py x: 3 # contributors y: 54 lines of code src/openai/types/beta/assistant_update_params.py x: 4 # contributors y: 67 lines of code src/openai/types/beta/thread_create_and_run_params.py x: 3 # contributors y: 102 lines of code src/openai/types/beta/thread_create_params.py x: 3 # contributors y: 59 lines of code src/openai/types/chat/chat_completion_audio_param.py x: 2 # contributors y: 11 lines of code src/openai/types/chat/chat_completion_content_part_param.py x: 2 # contributors y: 20 lines of code src/openai/types/chat/completion_create_params.py x: 4 # contributors y: 81 lines of code src/openai/types/file_create_params.py x: 3 # contributors y: 8 lines of code src/openai/types/responses/__init__.py x: 1 # contributors y: 165 lines of code src/openai/types/responses/parsed_response.py x: 1 # contributors y: 53 lines of code src/openai/types/responses/response_code_interpreter_tool_call.py x: 1 # contributors y: 21 lines of code src/openai/types/responses/response_computer_tool_call.py x: 1 # contributors y: 79 lines of code src/openai/types/responses/response_input_item_param.py x: 1 # contributors y: 58 lines of code src/openai/types/responses/response_text_annotation_delta_event.py x: 1 # contributors y: 35 lines of code src/openai/lib/azure.py x: 8 # contributors y: 504 lines of code src/openai/resources/beta/realtime/realtime.py x: 1 # contributors y: 595 lines of code src/openai/lib/_parsing/_completions.py x: 2 # contributors y: 200 lines of code src/openai/resources/embeddings.py x: 5 # contributors y: 152 lines of code src/openai/cli/_api/chat/completions.py x: 2 # contributors y: 131 lines of code src/openai/resources/beta/threads/threads.py x: 3 # contributors y: 956 lines of code src/openai/__init__.py x: 3 # contributors y: 274 lines of code src/openai/_utils/_utils.py x: 5 # contributors y: 259 lines of code src/openai/cli/_tools/migrate.py x: 5 # contributors y: 104 lines of code src/openai/cli/_cli.py x: 2 # contributors y: 174 lines of code src/openai/lib/streaming/_assistants.py x: 5 # contributors y: 615 lines of code src/openai/_base_client.py x: 7 # contributors y: 1489 lines of code src/openai/_utils/_logs.py x: 2 # contributors y: 31 lines of code src/openai/resources/audio/speech.py x: 3 # contributors y: 129 lines of code src/openai/resources/audio/transcriptions.py x: 4 # contributors y: 354 lines of code src/openai/resources/audio/translations.py x: 4 # contributors y: 223 lines of code src/openai/resources/beta/threads/messages.py x: 2 # contributors y: 383 lines of code src/openai/resources/beta/threads/runs/steps.py x: 3 # contributors y: 208 lines of code src/openai/resources/completions.py x: 4 # contributors y: 346 lines of code src/openai/resources/fine_tuning/jobs/jobs.py x: 3 # contributors y: 402 lines of code src/openai/resources/images.py x: 4 # contributors y: 329 lines of code src/openai/resources/moderations.py x: 4 # contributors y: 101 lines of code src/openai/types/audio/speech_create_params.py x: 3 # contributors y: 16 lines of code src/openai/types/audio/transcription_create_params.py x: 4 # contributors y: 26 lines of code src/openai/types/audio/translation_create_params.py x: 4 # contributors y: 12 lines of code src/openai/types/beta/threads/run.py x: 3 # contributors y: 63 lines of code src/openai/types/completion_create_params.py x: 4 # contributors y: 28 lines of code src/openai/types/completion_usage.py x: 4 # contributors y: 17 lines of code src/openai/types/fine_tuning/job_create_params.py x: 4 # contributors y: 54 lines of code src/openai/_types.py x: 4 # contributors y: 116 lines of code src/openai/_legacy_response.py x: 3 # contributors y: 317 lines of code src/openai/_response.py x: 4 # contributors y: 467 lines of code src/openai/lib/streaming/chat/_events.py x: 1 # contributors y: 66 lines of code src/openai/types/chat/chat_completion_assistant_message_param.py x: 2 # contributors y: 21 lines of code src/openai/_files.py x: 4 # contributors y: 83 lines of code src/openai/_utils/_proxy.py x: 4 # contributors y: 42 lines of code src/openai/types/audio/translation.py x: 4 # contributors y: 4 lines of code src/openai/cli/_api/audio.py x: 3 # contributors y: 79 lines of code src/openai/resources/batches.py x: 1 # contributors y: 274 lines of code scripts/utils/ruffen-docs.py x: 1 # contributors y: 135 lines of code src/openai/resources/models.py x: 3 # contributors y: 181 lines of code src/openai/resources/fine_tuning/fine_tuning.py x: 2 # contributors y: 82 lines of code src/openai/lib/_validators.py x: 3 # contributors y: 597 lines of code src/openai/resources/audio/audio.py x: 3 # contributors y: 108 lines of code src/openai/types/beta/chat/__init__.py x: 2 # contributors y: 1 lines of code src/openai/types/beta/threads/runs/run_step.py x: 2 # contributors y: 35 lines of code src/openai/_utils/_transform.py x: 2 # contributors y: 249 lines of code src/openai/_utils/_typing.py x: 1 # contributors y: 72 lines of code src/openai/cli/_api/files.py x: 2 # contributors y: 59 lines of code
1731.0
lines of code
  min: 1.0
  average: 62.2
  25th percentile: 7.0
  median: 10.0
  75th percentile: 34.0
  max: 1731.0
0 11.0
# contributors
min: 1.0 | average: 1.74 | 25th percentile: 1.0 | median: 1.0 | 75th percentile: 2.0 | max: 11.0