Overview
File Change Frequency Overall
  • There are 37 files with 8,183 lines of code.
    • 2 files changed more than 100 times (2 lines of code)
    • 1 file changed 51-100 times (894 lines of code)
    • 5 files changed 21-50 times (2,496 lines of code)
    • 3 files changed 6-20 times (1,280 lines of code)
    • 26 files changed 1-5 times (3,511 lines of code)
<1% | 10% | 30% | 15% | 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 37 files with 8,183 lines of code.
    • 2 files changed by more than 25 contributors (1,625 lines of code)
    • 4 files changed by 11-25 contributors (1,765 lines of code)
    • 1 file changed by 6-10 contributors (149 lines of code)
    • 13 files changed by 2-5 contributors (2,576 lines of code)
    • 17 files changed by 1 contributor (2,068 lines of code)
19% | 21% | 1% | 31% | 25%
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, yml, md, sh, txt, gitignore, json, js, dockerignore, toml, ps1, yaml
File Change Frequency per Extension
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
py<1% | 11% | 31% | 16% | 41%
ps10% | 0% | 0% | 0% | 100%
js0% | 0% | 0% | 0% | 100%
yaml0% | 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% | 13% | 36% | 18% | 30%
scripts0% | 0% | 0% | 0% | 100%
.github0% | 0% | 0% | 0% | 100%
Most Frequently Changed Files (Top 37)

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsline
churn
first
contributor
latest
contributor
_cli_version.py
in src/claude_agent_sdk
1 - 2025-11-19 2026-10-06 196 3 +258 / -255 actions@github.com actions@github.com
_version.py
in src/claude_agent_sdk
1 - 2025-09-28 2026-09-30 135 5 +167 / -164 dickson@anthropic.com github-actions[bot]@users.n...
types.py
in src/claude_agent_sdk
894 7 2025-09-28 2026-09-24 55 32 +2721 / -176 dickson@anthropic.com canthony@anthropic.com
subprocess_cli.py
in src/claude_agent_sdk/_internal/transport
731 21 2025-09-28 2026-09-25 43 27 +1484 / -256 dickson@anthropic.com qing@anthropic.com
query.py
in src/claude_agent_sdk/_internal
678 20 2025-09-28 2026-09-25 33 17 +1596 / -368 dickson@anthropic.com qing@anthropic.com
__init__.py
in src/claude_agent_sdk
508 11 2025-09-28 2026-08-18 32 14 +964 / -192 dickson@anthropic.com qing@anthropic.com
client.py
in src/claude_agent_sdk
239 1 2025-09-28 2026-09-25 28 15 +735 / -104 dickson@anthropic.com qing@anthropic.com
message_parser.py
in src/claude_agent_sdk/_internal
340 2 2025-09-28 2026-08-12 21 14 +401 / -6 dickson@anthropic.com qing@anthropic.com
client.py
in src/claude_agent_sdk/_internal
149 1 2025-09-28 2026-09-25 19 9 +281 / -70 dickson@anthropic.com qing@anthropic.com
sessions.py
in src/claude_agent_sdk/_internal
1113 48 2026-03-03 2026-09-24 10 3 +2170 / -146 qing@anthropic.com canthony@anthropic.com
query.py
in src/claude_agent_sdk
18 - 2025-09-28 2026-09-24 6 5 +144 / -12 dickson@anthropic.com canthony@anthropic.com
session_resume.py
in src/claude_agent_sdk/_internal
380 10 2026-04-19 2026-08-18 5 3 +658 / -35 qing@anthropic.com qing@anthropic.com
31 1 2025-07-21 2025-11-19 4 2 +58 / -9 dickson@anthropic.com ashwin@anthropic.com
transcript_mirror_batcher.py
in src/claude_agent_sdk/_internal
132 1 2026-04-19 2026-05-26 4 3 +267 / -48 qing@anthropic.com dsmilkov@gmail.com
session_mutations.py
in src/claude_agent_sdk/_internal
508 15 2026-03-12 2026-04-19 4 1 +1000 / -38 qing@anthropic.com qing@anthropic.com
__init__.py
in src/claude_agent_sdk/_internal/transport
23 2 2025-09-28 2026-09-24 3 3 +89 / -2 dickson@anthropic.com canthony@anthropic.com
102 3 2026-03-20 2026-10-06 3 1 +136 / -8 qing@anthropic.com qing@anthropic.com
download_cli.py
in scripts
200 14 2025-11-19 2026-07-16 3 2 +437 / -70 ashwin@anthropic.com qing@anthropic.com
session_store_conformance.py
in src/claude_agent_sdk/testing
221 2 2026-04-19 2026-06-05 3 1 +336 / -9 qing@anthropic.com qing@anthropic.com
build_wheel.py
in scripts
489 21 2025-11-19 2026-09-23 3 2 +708 / -35 ashwin@anthropic.com qing@anthropic.com
34 1 2025-11-19 2026-07-16 2 2 +84 / -13 ashwin@anthropic.com qing@anthropic.com
_errors.py
in src/claude_agent_sdk
59 6 2025-09-28 2026-08-18 2 2 +134 / -0 dickson@anthropic.com qing@anthropic.com
session_import.py
in src/claude_agent_sdk/_internal
79 1 2026-04-22 2026-08-18 2 1 +172 / -10 qing@anthropic.com qing@anthropic.com
_task_compat.py
in src/claude_agent_sdk/_internal
95 13 2026-04-25 2026-08-18 2 2 +192 / -4 qing@anthropic.com 224885523+maxisbey@users.no...
session_store.py
in src/claude_agent_sdk/_internal
119 7 2026-04-19 2026-04-21 2 1 +195 / -1 qing@anthropic.com qing@anthropic.com
session_summary.py
in src/claude_agent_sdk/_internal
142 5 2026-04-21 2026-05-05 2 1 +237 / -5 qing@anthropic.com qing@anthropic.com
__init__.py
in src/claude_agent_sdk/_internal
1 - 2025-09-28 2025-09-28 1 1 +1 / -0 dickson@anthropic.com dickson@anthropic.com
__init__.py
in src/claude_agent_sdk/testing
2 - 2026-04-19 2026-04-19 1 1 +9 / -0 qing@anthropic.com qing@anthropic.com
19 - 2026-10-01 2026-10-01 1 1 +40 / -0 qing@anthropic.com qing@anthropic.com
refresh-identity-token.js
in .github/actions/setup-claude-auth
20 1 2026-06-02 2026-06-02 1 1 +31 / -0 ashwin@anthropic.com ashwin@anthropic.com
24 2 2026-07-10 2026-07-10 1 1 +68 / -0 ashwin@anthropic.com ashwin@anthropic.com
session_store_validation.py
in src/claude_agent_sdk/_internal
27 2 2026-04-19 2026-04-19 1 1 +45 / -0 qing@anthropic.com qing@anthropic.com
38 3 2026-07-16 2026-07-16 1 1 +119 / -0 qing@anthropic.com qing@anthropic.com
_mcp_compat.py
in src/claude_agent_sdk/_internal
66 4 2026-08-18 2026-08-18 1 1 +154 / -0 224885523+maxisbey@users.no... 224885523+maxisbey@users.no...
167 - 2026-10-01 2026-10-01 1 1 +177 / -0 qing@anthropic.com qing@anthropic.com
sdk_mcp_bridge.py
in src/claude_agent_sdk/_internal
233 7 2026-08-18 2026-08-18 1 1 +384 / -0 224885523+maxisbey@users.no... 224885523+maxisbey@users.no...
check_workflow_hardening.py
in .github/scripts
300 14 2026-10-01 2026-10-01 1 1 +363 / -0 qing@anthropic.com qing@anthropic.com
Files With Most Churn (Top 37)
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
types.py
in src/claude_agent_sdk
894 7 2025-09-28 2026-09-24 55 32 +2721 / -176 dickson@anthropic.com canthony@anthropic.com
sessions.py
in src/claude_agent_sdk/_internal
1113 48 2026-03-03 2026-09-24 10 3 +2170 / -146 qing@anthropic.com canthony@anthropic.com
query.py
in src/claude_agent_sdk/_internal
678 20 2025-09-28 2026-09-25 33 17 +1596 / -368 dickson@anthropic.com qing@anthropic.com
subprocess_cli.py
in src/claude_agent_sdk/_internal/transport
731 21 2025-09-28 2026-09-25 43 27 +1484 / -256 dickson@anthropic.com qing@anthropic.com
__init__.py
in src/claude_agent_sdk
508 11 2025-09-28 2026-08-18 32 14 +964 / -192 dickson@anthropic.com qing@anthropic.com
session_mutations.py
in src/claude_agent_sdk/_internal
508 15 2026-03-12 2026-04-19 4 1 +1000 / -38 qing@anthropic.com qing@anthropic.com
client.py
in src/claude_agent_sdk
239 1 2025-09-28 2026-09-25 28 15 +735 / -104 dickson@anthropic.com qing@anthropic.com
build_wheel.py
in scripts
489 21 2025-11-19 2026-09-23 3 2 +708 / -35 ashwin@anthropic.com qing@anthropic.com
session_resume.py
in src/claude_agent_sdk/_internal
380 10 2026-04-19 2026-08-18 5 3 +658 / -35 qing@anthropic.com qing@anthropic.com
_cli_version.py
in src/claude_agent_sdk
1 - 2025-11-19 2026-10-06 196 3 +258 / -255 actions@github.com actions@github.com
download_cli.py
in scripts
200 14 2025-11-19 2026-07-16 3 2 +437 / -70 ashwin@anthropic.com qing@anthropic.com
message_parser.py
in src/claude_agent_sdk/_internal
340 2 2025-09-28 2026-08-12 21 14 +401 / -6 dickson@anthropic.com qing@anthropic.com
sdk_mcp_bridge.py
in src/claude_agent_sdk/_internal
233 7 2026-08-18 2026-08-18 1 1 +384 / -0 224885523+maxisbey@users.no... 224885523+maxisbey@users.no...
check_workflow_hardening.py
in .github/scripts
300 14 2026-10-01 2026-10-01 1 1 +363 / -0 qing@anthropic.com qing@anthropic.com
client.py
in src/claude_agent_sdk/_internal
149 1 2025-09-28 2026-09-25 19 9 +281 / -70 dickson@anthropic.com qing@anthropic.com
session_store_conformance.py
in src/claude_agent_sdk/testing
221 2 2026-04-19 2026-06-05 3 1 +336 / -9 qing@anthropic.com qing@anthropic.com
_version.py
in src/claude_agent_sdk
1 - 2025-09-28 2026-09-30 135 5 +167 / -164 dickson@anthropic.com github-actions[bot]@users.n...
transcript_mirror_batcher.py
in src/claude_agent_sdk/_internal
132 1 2026-04-19 2026-05-26 4 3 +267 / -48 qing@anthropic.com dsmilkov@gmail.com
session_summary.py
in src/claude_agent_sdk/_internal
142 5 2026-04-21 2026-05-05 2 1 +237 / -5 qing@anthropic.com qing@anthropic.com
_task_compat.py
in src/claude_agent_sdk/_internal
95 13 2026-04-25 2026-08-18 2 2 +192 / -4 qing@anthropic.com 224885523+maxisbey@users.no...
session_store.py
in src/claude_agent_sdk/_internal
119 7 2026-04-19 2026-04-21 2 1 +195 / -1 qing@anthropic.com qing@anthropic.com
session_import.py
in src/claude_agent_sdk/_internal
79 1 2026-04-22 2026-08-18 2 1 +172 / -10 qing@anthropic.com qing@anthropic.com
167 - 2026-10-01 2026-10-01 1 1 +177 / -0 qing@anthropic.com qing@anthropic.com
query.py
in src/claude_agent_sdk
18 - 2025-09-28 2026-09-24 6 5 +144 / -12 dickson@anthropic.com canthony@anthropic.com
_mcp_compat.py
in src/claude_agent_sdk/_internal
66 4 2026-08-18 2026-08-18 1 1 +154 / -0 224885523+maxisbey@users.no... 224885523+maxisbey@users.no...
102 3 2026-03-20 2026-10-06 3 1 +136 / -8 qing@anthropic.com qing@anthropic.com
_errors.py
in src/claude_agent_sdk
59 6 2025-09-28 2026-08-18 2 2 +134 / -0 dickson@anthropic.com qing@anthropic.com
38 3 2026-07-16 2026-07-16 1 1 +119 / -0 qing@anthropic.com qing@anthropic.com
34 1 2025-11-19 2026-07-16 2 2 +84 / -13 ashwin@anthropic.com qing@anthropic.com
__init__.py
in src/claude_agent_sdk/_internal/transport
23 2 2025-09-28 2026-09-24 3 3 +89 / -2 dickson@anthropic.com canthony@anthropic.com
24 2 2026-07-10 2026-07-10 1 1 +68 / -0 ashwin@anthropic.com ashwin@anthropic.com
31 1 2025-07-21 2025-11-19 4 2 +58 / -9 dickson@anthropic.com ashwin@anthropic.com
session_store_validation.py
in src/claude_agent_sdk/_internal
27 2 2026-04-19 2026-04-19 1 1 +45 / -0 qing@anthropic.com qing@anthropic.com
19 - 2026-10-01 2026-10-01 1 1 +40 / -0 qing@anthropic.com qing@anthropic.com
refresh-identity-token.js
in .github/actions/setup-claude-auth
20 1 2026-06-02 2026-06-02 1 1 +31 / -0 ashwin@anthropic.com ashwin@anthropic.com
__init__.py
in src/claude_agent_sdk/testing
2 - 2026-04-19 2026-04-19 1 1 +9 / -0 qing@anthropic.com qing@anthropic.com
__init__.py
in src/claude_agent_sdk/_internal
1 - 2025-09-28 2025-09-28 1 1 +1 / -0 dickson@anthropic.com dickson@anthropic.com
Files With Most Contributors (Top 37)
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
types.py
in src/claude_agent_sdk
894 7 2025-09-28 2026-09-24 55 32 +2721 / -176 dickson@anthropic.com canthony@anthropic.com
subprocess_cli.py
in src/claude_agent_sdk/_internal/transport
731 21 2025-09-28 2026-09-25 43 27 +1484 / -256 dickson@anthropic.com qing@anthropic.com
query.py
in src/claude_agent_sdk/_internal
678 20 2025-09-28 2026-09-25 33 17 +1596 / -368 dickson@anthropic.com qing@anthropic.com
client.py
in src/claude_agent_sdk
239 1 2025-09-28 2026-09-25 28 15 +735 / -104 dickson@anthropic.com qing@anthropic.com
__init__.py
in src/claude_agent_sdk
508 11 2025-09-28 2026-08-18 32 14 +964 / -192 dickson@anthropic.com qing@anthropic.com
message_parser.py
in src/claude_agent_sdk/_internal
340 2 2025-09-28 2026-08-12 21 14 +401 / -6 dickson@anthropic.com qing@anthropic.com
client.py
in src/claude_agent_sdk/_internal
149 1 2025-09-28 2026-09-25 19 9 +281 / -70 dickson@anthropic.com qing@anthropic.com
_version.py
in src/claude_agent_sdk
1 - 2025-09-28 2026-09-30 135 5 +167 / -164 dickson@anthropic.com github-actions[bot]@users.n...
query.py
in src/claude_agent_sdk
18 - 2025-09-28 2026-09-24 6 5 +144 / -12 dickson@anthropic.com canthony@anthropic.com
_cli_version.py
in src/claude_agent_sdk
1 - 2025-11-19 2026-10-06 196 3 +258 / -255 actions@github.com actions@github.com
sessions.py
in src/claude_agent_sdk/_internal
1113 48 2026-03-03 2026-09-24 10 3 +2170 / -146 qing@anthropic.com canthony@anthropic.com
session_resume.py
in src/claude_agent_sdk/_internal
380 10 2026-04-19 2026-08-18 5 3 +658 / -35 qing@anthropic.com qing@anthropic.com
transcript_mirror_batcher.py
in src/claude_agent_sdk/_internal
132 1 2026-04-19 2026-05-26 4 3 +267 / -48 qing@anthropic.com dsmilkov@gmail.com
__init__.py
in src/claude_agent_sdk/_internal/transport
23 2 2025-09-28 2026-09-24 3 3 +89 / -2 dickson@anthropic.com canthony@anthropic.com
31 1 2025-07-21 2025-11-19 4 2 +58 / -9 dickson@anthropic.com ashwin@anthropic.com
download_cli.py
in scripts
200 14 2025-11-19 2026-07-16 3 2 +437 / -70 ashwin@anthropic.com qing@anthropic.com
build_wheel.py
in scripts
489 21 2025-11-19 2026-09-23 3 2 +708 / -35 ashwin@anthropic.com qing@anthropic.com
34 1 2025-11-19 2026-07-16 2 2 +84 / -13 ashwin@anthropic.com qing@anthropic.com
_task_compat.py
in src/claude_agent_sdk/_internal
95 13 2026-04-25 2026-08-18 2 2 +192 / -4 qing@anthropic.com 224885523+maxisbey@users.no...
_errors.py
in src/claude_agent_sdk
59 6 2025-09-28 2026-08-18 2 2 +134 / -0 dickson@anthropic.com qing@anthropic.com
session_mutations.py
in src/claude_agent_sdk/_internal
508 15 2026-03-12 2026-04-19 4 1 +1000 / -38 qing@anthropic.com qing@anthropic.com
102 3 2026-03-20 2026-10-06 3 1 +136 / -8 qing@anthropic.com qing@anthropic.com
session_store_conformance.py
in src/claude_agent_sdk/testing
221 2 2026-04-19 2026-06-05 3 1 +336 / -9 qing@anthropic.com qing@anthropic.com
session_summary.py
in src/claude_agent_sdk/_internal
142 5 2026-04-21 2026-05-05 2 1 +237 / -5 qing@anthropic.com qing@anthropic.com
session_import.py
in src/claude_agent_sdk/_internal
79 1 2026-04-22 2026-08-18 2 1 +172 / -10 qing@anthropic.com qing@anthropic.com
session_store.py
in src/claude_agent_sdk/_internal
119 7 2026-04-19 2026-04-21 2 1 +195 / -1 qing@anthropic.com qing@anthropic.com
24 2 2026-07-10 2026-07-10 1 1 +68 / -0 ashwin@anthropic.com ashwin@anthropic.com
38 3 2026-07-16 2026-07-16 1 1 +119 / -0 qing@anthropic.com qing@anthropic.com
19 - 2026-10-01 2026-10-01 1 1 +40 / -0 qing@anthropic.com qing@anthropic.com
167 - 2026-10-01 2026-10-01 1 1 +177 / -0 qing@anthropic.com qing@anthropic.com
check_workflow_hardening.py
in .github/scripts
300 14 2026-10-01 2026-10-01 1 1 +363 / -0 qing@anthropic.com qing@anthropic.com
refresh-identity-token.js
in .github/actions/setup-claude-auth
20 1 2026-06-02 2026-06-02 1 1 +31 / -0 ashwin@anthropic.com ashwin@anthropic.com
__init__.py
in src/claude_agent_sdk/_internal
1 - 2025-09-28 2025-09-28 1 1 +1 / -0 dickson@anthropic.com dickson@anthropic.com
_mcp_compat.py
in src/claude_agent_sdk/_internal
66 4 2026-08-18 2026-08-18 1 1 +154 / -0 224885523+maxisbey@users.no... 224885523+maxisbey@users.no...
sdk_mcp_bridge.py
in src/claude_agent_sdk/_internal
233 7 2026-08-18 2026-08-18 1 1 +384 / -0 224885523+maxisbey@users.no... 224885523+maxisbey@users.no...
session_store_validation.py
in src/claude_agent_sdk/_internal
27 2 2026-04-19 2026-04-19 1 1 +45 / -0 qing@anthropic.com qing@anthropic.com
__init__.py
in src/claude_agent_sdk/testing
2 - 2026-04-19 2026-04-19 1 1 +9 / -0 qing@anthropic.com qing@anthropic.com
Files With Least Contributors (Top 37)
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
session_mutations.py
in src/claude_agent_sdk/_internal
508 15 2026-03-12 2026-04-19 4 1 +1000 / -38 qing@anthropic.com qing@anthropic.com
check_workflow_hardening.py
in .github/scripts
300 14 2026-10-01 2026-10-01 1 1 +363 / -0 qing@anthropic.com qing@anthropic.com
sdk_mcp_bridge.py
in src/claude_agent_sdk/_internal
233 7 2026-08-18 2026-08-18 1 1 +384 / -0 224885523+maxisbey@users.no... 224885523+maxisbey@users.no...
session_store_conformance.py
in src/claude_agent_sdk/testing
221 2 2026-04-19 2026-06-05 3 1 +336 / -9 qing@anthropic.com qing@anthropic.com
167 - 2026-10-01 2026-10-01 1 1 +177 / -0 qing@anthropic.com qing@anthropic.com
session_summary.py
in src/claude_agent_sdk/_internal
142 5 2026-04-21 2026-05-05 2 1 +237 / -5 qing@anthropic.com qing@anthropic.com
session_store.py
in src/claude_agent_sdk/_internal
119 7 2026-04-19 2026-04-21 2 1 +195 / -1 qing@anthropic.com qing@anthropic.com
102 3 2026-03-20 2026-10-06 3 1 +136 / -8 qing@anthropic.com qing@anthropic.com
session_import.py
in src/claude_agent_sdk/_internal
79 1 2026-04-22 2026-08-18 2 1 +172 / -10 qing@anthropic.com qing@anthropic.com
_mcp_compat.py
in src/claude_agent_sdk/_internal
66 4 2026-08-18 2026-08-18 1 1 +154 / -0 224885523+maxisbey@users.no... 224885523+maxisbey@users.no...
38 3 2026-07-16 2026-07-16 1 1 +119 / -0 qing@anthropic.com qing@anthropic.com
session_store_validation.py
in src/claude_agent_sdk/_internal
27 2 2026-04-19 2026-04-19 1 1 +45 / -0 qing@anthropic.com qing@anthropic.com
24 2 2026-07-10 2026-07-10 1 1 +68 / -0 ashwin@anthropic.com ashwin@anthropic.com
refresh-identity-token.js
in .github/actions/setup-claude-auth
20 1 2026-06-02 2026-06-02 1 1 +31 / -0 ashwin@anthropic.com ashwin@anthropic.com
19 - 2026-10-01 2026-10-01 1 1 +40 / -0 qing@anthropic.com qing@anthropic.com
__init__.py
in src/claude_agent_sdk/testing
2 - 2026-04-19 2026-04-19 1 1 +9 / -0 qing@anthropic.com qing@anthropic.com
__init__.py
in src/claude_agent_sdk/_internal
1 - 2025-09-28 2025-09-28 1 1 +1 / -0 dickson@anthropic.com dickson@anthropic.com
build_wheel.py
in scripts
489 21 2025-11-19 2026-09-23 3 2 +708 / -35 ashwin@anthropic.com qing@anthropic.com
download_cli.py
in scripts
200 14 2025-11-19 2026-07-16 3 2 +437 / -70 ashwin@anthropic.com qing@anthropic.com
_task_compat.py
in src/claude_agent_sdk/_internal
95 13 2026-04-25 2026-08-18 2 2 +192 / -4 qing@anthropic.com 224885523+maxisbey@users.no...
_errors.py
in src/claude_agent_sdk
59 6 2025-09-28 2026-08-18 2 2 +134 / -0 dickson@anthropic.com qing@anthropic.com
34 1 2025-11-19 2026-07-16 2 2 +84 / -13 ashwin@anthropic.com qing@anthropic.com
31 1 2025-07-21 2025-11-19 4 2 +58 / -9 dickson@anthropic.com ashwin@anthropic.com
sessions.py
in src/claude_agent_sdk/_internal
1113 48 2026-03-03 2026-09-24 10 3 +2170 / -146 qing@anthropic.com canthony@anthropic.com
session_resume.py
in src/claude_agent_sdk/_internal
380 10 2026-04-19 2026-08-18 5 3 +658 / -35 qing@anthropic.com qing@anthropic.com
transcript_mirror_batcher.py
in src/claude_agent_sdk/_internal
132 1 2026-04-19 2026-05-26 4 3 +267 / -48 qing@anthropic.com dsmilkov@gmail.com
__init__.py
in src/claude_agent_sdk/_internal/transport
23 2 2025-09-28 2026-09-24 3 3 +89 / -2 dickson@anthropic.com canthony@anthropic.com
_cli_version.py
in src/claude_agent_sdk
1 - 2025-11-19 2026-10-06 196 3 +258 / -255 actions@github.com actions@github.com
query.py
in src/claude_agent_sdk
18 - 2025-09-28 2026-09-24 6 5 +144 / -12 dickson@anthropic.com canthony@anthropic.com
_version.py
in src/claude_agent_sdk
1 - 2025-09-28 2026-09-30 135 5 +167 / -164 dickson@anthropic.com github-actions[bot]@users.n...
client.py
in src/claude_agent_sdk/_internal
149 1 2025-09-28 2026-09-25 19 9 +281 / -70 dickson@anthropic.com qing@anthropic.com
__init__.py
in src/claude_agent_sdk
508 11 2025-09-28 2026-08-18 32 14 +964 / -192 dickson@anthropic.com qing@anthropic.com
message_parser.py
in src/claude_agent_sdk/_internal
340 2 2025-09-28 2026-08-12 21 14 +401 / -6 dickson@anthropic.com qing@anthropic.com
client.py
in src/claude_agent_sdk
239 1 2025-09-28 2026-09-25 28 15 +735 / -104 dickson@anthropic.com qing@anthropic.com
query.py
in src/claude_agent_sdk/_internal
678 20 2025-09-28 2026-09-25 33 17 +1596 / -368 dickson@anthropic.com qing@anthropic.com
subprocess_cli.py
in src/claude_agent_sdk/_internal/transport
731 21 2025-09-28 2026-09-25 43 27 +1484 / -256 dickson@anthropic.com qing@anthropic.com
types.py
in src/claude_agent_sdk
894 7 2025-09-28 2026-09-24 55 32 +2721 / -176 dickson@anthropic.com canthony@anthropic.com
Correlations

File Size vs. Number of Changes: 37 points

src/claude_agent_sdk/_cli_version.py x: 1 lines of code y: 196 # changes scripts/check_pypi_quota.py x: 102 lines of code y: 3 # changes .github/egress-firewall.yaml x: 19 lines of code y: 1 # changes .github/scripts/check_workflow_hardening.py x: 300 lines of code y: 1 # changes .github/scripts/run-e2e-firewalled-windows.ps1 x: 167 lines of code y: 1 # changes src/claude_agent_sdk/_version.py x: 1 lines of code y: 135 # changes src/claude_agent_sdk/_internal/client.py x: 149 lines of code y: 19 # changes src/claude_agent_sdk/_internal/query.py x: 678 lines of code y: 33 # changes src/claude_agent_sdk/_internal/transport/subprocess_cli.py x: 731 lines of code y: 43 # changes src/claude_agent_sdk/client.py x: 239 lines of code y: 28 # changes src/claude_agent_sdk/_internal/sessions.py x: 1113 lines of code y: 10 # changes src/claude_agent_sdk/_internal/transport/__init__.py x: 23 lines of code y: 3 # changes src/claude_agent_sdk/query.py x: 18 lines of code y: 6 # changes src/claude_agent_sdk/types.py x: 894 lines of code y: 55 # changes scripts/build_wheel.py x: 489 lines of code y: 3 # changes src/claude_agent_sdk/__init__.py x: 508 lines of code y: 32 # changes src/claude_agent_sdk/_internal/_mcp_compat.py x: 66 lines of code y: 1 # changes src/claude_agent_sdk/_internal/_task_compat.py x: 95 lines of code y: 2 # changes src/claude_agent_sdk/_internal/sdk_mcp_bridge.py x: 233 lines of code y: 1 # changes src/claude_agent_sdk/_errors.py x: 59 lines of code y: 2 # changes src/claude_agent_sdk/_internal/session_import.py x: 79 lines of code y: 2 # changes src/claude_agent_sdk/_internal/session_resume.py x: 380 lines of code y: 5 # changes src/claude_agent_sdk/_internal/message_parser.py x: 340 lines of code y: 21 # changes scripts/_cli_version_validation.py x: 38 lines of code y: 1 # changes scripts/download_cli.py x: 200 lines of code y: 3 # changes scripts/update_cli_version.py x: 34 lines of code y: 2 # changes scripts/trust_workspace.py x: 24 lines of code y: 1 # changes src/claude_agent_sdk/testing/session_store_conformance.py x: 221 lines of code y: 3 # changes src/claude_agent_sdk/_internal/transcript_mirror_batcher.py x: 132 lines of code y: 4 # changes src/claude_agent_sdk/_internal/session_summary.py x: 142 lines of code y: 2 # changes src/claude_agent_sdk/_internal/session_store.py x: 119 lines of code y: 2 # changes src/claude_agent_sdk/_internal/session_mutations.py x: 508 lines of code y: 4 # changes src/claude_agent_sdk/_internal/session_store_validation.py x: 27 lines of code y: 1 # changes src/claude_agent_sdk/testing/__init__.py x: 2 lines of code y: 1 # changes scripts/update_version.py x: 31 lines of code y: 4 # changes
196.0
# changes
  min: 1.0
  average: 17.11
  25th percentile: 1.0
  median: 3.0
  75th percentile: 14.5
  max: 196.0
0 1113.0
lines of code
min: 1.0 | average: 221.16 | 25th percentile: 25.5 | median: 119.0 | 75th percentile: 320.0 | max: 1113.0

Number of Contributors vs. Number of Changes: 37 points

src/claude_agent_sdk/_cli_version.py x: 3 # contributors y: 196 # changes scripts/check_pypi_quota.py x: 1 # contributors y: 3 # changes .github/egress-firewall.yaml x: 1 # contributors y: 1 # changes src/claude_agent_sdk/_version.py x: 5 # contributors y: 135 # changes src/claude_agent_sdk/_internal/client.py x: 9 # contributors y: 19 # changes src/claude_agent_sdk/_internal/query.py x: 17 # contributors y: 33 # changes src/claude_agent_sdk/_internal/transport/subprocess_cli.py x: 27 # contributors y: 43 # changes src/claude_agent_sdk/client.py x: 15 # contributors y: 28 # changes src/claude_agent_sdk/_internal/sessions.py x: 3 # contributors y: 10 # changes src/claude_agent_sdk/_internal/transport/__init__.py x: 3 # contributors y: 3 # changes src/claude_agent_sdk/query.py x: 5 # contributors y: 6 # changes src/claude_agent_sdk/types.py x: 32 # contributors y: 55 # changes scripts/build_wheel.py x: 2 # contributors y: 3 # changes src/claude_agent_sdk/__init__.py x: 14 # contributors y: 32 # changes src/claude_agent_sdk/_internal/_task_compat.py x: 2 # contributors y: 2 # changes src/claude_agent_sdk/_internal/session_import.py x: 1 # contributors y: 2 # changes src/claude_agent_sdk/_internal/session_resume.py x: 3 # contributors y: 5 # changes src/claude_agent_sdk/_internal/message_parser.py x: 14 # contributors y: 21 # changes src/claude_agent_sdk/_internal/transcript_mirror_batcher.py x: 3 # contributors y: 4 # changes src/claude_agent_sdk/_internal/session_mutations.py x: 1 # contributors y: 4 # changes scripts/update_version.py x: 2 # contributors y: 4 # changes
196.0
# changes
  min: 1.0
  average: 17.11
  25th percentile: 1.0
  median: 3.0
  75th percentile: 14.5
  max: 196.0
0 32.0
# contributors
min: 1.0 | average: 4.92 | 25th percentile: 1.0 | median: 2.0 | 75th percentile: 4.0 | max: 32.0

Number of Contributors vs. File Size: 37 points

src/claude_agent_sdk/_cli_version.py x: 3 # contributors y: 1 lines of code scripts/check_pypi_quota.py x: 1 # contributors y: 102 lines of code .github/egress-firewall.yaml x: 1 # contributors y: 19 lines of code .github/scripts/check_workflow_hardening.py x: 1 # contributors y: 300 lines of code .github/scripts/run-e2e-firewalled-windows.ps1 x: 1 # contributors y: 167 lines of code src/claude_agent_sdk/_version.py x: 5 # contributors y: 1 lines of code src/claude_agent_sdk/_internal/client.py x: 9 # contributors y: 149 lines of code src/claude_agent_sdk/_internal/query.py x: 17 # contributors y: 678 lines of code src/claude_agent_sdk/_internal/transport/subprocess_cli.py x: 27 # contributors y: 731 lines of code src/claude_agent_sdk/client.py x: 15 # contributors y: 239 lines of code src/claude_agent_sdk/_internal/sessions.py x: 3 # contributors y: 1113 lines of code src/claude_agent_sdk/_internal/transport/__init__.py x: 3 # contributors y: 23 lines of code src/claude_agent_sdk/query.py x: 5 # contributors y: 18 lines of code src/claude_agent_sdk/types.py x: 32 # contributors y: 894 lines of code scripts/build_wheel.py x: 2 # contributors y: 489 lines of code src/claude_agent_sdk/__init__.py x: 14 # contributors y: 508 lines of code src/claude_agent_sdk/_internal/_mcp_compat.py x: 1 # contributors y: 66 lines of code src/claude_agent_sdk/_internal/_task_compat.py x: 2 # contributors y: 95 lines of code src/claude_agent_sdk/_internal/sdk_mcp_bridge.py x: 1 # contributors y: 233 lines of code src/claude_agent_sdk/_errors.py x: 2 # contributors y: 59 lines of code src/claude_agent_sdk/_internal/session_import.py x: 1 # contributors y: 79 lines of code src/claude_agent_sdk/_internal/session_resume.py x: 3 # contributors y: 380 lines of code src/claude_agent_sdk/_internal/message_parser.py x: 14 # contributors y: 340 lines of code scripts/_cli_version_validation.py x: 1 # contributors y: 38 lines of code scripts/download_cli.py x: 2 # contributors y: 200 lines of code scripts/update_cli_version.py x: 2 # contributors y: 34 lines of code scripts/trust_workspace.py x: 1 # contributors y: 24 lines of code src/claude_agent_sdk/testing/session_store_conformance.py x: 1 # contributors y: 221 lines of code src/claude_agent_sdk/_internal/transcript_mirror_batcher.py x: 3 # contributors y: 132 lines of code src/claude_agent_sdk/_internal/session_summary.py x: 1 # contributors y: 142 lines of code src/claude_agent_sdk/_internal/session_store.py x: 1 # contributors y: 119 lines of code src/claude_agent_sdk/_internal/session_mutations.py x: 1 # contributors y: 508 lines of code src/claude_agent_sdk/_internal/session_store_validation.py x: 1 # contributors y: 27 lines of code src/claude_agent_sdk/testing/__init__.py x: 1 # contributors y: 2 lines of code
1113.0
lines of code
  min: 1.0
  average: 221.16
  25th percentile: 25.5
  median: 119.0
  75th percentile: 320.0
  max: 1113.0
0 32.0
# contributors
min: 1.0 | average: 4.92 | 25th percentile: 1.0 | median: 2.0 | 75th percentile: 4.0 | max: 32.0

Number of Changes vs. Line Churn: 170 points

.github/scripts/e2e-failure-summary.sh x: 1 # changes y: 14 line churn .github/scripts/run-e2e-firewalled-macos.sh x: 2 # changes y: 114 line churn .github/workflows/test.yml x: 19 # changes y: 464 line churn e2e-tests/test_include_partial_messages.py x: 8 # changes y: 224 line churn src/claude_agent_sdk/_cli_version.py x: 196 # changes y: 513 line churn .github/workflows/build-and-publish.yml x: 12 # changes y: 541 line churn .github/workflows/pypi-quota-check.yml x: 3 # changes y: 75 line churn RELEASING.md x: 4 # changes y: 81 line churn scripts/check_pypi_quota.py x: 3 # changes y: 144 line churn .github/egress-firewall.yaml x: 1 # changes y: 40 line churn .github/scripts/check_workflow_hardening.py x: 1 # changes y: 363 line churn .github/scripts/run-e2e-firewalled-windows.ps1 x: 1 # changes y: 177 line churn .github/workflows/claude-code-review.yml x: 6 # changes y: 194 line churn .github/workflows/claude-issue-triage.yml x: 6 # changes y: 341 line churn .github/workflows/claude.yml x: 7 # changes y: 186 line churn .github/workflows/generate-changelog.yml x: 1 # changes y: 96 line churn .github/workflows/workflow-hardening.yml x: 1 # changes y: 23 line churn CLAUDE.md x: 4 # changes y: 123 line churn Dockerfile.test x: 4 # changes y: 55 line churn CHANGELOG.md x: 137 # changes y: 1489 line churn pyproject.toml x: 149 # changes y: 635 line churn src/claude_agent_sdk/_version.py x: 135 # changes y: 331 line churn e2e-tests/test_run_end.py x: 1 # changes y: 189 line churn src/claude_agent_sdk/_internal/client.py x: 19 # changes y: 351 line churn src/claude_agent_sdk/_internal/query.py x: 33 # changes y: 1964 line churn src/claude_agent_sdk/_internal/transport/subprocess_cli.py x: 43 # changes y: 1740 line churn src/claude_agent_sdk/client.py x: 28 # changes y: 839 line churn tests/test_query.py x: 14 # changes y: 2852 line churn tests/test_run_end_subprocess.py x: 1 # changes y: 210 line churn tests/test_transport.py x: 48 # changes y: 3805 line churn src/claude_agent_sdk/_internal/sessions.py x: 10 # changes y: 2316 line churn src/claude_agent_sdk/_internal/transport/__init__.py x: 3 # changes y: 91 line churn src/claude_agent_sdk/query.py x: 6 # changes y: 156 line churn src/claude_agent_sdk/types.py x: 55 # changes y: 2897 line churn .github/workflows/build-wheel-check.yml x: 4 # changes y: 118 line churn scripts/build_wheel.py x: 3 # changes y: 743 line churn tests/test_build_wheel.py x: 3 # changes y: 275 line churn e2e-tests/test_verbatim_prompts.py x: 1 # changes y: 110 line churn tests/test_verbatim_prompts.py x: 1 # changes y: 257 line churn README.md x: 18 # changes y: 791 line churn tests/test_client.py x: 12 # changes y: 678 line churn tests/test_types.py x: 21 # changes y: 925 line churn e2e-tests/test_dynamic_control.py x: 3 # changes y: 110 line churn src/claude_agent_sdk/__init__.py x: 32 # changes y: 1156 line churn src/claude_agent_sdk/_internal/_mcp_compat.py x: 1 # changes y: 154 line churn src/claude_agent_sdk/_internal/_task_compat.py x: 2 # changes y: 196 line churn src/claude_agent_sdk/_internal/sdk_mcp_bridge.py x: 1 # changes y: 384 line churn tests/test_sdk_mcp_integration.py x: 11 # changes y: 3313 line churn tests/test_task_compat.py x: 2 # changes y: 258 line churn e2e-tests/test_error_results.py x: 1 # changes y: 59 line churn src/claude_agent_sdk/_errors.py x: 2 # changes y: 134 line churn tests/test_errors.py x: 3 # changes y: 166 line churn src/claude_agent_sdk/_internal/session_import.py x: 2 # changes y: 182 line churn src/claude_agent_sdk/_internal/session_resume.py x: 5 # changes y: 693 line churn tests/test_session_helpers_store.py x: 4 # changes y: 906 line churn tests/test_session_import.py x: 3 # changes y: 391 line churn tests/test_sessions.py x: 6 # changes y: 1997 line churn tests/test_streaming_client.py x: 11 # changes y: 2893 line churn e2e-tests/test_tool_permissions.py x: 6 # changes y: 171 line churn e2e-tests/test_truncating_resume.py x: 1 # changes y: 129 line churn src/claude_agent_sdk/_internal/message_parser.py x: 21 # changes y: 407 line churn tests/test_message_parser.py x: 23 # changes y: 1499 line churn tests/test_session_resume.py x: 4 # changes y: 1640 line churn .claude/settings.json x: 2 # changes y: 33 line churn .claude/skills/verify/SKILL.md x: 1 # changes y: 79 line churn .github/workflows/publish.yml x: 16 # changes y: 830 line churn scripts/download_cli.py x: 3 # changes y: 507 line churn scripts/update_cli_version.py x: 2 # changes y: 97 line churn tests/test_download_cli.py x: 1 # changes y: 688 line churn tests/test_update_cli_version.py x: 1 # changes y: 335 line churn scripts/trust_workspace.py x: 1 # changes y: 68 line churn tests/test_option_warnings.py x: 1 # changes y: 429 line churn tests/test_subprocess_buffering.py x: 12 # changes y: 1074 line churn e2e-tests/test_stderr_callback.py x: 5 # changes y: 109 line churn e2e-tests/test_agents_and_settings.py x: 9 # changes y: 507 line churn e2e-tests/test_hooks.py x: 4 # changes y: 174 line churn e2e-tests/test_sdk_mcp_tools.py x: 6 # changes y: 208 line churn e2e-tests/test_structured_output.py x: 3 # changes y: 216 line churn examples/session_stores/README.md x: 2 # changes y: 414 line churn examples/session_stores/s3_session_store.py x: 2 # changes y: 449 line churn src/claude_agent_sdk/testing/session_store_conformance.py x: 3 # changes y: 345 line churn tests/conftest.py x: 2 # changes y: 17 line churn tests/test_example_redis_session_store.py x: 2 # changes y: 377 line churn tests/test_example_s3_session_store.py x: 2 # changes y: 652 line churn tests/test_example_s3_session_store_live.py x: 2 # changes y: 221 line churn tests/test_session_store_anyio.py x: 2 # changes y: 294 line churn tests/test_session_summary.py x: 2 # changes y: 907 line churn tests/test_tool_callbacks.py x: 13 # changes y: 1727 line churn tests/test_transcript_mirror.py x: 6 # changes y: 1176 line churn src/claude_agent_sdk/_internal/transcript_mirror_batcher.py x: 4 # changes y: 315 line churn .github/workflows/auto-release.yml x: 4 # changes y: 60 line churn src/claude_agent_sdk/_internal/session_summary.py x: 2 # changes y: 242 line churn examples/stderr_callback_example.py x: 2 # changes y: 57 line churn src/claude_agent_sdk/_internal/session_mutations.py x: 4 # changes y: 1038 line churn examples/setting_sources.py x: 4 # changes y: 228 line churn tests/test_session_mutations.py x: 3 # changes y: 829 line churn examples/streaming_mode.py x: 11 # changes y: 1245 line churn tests/test_rate_limit_event_repro.py x: 2 # changes y: 138 line churn tests/test_integration.py x: 9 # changes y: 600 line churn .github/workflows/create-release-tag.yml x: 8 # changes y: 303 line churn examples/hooks.py x: 5 # changes y: 376 line churn examples/mcp_calculator.py x: 6 # changes y: 663 line churn examples/quick_start.py x: 5 # changes y: 174 line churn examples/streaming_mode_ipython.py x: 4 # changes y: 549 line churn examples/tool_permission_callback.py x: 5 # changes y: 482 line churn src/claude_code_sdk/__init__.py x: 21 # changes y: 1000 line churn src/claude_code_sdk/_internal/__init__.py x: 2 # changes y: 3 line churn src/claude_code_sdk/_internal/message_parser.py x: 8 # changes y: 522 line churn src/claude_code_sdk/_internal/query.py x: 5 # changes y: 1130 line churn src/claude_code_sdk/_internal/transport/__init__.py x: 4 # changes y: 199 line churn src/claude_code_sdk/_internal/transport/subprocess_cli.py x: 30 # changes y: 2090 line churn src/claude_code_sdk/client.py x: 10 # changes y: 1156 line churn src/claude_code_sdk/query.py x: 5 # changes y: 370 line churn src/claude_code_sdk/types.py x: 22 # changes y: 1055 line churn
3805.0
line churn
  min: 1.0
  average: 454.19
  25th percentile: 84.5
  median: 195.0
  75th percentile: 515.25
  max: 3805.0
0 196.0
# changes
min: 1.0 | average: 9.18 | 25th percentile: 1.0 | median: 3.0 | 75th percentile: 6.0 | max: 196.0

Number of Contributors vs. Line Churn: 37 points

src/claude_agent_sdk/_cli_version.py x: 3 # contributors y: 513 line churn scripts/check_pypi_quota.py x: 1 # contributors y: 144 line churn .github/egress-firewall.yaml x: 1 # contributors y: 40 line churn .github/scripts/check_workflow_hardening.py x: 1 # contributors y: 363 line churn .github/scripts/run-e2e-firewalled-windows.ps1 x: 1 # contributors y: 177 line churn src/claude_agent_sdk/_version.py x: 5 # contributors y: 331 line churn src/claude_agent_sdk/_internal/client.py x: 9 # contributors y: 351 line churn src/claude_agent_sdk/_internal/query.py x: 17 # contributors y: 1964 line churn src/claude_agent_sdk/_internal/transport/subprocess_cli.py x: 27 # contributors y: 1740 line churn src/claude_agent_sdk/client.py x: 15 # contributors y: 839 line churn src/claude_agent_sdk/_internal/sessions.py x: 3 # contributors y: 2316 line churn src/claude_agent_sdk/_internal/transport/__init__.py x: 3 # contributors y: 91 line churn src/claude_agent_sdk/query.py x: 5 # contributors y: 156 line churn src/claude_agent_sdk/types.py x: 32 # contributors y: 2897 line churn scripts/build_wheel.py x: 2 # contributors y: 743 line churn src/claude_agent_sdk/__init__.py x: 14 # contributors y: 1156 line churn src/claude_agent_sdk/_internal/_mcp_compat.py x: 1 # contributors y: 154 line churn src/claude_agent_sdk/_internal/_task_compat.py x: 2 # contributors y: 196 line churn src/claude_agent_sdk/_internal/sdk_mcp_bridge.py x: 1 # contributors y: 384 line churn src/claude_agent_sdk/_errors.py x: 2 # contributors y: 134 line churn src/claude_agent_sdk/_internal/session_resume.py x: 3 # contributors y: 693 line churn src/claude_agent_sdk/_internal/message_parser.py x: 14 # contributors y: 407 line churn scripts/_cli_version_validation.py x: 1 # contributors y: 119 line churn scripts/download_cli.py x: 2 # contributors y: 507 line churn scripts/update_cli_version.py x: 2 # contributors y: 97 line churn scripts/trust_workspace.py x: 1 # contributors y: 68 line churn src/claude_agent_sdk/testing/session_store_conformance.py x: 1 # contributors y: 345 line churn .github/actions/setup-claude-auth/refresh-identity-token.js x: 1 # contributors y: 31 line churn src/claude_agent_sdk/_internal/transcript_mirror_batcher.py x: 3 # contributors y: 315 line churn src/claude_agent_sdk/_internal/session_summary.py x: 1 # contributors y: 242 line churn src/claude_agent_sdk/_internal/session_store.py x: 1 # contributors y: 196 line churn src/claude_agent_sdk/_internal/session_mutations.py x: 1 # contributors y: 1038 line churn src/claude_agent_sdk/testing/__init__.py x: 1 # contributors y: 9 line churn scripts/update_version.py x: 2 # contributors y: 67 line churn
2897.0
line churn
  min: 1.0
  average: 514.89
  25th percentile: 108.0
  median: 242.0
  75th percentile: 603.0
  max: 2897.0
0 32.0
# contributors
min: 1.0 | average: 4.92 | 25th percentile: 1.0 | median: 2.0 | 75th percentile: 4.0 | max: 32.0

File Size vs. Line Churn: 37 points

src/claude_agent_sdk/_cli_version.py x: 1 lines of code y: 513 line churn scripts/check_pypi_quota.py x: 102 lines of code y: 144 line churn .github/egress-firewall.yaml x: 19 lines of code y: 40 line churn .github/scripts/check_workflow_hardening.py x: 300 lines of code y: 363 line churn .github/scripts/run-e2e-firewalled-windows.ps1 x: 167 lines of code y: 177 line churn src/claude_agent_sdk/_version.py x: 1 lines of code y: 331 line churn src/claude_agent_sdk/_internal/client.py x: 149 lines of code y: 351 line churn src/claude_agent_sdk/_internal/query.py x: 678 lines of code y: 1964 line churn src/claude_agent_sdk/_internal/transport/subprocess_cli.py x: 731 lines of code y: 1740 line churn src/claude_agent_sdk/client.py x: 239 lines of code y: 839 line churn src/claude_agent_sdk/_internal/sessions.py x: 1113 lines of code y: 2316 line churn src/claude_agent_sdk/_internal/transport/__init__.py x: 23 lines of code y: 91 line churn src/claude_agent_sdk/query.py x: 18 lines of code y: 156 line churn src/claude_agent_sdk/types.py x: 894 lines of code y: 2897 line churn scripts/build_wheel.py x: 489 lines of code y: 743 line churn src/claude_agent_sdk/__init__.py x: 508 lines of code y: 1156 line churn src/claude_agent_sdk/_internal/_mcp_compat.py x: 66 lines of code y: 154 line churn src/claude_agent_sdk/_internal/_task_compat.py x: 95 lines of code y: 196 line churn src/claude_agent_sdk/_internal/sdk_mcp_bridge.py x: 233 lines of code y: 384 line churn src/claude_agent_sdk/_errors.py x: 59 lines of code y: 134 line churn src/claude_agent_sdk/_internal/session_import.py x: 79 lines of code y: 182 line churn src/claude_agent_sdk/_internal/session_resume.py x: 380 lines of code y: 693 line churn src/claude_agent_sdk/_internal/message_parser.py x: 340 lines of code y: 407 line churn scripts/_cli_version_validation.py x: 38 lines of code y: 119 line churn scripts/download_cli.py x: 200 lines of code y: 507 line churn scripts/update_cli_version.py x: 34 lines of code y: 97 line churn scripts/trust_workspace.py x: 24 lines of code y: 68 line churn src/claude_agent_sdk/testing/session_store_conformance.py x: 221 lines of code y: 345 line churn .github/actions/setup-claude-auth/refresh-identity-token.js x: 20 lines of code y: 31 line churn src/claude_agent_sdk/_internal/transcript_mirror_batcher.py x: 132 lines of code y: 315 line churn src/claude_agent_sdk/_internal/session_summary.py x: 142 lines of code y: 242 line churn src/claude_agent_sdk/_internal/session_store.py x: 119 lines of code y: 196 line churn src/claude_agent_sdk/_internal/session_mutations.py x: 508 lines of code y: 1038 line churn src/claude_agent_sdk/_internal/session_store_validation.py x: 27 lines of code y: 45 line churn src/claude_agent_sdk/testing/__init__.py x: 2 lines of code y: 9 line churn scripts/update_version.py x: 31 lines of code y: 67 line churn
2897.0
line churn
  min: 1.0
  average: 514.89
  25th percentile: 108.0
  median: 242.0
  75th percentile: 603.0
  max: 2897.0
0 1113.0
lines of code
min: 1.0 | average: 221.16 | 25th percentile: 25.5 | median: 119.0 | 75th percentile: 320.0 | max: 1113.0