openai / openai-go
File Churn

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

Overview
File Change Frequency Overall
  • There are 41 files with 6,210 lines of code.
    • 0 files changed more than 100 times (0 lines of code)
    • 0 files changed 51-100 times (0 lines of code)
    • 0 files changed 21-50 times (0 lines of code)
    • 4 files changed 6-20 times (1,264 lines of code)
    • 37 files changed 1-5 times (4,946 lines of code)
0% | 0% | 0% | 20% | 79%
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 41 files with 6,210 lines of code.
    • 0 files changed by more than 25 contributors (0 lines of code)
    • 1 file changed by 11-25 contributors (170 lines of code)
    • 2 files changed by 6-10 contributors (701 lines of code)
    • 23 files changed by 2-5 contributors (3,367 lines of code)
    • 15 files changed by 1 contributor (1,972 lines of code)
0% | 2% | 11% | 54% | 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
go, md, yaml, json, mod, gitignore, jsonl, txt, sh
File Change Frequency per Extension
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
go0% | 0% | 0% | 20% | 79%
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
internal0% | 0% | 0% | 19% | 80%
azure0% | 0% | 0% | 100% | 0%
ROOT0% | 0% | 0% | 51% | 48%
auth0% | 0% | 0% | 0% | 100%
packages0% | 0% | 0% | 0% | 100%
Most Frequently Changed Files (Top 46)

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsline
churn
first
contributor
latest
contributor
azure.go
in azure
170 9 2024-08-01 2026-05-21 12 12 +830 / -59 youngjinpark20@gmail.com xuanqi@openai.com
154 8 2024-08-21 2025-12-13 9 7 +227 / -19 jacob@stainlessapi.com renfredxh@gmail.com
decoder.go
in internal/apijson
547 19 2024-08-01 2026-03-13 7 6 +786 / -122 youngjinpark20@gmail.com apcha@openai.com
encoder.go
in internal/apiform
393 14 2024-08-01 2026-03-13 6 5 +422 / -36 dev@stainlessapi.com apcha@openai.com
polling.go
in root
108 5 2024-10-17 2026-01-07 5 5 +151 / -91 jacob@stainlessapi.com dmeadows@stainless.com
210 9 2026-04-08 2026-05-15 5 4 +267 / -13 92274156+karpetrosyan@users... xuanqi@openai.com
encoder.go
in internal/apiquery
346 11 2024-08-01 2026-03-13 5 4 +350 / -35 dev@stainlessapi.com apcha@openai.com
encoder.go
in internal/apijson
313 14 2024-08-01 2026-03-13 4 4 +397 / -33 dev@stainlessapi.com apcha@openai.com
registry.go
in internal/apijson
40 3 2024-08-01 2025-05-16 3 3 +42 / -2 dev@stainlessapi.com kwhinnery@openai.com
time.go
in internal/encoding/json
48 4 2025-05-16 2026-05-21 3 3 +14 / -12 kwhinnery@openai.com xuanqi@openai.com
encoder.go
in packages/param
84 5 2025-05-16 2026-05-21 3 3 +27 / -14 kwhinnery@openai.com xuanqi@openai.com
option.go
in packages/param
85 11 2025-05-16 2025-09-30 3 3 +81 / -80 kwhinnery@openai.com apcha@openai.com
encode.go
in internal/encoding/json
932 49 2025-08-06 2026-05-21 3 4 +25 / -14 kwhinnery@openai.com xuanqi@openai.com
richparam.go
in internal/apiquery
17 1 2025-05-16 2025-09-30 2 2 +3 / -3 kwhinnery@openai.com apcha@openai.com
richparam.go
in internal/apiform
18 1 2025-05-16 2025-09-30 2 2 +3 / -3 kwhinnery@openai.com apcha@openai.com
field.go
in internal/paramutil
25 3 2025-05-16 2025-09-30 2 2 +32 / -2 kwhinnery@openai.com apcha@openai.com
union.go
in internal/paramutil
37 1 2025-05-16 2025-09-30 2 2 +49 / -1 kwhinnery@openai.com apcha@openai.com
field.go
in root
37 15 2024-08-01 2025-09-30 2 2 +51 / -1 dev@stainlessapi.com apcha@openai.com
tag.go
in internal/apiquery
39 2 2024-08-01 2026-03-13 2 2 +44 / -3 dev@stainlessapi.com apcha@openai.com
query.go
in internal/apiquery
45 2 2024-08-01 2025-05-16 2 2 +52 / -2 dev@stainlessapi.com kwhinnery@openai.com
subfield.go
in internal/apijson
59 4 2025-05-16 2025-09-30 2 2 +10 / -10 kwhinnery@openai.com apcha@openai.com
tag.go
in internal/apijson
74 4 2024-08-01 2026-03-13 2 2 +52 / -3 dev@stainlessapi.com apcha@openai.com
tag.go
in internal/apiform
78 4 2024-08-01 2026-03-13 2 2 +53 / -3 dev@stainlessapi.com apcha@openai.com
param.go
in packages/param
93 11 2025-05-16 2025-09-30 2 2 +96 / -60 kwhinnery@openai.com apcha@openai.com
enum.go
in internal/apijson
115 5 2025-05-16 2026-03-13 2 2 +99 / -46 kwhinnery@openai.com apcha@openai.com
union.go
in internal/apijson
171 4 2025-05-16 2025-09-30 2 2 +113 / -12 kwhinnery@openai.com apcha@openai.com
form.go
in internal/apiform
4 - 2024-08-01 2024-08-01 1 1 +5 / -0 dev@stainlessapi.com dev@stainlessapi.com
null.go
in packages/param
8 2 2025-09-30 2025-09-30 1 1 +1 / -1 apcha@openai.com apcha@openai.com
opt.go
in internal/encoding/json
13 2 2026-05-21 2026-05-21 1 1 +24 / -0 xuanqi@openai.com xuanqi@openai.com
field.go
in internal/apijson
16 4 2024-08-01 2024-08-01 1 1 +41 / -0 dev@stainlessapi.com dev@stainlessapi.com
testutil.go
in internal/testutil
25 1 2024-08-01 2024-08-01 1 1 +27 / -0 dev@stainlessapi.com dev@stainlessapi.com
error.go
in auth
27 3 2026-04-08 2026-04-08 1 1 +37 / -0 92274156+karpetrosyan@users... 92274156+karpetrosyan@users...
types.go
in auth
30 - 2026-04-08 2026-04-08 1 1 +37 / -0 92274156+karpetrosyan@users... 92274156+karpetrosyan@users...
respjson.go
in packages/respjson
30 4 2025-05-16 2025-05-16 1 1 +88 / -0 kwhinnery@openai.com kwhinnery@openai.com
null.go
in internal/encoding/json/sentinel
39 3 2025-09-30 2025-09-30 1 1 +1 / -1 apcha@openai.com apcha@openai.com
40 1 2026-04-08 2026-04-08 1 1 +50 / -0 92274156+karpetrosyan@users... 92274156+karpetrosyan@users...
port.go
in internal/apijson
97 1 2024-08-01 2024-08-01 1 1 +107 / -0 dev@stainlessapi.com dev@stainlessapi.com
indent.go
in internal/encoding/json
141 7 2026-05-21 2026-05-21 1 1 +14 / -3 xuanqi@openai.com xuanqi@openai.com
208 9 2026-04-08 2026-04-08 1 1 +240 / -0 92274156+karpetrosyan@users... 92274156+karpetrosyan@users...
stream.go
in internal/encoding/json
336 21 2026-05-21 2026-05-21 1 1 +28 / -25 xuanqi@openai.com xuanqi@openai.com
decode.go
in internal/encoding/json
958 30 2025-09-30 2025-09-30 1 1 +1 / -1 apcha@openai.com apcha@openai.com
tags.go
in internal/encoding/json
23 2
fold.go
in internal/encoding/json
34 3
shims.go
in internal/encoding/json/shims
42 4
tables.go
in internal/encoding/json
198 -
scanner.go
in internal/encoding/json
437 43
Files With Most Churn (Top 46)
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
decoder.go
in internal/apijson
547 19 2024-08-01 2026-03-13 7 6 +786 / -122 youngjinpark20@gmail.com apcha@openai.com
azure.go
in azure
170 9 2024-08-01 2026-05-21 12 12 +830 / -59 youngjinpark20@gmail.com xuanqi@openai.com
encoder.go
in internal/apiform
393 14 2024-08-01 2026-03-13 6 5 +422 / -36 dev@stainlessapi.com apcha@openai.com
encoder.go
in internal/apijson
313 14 2024-08-01 2026-03-13 4 4 +397 / -33 dev@stainlessapi.com apcha@openai.com
encoder.go
in internal/apiquery
346 11 2024-08-01 2026-03-13 5 4 +350 / -35 dev@stainlessapi.com apcha@openai.com
210 9 2026-04-08 2026-05-15 5 4 +267 / -13 92274156+karpetrosyan@users... xuanqi@openai.com
154 8 2024-08-21 2025-12-13 9 7 +227 / -19 jacob@stainlessapi.com renfredxh@gmail.com
polling.go
in root
108 5 2024-10-17 2026-01-07 5 5 +151 / -91 jacob@stainlessapi.com dmeadows@stainless.com
208 9 2026-04-08 2026-04-08 1 1 +240 / -0 92274156+karpetrosyan@users... 92274156+karpetrosyan@users...
option.go
in packages/param
85 11 2025-05-16 2025-09-30 3 3 +81 / -80 kwhinnery@openai.com apcha@openai.com
param.go
in packages/param
93 11 2025-05-16 2025-09-30 2 2 +96 / -60 kwhinnery@openai.com apcha@openai.com
enum.go
in internal/apijson
115 5 2025-05-16 2026-03-13 2 2 +99 / -46 kwhinnery@openai.com apcha@openai.com
union.go
in internal/apijson
171 4 2025-05-16 2025-09-30 2 2 +113 / -12 kwhinnery@openai.com apcha@openai.com
port.go
in internal/apijson
97 1 2024-08-01 2024-08-01 1 1 +107 / -0 dev@stainlessapi.com dev@stainlessapi.com
respjson.go
in packages/respjson
30 4 2025-05-16 2025-05-16 1 1 +88 / -0 kwhinnery@openai.com kwhinnery@openai.com
tag.go
in internal/apiform
78 4 2024-08-01 2026-03-13 2 2 +53 / -3 dev@stainlessapi.com apcha@openai.com
tag.go
in internal/apijson
74 4 2024-08-01 2026-03-13 2 2 +52 / -3 dev@stainlessapi.com apcha@openai.com
query.go
in internal/apiquery
45 2 2024-08-01 2025-05-16 2 2 +52 / -2 dev@stainlessapi.com kwhinnery@openai.com
stream.go
in internal/encoding/json
336 21 2026-05-21 2026-05-21 1 1 +28 / -25 xuanqi@openai.com xuanqi@openai.com
field.go
in root
37 15 2024-08-01 2025-09-30 2 2 +51 / -1 dev@stainlessapi.com apcha@openai.com
union.go
in internal/paramutil
37 1 2025-05-16 2025-09-30 2 2 +49 / -1 kwhinnery@openai.com apcha@openai.com
40 1 2026-04-08 2026-04-08 1 1 +50 / -0 92274156+karpetrosyan@users... 92274156+karpetrosyan@users...
tag.go
in internal/apiquery
39 2 2024-08-01 2026-03-13 2 2 +44 / -3 dev@stainlessapi.com apcha@openai.com
registry.go
in internal/apijson
40 3 2024-08-01 2025-05-16 3 3 +42 / -2 dev@stainlessapi.com kwhinnery@openai.com
field.go
in internal/apijson
16 4 2024-08-01 2024-08-01 1 1 +41 / -0 dev@stainlessapi.com dev@stainlessapi.com
encoder.go
in packages/param
84 5 2025-05-16 2026-05-21 3 3 +27 / -14 kwhinnery@openai.com xuanqi@openai.com
encode.go
in internal/encoding/json
932 49 2025-08-06 2026-05-21 3 4 +25 / -14 kwhinnery@openai.com xuanqi@openai.com
error.go
in auth
27 3 2026-04-08 2026-04-08 1 1 +37 / -0 92274156+karpetrosyan@users... 92274156+karpetrosyan@users...
types.go
in auth
30 - 2026-04-08 2026-04-08 1 1 +37 / -0 92274156+karpetrosyan@users... 92274156+karpetrosyan@users...
field.go
in internal/paramutil
25 3 2025-05-16 2025-09-30 2 2 +32 / -2 kwhinnery@openai.com apcha@openai.com
testutil.go
in internal/testutil
25 1 2024-08-01 2024-08-01 1 1 +27 / -0 dev@stainlessapi.com dev@stainlessapi.com
time.go
in internal/encoding/json
48 4 2025-05-16 2026-05-21 3 3 +14 / -12 kwhinnery@openai.com xuanqi@openai.com
opt.go
in internal/encoding/json
13 2 2026-05-21 2026-05-21 1 1 +24 / -0 xuanqi@openai.com xuanqi@openai.com
subfield.go
in internal/apijson
59 4 2025-05-16 2025-09-30 2 2 +10 / -10 kwhinnery@openai.com apcha@openai.com
indent.go
in internal/encoding/json
141 7 2026-05-21 2026-05-21 1 1 +14 / -3 xuanqi@openai.com xuanqi@openai.com
richparam.go
in internal/apiquery
17 1 2025-05-16 2025-09-30 2 2 +3 / -3 kwhinnery@openai.com apcha@openai.com
richparam.go
in internal/apiform
18 1 2025-05-16 2025-09-30 2 2 +3 / -3 kwhinnery@openai.com apcha@openai.com
form.go
in internal/apiform
4 - 2024-08-01 2024-08-01 1 1 +5 / -0 dev@stainlessapi.com dev@stainlessapi.com
null.go
in packages/param
8 2 2025-09-30 2025-09-30 1 1 +1 / -1 apcha@openai.com apcha@openai.com
null.go
in internal/encoding/json/sentinel
39 3 2025-09-30 2025-09-30 1 1 +1 / -1 apcha@openai.com apcha@openai.com
decode.go
in internal/encoding/json
958 30 2025-09-30 2025-09-30 1 1 +1 / -1 apcha@openai.com apcha@openai.com
tags.go
in internal/encoding/json
23 2
fold.go
in internal/encoding/json
34 3
shims.go
in internal/encoding/json/shims
42 4
tables.go
in internal/encoding/json
198 -
scanner.go
in internal/encoding/json
437 43
Files With Most Contributors (Top 46)
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
azure.go
in azure
170 9 2024-08-01 2026-05-21 12 12 +830 / -59 youngjinpark20@gmail.com xuanqi@openai.com
154 8 2024-08-21 2025-12-13 9 7 +227 / -19 jacob@stainlessapi.com renfredxh@gmail.com
decoder.go
in internal/apijson
547 19 2024-08-01 2026-03-13 7 6 +786 / -122 youngjinpark20@gmail.com apcha@openai.com
encoder.go
in internal/apiform
393 14 2024-08-01 2026-03-13 6 5 +422 / -36 dev@stainlessapi.com apcha@openai.com
polling.go
in root
108 5 2024-10-17 2026-01-07 5 5 +151 / -91 jacob@stainlessapi.com dmeadows@stainless.com
210 9 2026-04-08 2026-05-15 5 4 +267 / -13 92274156+karpetrosyan@users... xuanqi@openai.com
encoder.go
in internal/apiquery
346 11 2024-08-01 2026-03-13 5 4 +350 / -35 dev@stainlessapi.com apcha@openai.com
encoder.go
in internal/apijson
313 14 2024-08-01 2026-03-13 4 4 +397 / -33 dev@stainlessapi.com apcha@openai.com
encode.go
in internal/encoding/json
932 49 2025-08-06 2026-05-21 3 4 +25 / -14 kwhinnery@openai.com xuanqi@openai.com
encoder.go
in packages/param
84 5 2025-05-16 2026-05-21 3 3 +27 / -14 kwhinnery@openai.com xuanqi@openai.com
option.go
in packages/param
85 11 2025-05-16 2025-09-30 3 3 +81 / -80 kwhinnery@openai.com apcha@openai.com
time.go
in internal/encoding/json
48 4 2025-05-16 2026-05-21 3 3 +14 / -12 kwhinnery@openai.com xuanqi@openai.com
registry.go
in internal/apijson
40 3 2024-08-01 2025-05-16 3 3 +42 / -2 dev@stainlessapi.com kwhinnery@openai.com
param.go
in packages/param
93 11 2025-05-16 2025-09-30 2 2 +96 / -60 kwhinnery@openai.com apcha@openai.com
field.go
in root
37 15 2024-08-01 2025-09-30 2 2 +51 / -1 dev@stainlessapi.com apcha@openai.com
richparam.go
in internal/apiform
18 1 2025-05-16 2025-09-30 2 2 +3 / -3 kwhinnery@openai.com apcha@openai.com
tag.go
in internal/apiform
78 4 2024-08-01 2026-03-13 2 2 +53 / -3 dev@stainlessapi.com apcha@openai.com
richparam.go
in internal/apiquery
17 1 2025-05-16 2025-09-30 2 2 +3 / -3 kwhinnery@openai.com apcha@openai.com
query.go
in internal/apiquery
45 2 2024-08-01 2025-05-16 2 2 +52 / -2 dev@stainlessapi.com kwhinnery@openai.com
tag.go
in internal/apiquery
39 2 2024-08-01 2026-03-13 2 2 +44 / -3 dev@stainlessapi.com apcha@openai.com
union.go
in internal/apijson
171 4 2025-05-16 2025-09-30 2 2 +113 / -12 kwhinnery@openai.com apcha@openai.com
enum.go
in internal/apijson
115 5 2025-05-16 2026-03-13 2 2 +99 / -46 kwhinnery@openai.com apcha@openai.com
subfield.go
in internal/apijson
59 4 2025-05-16 2025-09-30 2 2 +10 / -10 kwhinnery@openai.com apcha@openai.com
tag.go
in internal/apijson
74 4 2024-08-01 2026-03-13 2 2 +52 / -3 dev@stainlessapi.com apcha@openai.com
union.go
in internal/paramutil
37 1 2025-05-16 2025-09-30 2 2 +49 / -1 kwhinnery@openai.com apcha@openai.com
field.go
in internal/paramutil
25 3 2025-05-16 2025-09-30 2 2 +32 / -2 kwhinnery@openai.com apcha@openai.com
null.go
in packages/param
8 2 2025-09-30 2025-09-30 1 1 +1 / -1 apcha@openai.com apcha@openai.com
respjson.go
in packages/respjson
30 4 2025-05-16 2025-05-16 1 1 +88 / -0 kwhinnery@openai.com kwhinnery@openai.com
40 1 2026-04-08 2026-04-08 1 1 +50 / -0 92274156+karpetrosyan@users... 92274156+karpetrosyan@users...
types.go
in auth
30 - 2026-04-08 2026-04-08 1 1 +37 / -0 92274156+karpetrosyan@users... 92274156+karpetrosyan@users...
error.go
in auth
27 3 2026-04-08 2026-04-08 1 1 +37 / -0 92274156+karpetrosyan@users... 92274156+karpetrosyan@users...
208 9 2026-04-08 2026-04-08 1 1 +240 / -0 92274156+karpetrosyan@users... 92274156+karpetrosyan@users...
null.go
in internal/encoding/json/sentinel
39 3 2025-09-30 2025-09-30 1 1 +1 / -1 apcha@openai.com apcha@openai.com
indent.go
in internal/encoding/json
141 7 2026-05-21 2026-05-21 1 1 +14 / -3 xuanqi@openai.com xuanqi@openai.com
opt.go
in internal/encoding/json
13 2 2026-05-21 2026-05-21 1 1 +24 / -0 xuanqi@openai.com xuanqi@openai.com
stream.go
in internal/encoding/json
336 21 2026-05-21 2026-05-21 1 1 +28 / -25 xuanqi@openai.com xuanqi@openai.com
decode.go
in internal/encoding/json
958 30 2025-09-30 2025-09-30 1 1 +1 / -1 apcha@openai.com apcha@openai.com
form.go
in internal/apiform
4 - 2024-08-01 2024-08-01 1 1 +5 / -0 dev@stainlessapi.com dev@stainlessapi.com
testutil.go
in internal/testutil
25 1 2024-08-01 2024-08-01 1 1 +27 / -0 dev@stainlessapi.com dev@stainlessapi.com
port.go
in internal/apijson
97 1 2024-08-01 2024-08-01 1 1 +107 / -0 dev@stainlessapi.com dev@stainlessapi.com
field.go
in internal/apijson
16 4 2024-08-01 2024-08-01 1 1 +41 / -0 dev@stainlessapi.com dev@stainlessapi.com
tags.go
in internal/encoding/json
23 2
tables.go
in internal/encoding/json
198 -
shims.go
in internal/encoding/json/shims
42 4
scanner.go
in internal/encoding/json
437 43
fold.go
in internal/encoding/json
34 3
Files With Least Contributors (Top 46)
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
scanner.go
in internal/encoding/json
437 43
tables.go
in internal/encoding/json
198 -
shims.go
in internal/encoding/json/shims
42 4
fold.go
in internal/encoding/json
34 3
tags.go
in internal/encoding/json
23 2
decode.go
in internal/encoding/json
958 30 2025-09-30 2025-09-30 1 1 +1 / -1 apcha@openai.com apcha@openai.com
stream.go
in internal/encoding/json
336 21 2026-05-21 2026-05-21 1 1 +28 / -25 xuanqi@openai.com xuanqi@openai.com
208 9 2026-04-08 2026-04-08 1 1 +240 / -0 92274156+karpetrosyan@users... 92274156+karpetrosyan@users...
indent.go
in internal/encoding/json
141 7 2026-05-21 2026-05-21 1 1 +14 / -3 xuanqi@openai.com xuanqi@openai.com
port.go
in internal/apijson
97 1 2024-08-01 2024-08-01 1 1 +107 / -0 dev@stainlessapi.com dev@stainlessapi.com
40 1 2026-04-08 2026-04-08 1 1 +50 / -0 92274156+karpetrosyan@users... 92274156+karpetrosyan@users...
null.go
in internal/encoding/json/sentinel
39 3 2025-09-30 2025-09-30 1 1 +1 / -1 apcha@openai.com apcha@openai.com
respjson.go
in packages/respjson
30 4 2025-05-16 2025-05-16 1 1 +88 / -0 kwhinnery@openai.com kwhinnery@openai.com
types.go
in auth
30 - 2026-04-08 2026-04-08 1 1 +37 / -0 92274156+karpetrosyan@users... 92274156+karpetrosyan@users...
error.go
in auth
27 3 2026-04-08 2026-04-08 1 1 +37 / -0 92274156+karpetrosyan@users... 92274156+karpetrosyan@users...
testutil.go
in internal/testutil
25 1 2024-08-01 2024-08-01 1 1 +27 / -0 dev@stainlessapi.com dev@stainlessapi.com
field.go
in internal/apijson
16 4 2024-08-01 2024-08-01 1 1 +41 / -0 dev@stainlessapi.com dev@stainlessapi.com
opt.go
in internal/encoding/json
13 2 2026-05-21 2026-05-21 1 1 +24 / -0 xuanqi@openai.com xuanqi@openai.com
null.go
in packages/param
8 2 2025-09-30 2025-09-30 1 1 +1 / -1 apcha@openai.com apcha@openai.com
form.go
in internal/apiform
4 - 2024-08-01 2024-08-01 1 1 +5 / -0 dev@stainlessapi.com dev@stainlessapi.com
union.go
in internal/apijson
171 4 2025-05-16 2025-09-30 2 2 +113 / -12 kwhinnery@openai.com apcha@openai.com
enum.go
in internal/apijson
115 5 2025-05-16 2026-03-13 2 2 +99 / -46 kwhinnery@openai.com apcha@openai.com
param.go
in packages/param
93 11 2025-05-16 2025-09-30 2 2 +96 / -60 kwhinnery@openai.com apcha@openai.com
tag.go
in internal/apiform
78 4 2024-08-01 2026-03-13 2 2 +53 / -3 dev@stainlessapi.com apcha@openai.com
tag.go
in internal/apijson
74 4 2024-08-01 2026-03-13 2 2 +52 / -3 dev@stainlessapi.com apcha@openai.com
subfield.go
in internal/apijson
59 4 2025-05-16 2025-09-30 2 2 +10 / -10 kwhinnery@openai.com apcha@openai.com
query.go
in internal/apiquery
45 2 2024-08-01 2025-05-16 2 2 +52 / -2 dev@stainlessapi.com kwhinnery@openai.com
tag.go
in internal/apiquery
39 2 2024-08-01 2026-03-13 2 2 +44 / -3 dev@stainlessapi.com apcha@openai.com
field.go
in root
37 15 2024-08-01 2025-09-30 2 2 +51 / -1 dev@stainlessapi.com apcha@openai.com
union.go
in internal/paramutil
37 1 2025-05-16 2025-09-30 2 2 +49 / -1 kwhinnery@openai.com apcha@openai.com
field.go
in internal/paramutil
25 3 2025-05-16 2025-09-30 2 2 +32 / -2 kwhinnery@openai.com apcha@openai.com
richparam.go
in internal/apiform
18 1 2025-05-16 2025-09-30 2 2 +3 / -3 kwhinnery@openai.com apcha@openai.com
richparam.go
in internal/apiquery
17 1 2025-05-16 2025-09-30 2 2 +3 / -3 kwhinnery@openai.com apcha@openai.com
option.go
in packages/param
85 11 2025-05-16 2025-09-30 3 3 +81 / -80 kwhinnery@openai.com apcha@openai.com
encoder.go
in packages/param
84 5 2025-05-16 2026-05-21 3 3 +27 / -14 kwhinnery@openai.com xuanqi@openai.com
time.go
in internal/encoding/json
48 4 2025-05-16 2026-05-21 3 3 +14 / -12 kwhinnery@openai.com xuanqi@openai.com
registry.go
in internal/apijson
40 3 2024-08-01 2025-05-16 3 3 +42 / -2 dev@stainlessapi.com kwhinnery@openai.com
encode.go
in internal/encoding/json
932 49 2025-08-06 2026-05-21 3 4 +25 / -14 kwhinnery@openai.com xuanqi@openai.com
encoder.go
in internal/apiquery
346 11 2024-08-01 2026-03-13 5 4 +350 / -35 dev@stainlessapi.com apcha@openai.com
encoder.go
in internal/apijson
313 14 2024-08-01 2026-03-13 4 4 +397 / -33 dev@stainlessapi.com apcha@openai.com
210 9 2026-04-08 2026-05-15 5 4 +267 / -13 92274156+karpetrosyan@users... xuanqi@openai.com
encoder.go
in internal/apiform
393 14 2024-08-01 2026-03-13 6 5 +422 / -36 dev@stainlessapi.com apcha@openai.com
polling.go
in root
108 5 2024-10-17 2026-01-07 5 5 +151 / -91 jacob@stainlessapi.com dmeadows@stainless.com
decoder.go
in internal/apijson
547 19 2024-08-01 2026-03-13 7 6 +786 / -122 youngjinpark20@gmail.com apcha@openai.com
154 8 2024-08-21 2025-12-13 9 7 +227 / -19 jacob@stainlessapi.com renfredxh@gmail.com
azure.go
in azure
170 9 2024-08-01 2026-05-21 12 12 +830 / -59 youngjinpark20@gmail.com xuanqi@openai.com
Correlations

File Size vs. Number of Changes: 41 points

azure/azure.go x: 170 lines of code y: 12 # changes internal/encoding/json/encode.go x: 932 lines of code y: 3 # changes internal/encoding/json/indent.go x: 141 lines of code y: 1 # changes internal/encoding/json/opt.go x: 13 lines of code y: 1 # changes internal/encoding/json/stream.go x: 336 lines of code y: 1 # changes internal/encoding/json/time.go x: 48 lines of code y: 3 # changes packages/param/encoder.go x: 84 lines of code y: 3 # changes auth/workloadidentity.go x: 210 lines of code y: 5 # changes internal/apiform/encoder.go x: 393 lines of code y: 6 # changes internal/apijson/encoder.go x: 313 lines of code y: 4 # changes internal/apiquery/encoder.go x: 346 lines of code y: 5 # changes internal/apijson/decoder.go x: 547 lines of code y: 7 # changes auth/error.go x: 27 lines of code y: 1 # changes auth/middleware.go x: 40 lines of code y: 1 # changes auth/subjecttokenprovider.go x: 208 lines of code y: 1 # changes auth/types.go x: 30 lines of code y: 1 # changes internal/apiform/tag.go x: 78 lines of code y: 2 # changes internal/apijson/enum.go x: 115 lines of code y: 2 # changes internal/apijson/tag.go x: 74 lines of code y: 2 # changes internal/apiquery/tag.go x: 39 lines of code y: 2 # changes polling.go x: 108 lines of code y: 5 # changes streamaccumulator.go x: 154 lines of code y: 9 # changes field.go x: 37 lines of code y: 2 # changes internal/apiform/richparam.go x: 18 lines of code y: 2 # changes internal/apijson/subfield.go x: 59 lines of code y: 2 # changes internal/apijson/union.go x: 171 lines of code y: 2 # changes internal/apiquery/richparam.go x: 17 lines of code y: 2 # changes internal/encoding/json/decode.go x: 958 lines of code y: 1 # changes internal/encoding/json/sentinel/null.go x: 39 lines of code y: 1 # changes internal/paramutil/field.go x: 25 lines of code y: 2 # changes packages/param/null.go x: 8 lines of code y: 1 # changes packages/param/option.go x: 85 lines of code y: 3 # changes packages/param/param.go x: 93 lines of code y: 2 # changes internal/apijson/registry.go x: 40 lines of code y: 3 # changes internal/apiquery/query.go x: 45 lines of code y: 2 # changes internal/apiform/form.go x: 4 lines of code y: 1 # changes internal/apijson/field.go x: 16 lines of code y: 1 # changes internal/apijson/port.go x: 97 lines of code y: 1 # changes internal/testutil/testutil.go x: 25 lines of code y: 1 # changes
12.0
# changes
  min: 1.0
  average: 2.66
  25th percentile: 1.0
  median: 2.0
  75th percentile: 3.0
  max: 12.0
0 958.0
lines of code
min: 4.0 | average: 151.46 | 25th percentile: 30.0 | median: 74.0 | 75th percentile: 170.5 | max: 958.0

Number of Contributors vs. Number of Changes: 41 points

azure/azure.go x: 12 # contributors y: 12 # changes internal/encoding/json/encode.go x: 4 # contributors y: 3 # changes internal/encoding/json/indent.go x: 1 # contributors y: 1 # changes internal/encoding/json/time.go x: 3 # contributors y: 3 # changes auth/workloadidentity.go x: 4 # contributors y: 5 # changes internal/apiform/encoder.go x: 5 # contributors y: 6 # changes internal/apijson/encoder.go x: 4 # contributors y: 4 # changes internal/apijson/decoder.go x: 6 # contributors y: 7 # changes internal/apiform/tag.go x: 2 # contributors y: 2 # changes polling.go x: 5 # contributors y: 5 # changes streamaccumulator.go x: 7 # contributors y: 9 # changes
12.0
# changes
  min: 1.0
  average: 2.66
  25th percentile: 1.0
  median: 2.0
  75th percentile: 3.0
  max: 12.0
0 12.0
# contributors
min: 1.0 | average: 2.54 | 25th percentile: 1.0 | median: 2.0 | 75th percentile: 3.0 | max: 12.0

Number of Contributors vs. File Size: 41 points

azure/azure.go x: 12 # contributors y: 170 lines of code internal/encoding/json/encode.go x: 4 # contributors y: 932 lines of code internal/encoding/json/indent.go x: 1 # contributors y: 141 lines of code internal/encoding/json/opt.go x: 1 # contributors y: 13 lines of code internal/encoding/json/stream.go x: 1 # contributors y: 336 lines of code internal/encoding/json/time.go x: 3 # contributors y: 48 lines of code packages/param/encoder.go x: 3 # contributors y: 84 lines of code auth/workloadidentity.go x: 4 # contributors y: 210 lines of code internal/apiform/encoder.go x: 5 # contributors y: 393 lines of code internal/apijson/encoder.go x: 4 # contributors y: 313 lines of code internal/apiquery/encoder.go x: 4 # contributors y: 346 lines of code internal/apijson/decoder.go x: 6 # contributors y: 547 lines of code auth/error.go x: 1 # contributors y: 27 lines of code auth/middleware.go x: 1 # contributors y: 40 lines of code auth/subjecttokenprovider.go x: 1 # contributors y: 208 lines of code internal/apiform/tag.go x: 2 # contributors y: 78 lines of code internal/apijson/enum.go x: 2 # contributors y: 115 lines of code internal/apijson/tag.go x: 2 # contributors y: 74 lines of code internal/apiquery/tag.go x: 2 # contributors y: 39 lines of code polling.go x: 5 # contributors y: 108 lines of code streamaccumulator.go x: 7 # contributors y: 154 lines of code field.go x: 2 # contributors y: 37 lines of code internal/apiform/richparam.go x: 2 # contributors y: 18 lines of code internal/apijson/subfield.go x: 2 # contributors y: 59 lines of code internal/apijson/union.go x: 2 # contributors y: 171 lines of code internal/encoding/json/decode.go x: 1 # contributors y: 958 lines of code internal/paramutil/field.go x: 2 # contributors y: 25 lines of code packages/param/null.go x: 1 # contributors y: 8 lines of code packages/param/param.go x: 2 # contributors y: 93 lines of code internal/apijson/registry.go x: 3 # contributors y: 40 lines of code internal/apiquery/query.go x: 2 # contributors y: 45 lines of code internal/apiform/form.go x: 1 # contributors y: 4 lines of code internal/apijson/field.go x: 1 # contributors y: 16 lines of code internal/apijson/port.go x: 1 # contributors y: 97 lines of code internal/testutil/testutil.go x: 1 # contributors y: 25 lines of code
958.0
lines of code
  min: 4.0
  average: 151.46
  25th percentile: 30.0
  median: 74.0
  75th percentile: 170.5
  max: 958.0
0 12.0
# contributors
min: 1.0 | average: 2.54 | 25th percentile: 1.0 | median: 2.0 | 75th percentile: 3.0 | max: 12.0

Number of Changes vs. Line Churn: 289 points

.github/workflows/create-releases.yml x: 8 # changes y: 142 line churn .release-please-manifest.json x: 21 # changes y: 43 line churn .stats.yml x: 27 # changes y: 154 line churn CHANGELOG.md x: 21 # changes y: 363 line churn README.md x: 39 # changes y: 1751 line churn adminorganization.go x: 1 # changes y: 8 line churn adminorganizationadminapikey.go x: 3 # changes y: 15 line churn adminorganizationdataretention.go x: 1 # changes y: 228 line churn adminorganizationdataretention_test.go x: 1 # changes y: 124 line churn adminorganizationgroup.go x: 3 # changes y: 67 line churn adminorganizationgrouprole.go x: 3 # changes y: 247 line churn adminorganizationgrouprole_test.go x: 1 # changes y: 54 line churn adminorganizationgroupuser.go x: 3 # changes y: 143 line churn adminorganizationprojectdataretention.go x: 1 # changes y: 265 line churn adminorganizationprojecthostedtoolpermission.go x: 2 # changes y: 294 line churn adminorganizationprojectmodelpermission.go x: 2 # changes y: 164 line churn adminorganizationprojectspendalert.go x: 1 # changes y: 747 line churn adminorganizationspendalert.go x: 1 # changes y: 709 line churn adminorganizationusage.go x: 1 # changes y: 2752 line churn api.md x: 21 # changes y: 2560 line churn azure/azure.go x: 12 # changes y: 889 line churn azure/azure_test.go x: 8 # changes y: 1072 line churn batch.go x: 9 # changes y: 636 line churn betaassistant.go x: 13 # changes y: 10613 line churn betachatkitsession.go x: 4 # changes y: 15 line churn betathread.go x: 15 # changes y: 8202 line churn betathreadmessage.go x: 14 # changes y: 7816 line churn betathreadrun.go x: 14 # changes y: 4487 line churn betathreadrunstep.go x: 10 # changes y: 6429 line churn chatcompletion.go x: 21 # changes y: 4448 line churn chatcompletionmessage.go x: 8 # changes y: 33 line churn container.go x: 6 # changes y: 391 line churn containerfile.go x: 6 # changes y: 349 line churn containerfilecontent.go x: 7 # changes y: 74 line churn conversations/conversation.go x: 6 # changes y: 834 line churn conversations/item.go x: 6 # changes y: 996 line churn examples/audio-text-to-speech/main.go x: 5 # changes y: 67 line churn file.go x: 11 # changes y: 527 line churn finetuningcheckpointpermission.go x: 10 # changes y: 229 line churn finetuningjob.go x: 9 # changes y: 1765 line churn finetuningjobcheckpoint.go x: 7 # changes y: 244 line churn internal/requestconfig/requestconfig.go x: 11 # changes y: 687 line churn internal/requestconfig/requestconfig_test.go x: 3 # changes y: 150 line churn model.go x: 7 # changes y: 216 line churn packages/param/encoder_test.go x: 3 # changes y: 304 line churn pathparam_static_test.go x: 3 # changes y: 684 line churn pathparam_test.go x: 3 # changes y: 408 line churn responses/inputitem.go x: 8 # changes y: 54 line churn responses/response.go x: 21 # changes y: 12235 line churn shared/constant/constants.go x: 11 # changes y: 877 line churn upload.go x: 10 # changes y: 351 line churn uploadpart.go x: 8 # changes y: 179 line churn vectorstore.go x: 8 # changes y: 2360 line churn vectorstorefile.go x: 10 # changes y: 1403 line churn vectorstorefilebatch.go x: 11 # changes y: 977 line churn video.go x: 5 # changes y: 346 line churn auth/workloadidentity.go x: 5 # changes y: 280 line churn auth/workloadidentity_test.go x: 4 # changes y: 711 line churn auth_test.go x: 5 # changes y: 623 line churn responses/response_test.go x: 10 # changes y: 88 line churn option/requestoption.go x: 6 # changes y: 332 line churn internal/apiform/encoder.go x: 6 # changes y: 458 line churn internal/apijson/encoder.go x: 4 # changes y: 430 line churn internal/apijson/decoder.go x: 7 # changes y: 908 line churn aliases.go x: 10 # changes y: 466 line churn auth/subjecttokenprovider_test.go x: 1 # changes y: 292 line churn conversations/aliases.go x: 3 # changes y: 508 line churn responses/aliases.go x: 7 # changes y: 164 line churn shared/shared.go x: 11 # changes y: 1425 line churn webhooks/aliases.go x: 4 # changes y: 459 line churn audiospeech.go x: 6 # changes y: 226 line churn chatcompletion_test.go x: 11 # changes y: 196 line churn realtime/clientsecret_test.go x: 6 # changes y: 187 line churn realtime/realtime.go x: 6 # changes y: 3001 line churn audiotranscription_test.go x: 4 # changes y: 60 line churn audiotranslation.go x: 5 # changes y: 151 line churn completion.go x: 5 # changes y: 538 line churn embedding.go x: 4 # changes y: 317 line churn file_test.go x: 4 # changes y: 158 line churn image.go x: 7 # changes y: 932 line churn image_test.go x: 5 # changes y: 133 line churn internal/apiform/tag.go x: 2 # changes y: 56 line churn internal/apiquery/tag.go x: 2 # changes y: 47 line churn realtime/clientsecret.go x: 6 # changes y: 3127 line churn streamaccumulator.go x: 9 # changes y: 246 line churn streamaccumulator_test.go x: 4 # changes y: 665 line churn betachatkit.go x: 1 # changes y: 180 line churn MIGRATION.md x: 4 # changes y: 880 line churn batch_test.go x: 4 # changes y: 125 line churn betaassistant_test.go x: 8 # changes y: 822 line churn betathread_test.go x: 8 # changes y: 1209 line churn betathreadmessage_test.go x: 7 # changes y: 712 line churn betathreadrun_test.go x: 7 # changes y: 1033 line churn client.go x: 8 # changes y: 204 line churn container_test.go x: 2 # changes y: 119 line churn finetuningjob_test.go x: 5 # changes y: 333 line churn finetuningmethod.go x: 4 # changes y: 1755 line churn gradergradermodel.go x: 3 # changes y: 1210 line churn internal/apijson/decodeparam_test.go x: 2 # changes y: 414 line churn internal/apiquery/query_test.go x: 3 # changes y: 357 line churn packages/respjson/decoder_test.go x: 2 # changes y: 209 line churn usage_test.go x: 6 # changes y: 54 line churn vectorstorefile_test.go x: 5 # changes y: 428 line churn webhooks/webhook.go x: 3 # changes y: 1326 line churn betavectorstore.go x: 3 # changes y: 2109 line churn betavectorstore_test.go x: 3 # changes y: 463 line churn betavectorstorefile.go x: 4 # changes y: 1516 line churn betavectorstorefilebatch.go x: 4 # changes y: 1205 line churn
12235.0
line churn
  min: 2.0
  average: 459.9
  25th percentile: 40.5
  median: 90.0
  75th percentile: 329.0
  max: 12235.0
0 39.0
# changes
min: 1.0 | average: 4.02 | 25th percentile: 1.0 | median: 3.0 | 75th percentile: 4.5 | max: 39.0

Number of Contributors vs. Line Churn: 41 points

azure/azure.go x: 12 # contributors y: 889 line churn internal/encoding/json/encode.go x: 4 # contributors y: 39 line churn internal/encoding/json/indent.go x: 1 # contributors y: 17 line churn internal/encoding/json/opt.go x: 1 # contributors y: 24 line churn internal/encoding/json/stream.go x: 1 # contributors y: 53 line churn internal/encoding/json/time.go x: 3 # contributors y: 26 line churn packages/param/encoder.go x: 3 # contributors y: 41 line churn auth/workloadidentity.go x: 4 # contributors y: 280 line churn internal/apiform/encoder.go x: 5 # contributors y: 458 line churn internal/apijson/encoder.go x: 4 # contributors y: 430 line churn internal/apiquery/encoder.go x: 4 # contributors y: 385 line churn internal/apijson/decoder.go x: 6 # contributors y: 908 line churn auth/error.go x: 1 # contributors y: 37 line churn auth/middleware.go x: 1 # contributors y: 50 line churn auth/subjecttokenprovider.go x: 1 # contributors y: 240 line churn internal/apiform/tag.go x: 2 # contributors y: 56 line churn internal/apijson/enum.go x: 2 # contributors y: 145 line churn internal/apiquery/tag.go x: 2 # contributors y: 47 line churn polling.go x: 5 # contributors y: 242 line churn streamaccumulator.go x: 7 # contributors y: 246 line churn field.go x: 2 # contributors y: 52 line churn internal/apiform/richparam.go x: 2 # contributors y: 6 line churn internal/apijson/subfield.go x: 2 # contributors y: 20 line churn internal/apijson/union.go x: 2 # contributors y: 125 line churn internal/encoding/json/decode.go x: 1 # contributors y: 2 line churn internal/paramutil/field.go x: 2 # contributors y: 34 line churn packages/param/option.go x: 3 # contributors y: 161 line churn packages/param/param.go x: 2 # contributors y: 156 line churn internal/apijson/registry.go x: 3 # contributors y: 44 line churn packages/respjson/respjson.go x: 1 # contributors y: 88 line churn internal/apiform/form.go x: 1 # contributors y: 5 line churn internal/apijson/field.go x: 1 # contributors y: 41 line churn internal/apijson/port.go x: 1 # contributors y: 107 line churn internal/testutil/testutil.go x: 1 # contributors y: 27 line churn
908.0
line churn
  min: 2.0
  average: 138.71
  25th percentile: 26.5
  median: 50.0
  75th percentile: 158.5
  max: 908.0
0 12.0
# contributors
min: 1.0 | average: 2.54 | 25th percentile: 1.0 | median: 2.0 | 75th percentile: 3.0 | max: 12.0

File Size vs. Line Churn: 41 points

azure/azure.go x: 170 lines of code y: 889 line churn internal/encoding/json/encode.go x: 932 lines of code y: 39 line churn internal/encoding/json/indent.go x: 141 lines of code y: 17 line churn internal/encoding/json/opt.go x: 13 lines of code y: 24 line churn internal/encoding/json/stream.go x: 336 lines of code y: 53 line churn internal/encoding/json/time.go x: 48 lines of code y: 26 line churn packages/param/encoder.go x: 84 lines of code y: 41 line churn auth/workloadidentity.go x: 210 lines of code y: 280 line churn internal/apiform/encoder.go x: 393 lines of code y: 458 line churn internal/apijson/encoder.go x: 313 lines of code y: 430 line churn internal/apiquery/encoder.go x: 346 lines of code y: 385 line churn internal/apijson/decoder.go x: 547 lines of code y: 908 line churn auth/error.go x: 27 lines of code y: 37 line churn auth/middleware.go x: 40 lines of code y: 50 line churn auth/subjecttokenprovider.go x: 208 lines of code y: 240 line churn auth/types.go x: 30 lines of code y: 37 line churn internal/apiform/tag.go x: 78 lines of code y: 56 line churn internal/apijson/enum.go x: 115 lines of code y: 145 line churn internal/apijson/tag.go x: 74 lines of code y: 55 line churn internal/apiquery/tag.go x: 39 lines of code y: 47 line churn polling.go x: 108 lines of code y: 242 line churn streamaccumulator.go x: 154 lines of code y: 246 line churn field.go x: 37 lines of code y: 52 line churn internal/apiform/richparam.go x: 18 lines of code y: 6 line churn internal/apijson/subfield.go x: 59 lines of code y: 20 line churn internal/apijson/union.go x: 171 lines of code y: 125 line churn internal/apiquery/richparam.go x: 17 lines of code y: 6 line churn internal/encoding/json/decode.go x: 958 lines of code y: 2 line churn internal/encoding/json/sentinel/null.go x: 39 lines of code y: 2 line churn internal/paramutil/field.go x: 25 lines of code y: 34 line churn internal/paramutil/union.go x: 37 lines of code y: 50 line churn packages/param/null.go x: 8 lines of code y: 2 line churn packages/param/option.go x: 85 lines of code y: 161 line churn packages/param/param.go x: 93 lines of code y: 156 line churn internal/apijson/registry.go x: 40 lines of code y: 44 line churn internal/apiquery/query.go x: 45 lines of code y: 54 line churn packages/respjson/respjson.go x: 30 lines of code y: 88 line churn internal/apiform/form.go x: 4 lines of code y: 5 line churn internal/apijson/field.go x: 16 lines of code y: 41 line churn internal/apijson/port.go x: 97 lines of code y: 107 line churn internal/testutil/testutil.go x: 25 lines of code y: 27 line churn
908.0
line churn
  min: 2.0
  average: 138.71
  25th percentile: 26.5
  median: 50.0
  75th percentile: 158.5
  max: 908.0
0 958.0
lines of code
min: 4.0 | average: 151.46 | 25th percentile: 30.0 | median: 74.0 | 75th percentile: 170.5 | max: 958.0