anthropics / claude-agent-sdk-python
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 30 files with 6,389 lines of code.
    • 1 file changed more than 100 times (1 lines of code)
    • 0 files changed 51-100 times (0 lines of code)
    • 5 files changed 21-50 times (2,595 lines of code)
    • 3 files changed 6-20 times (1,517 lines of code)
    • 21 files changed 1-5 times (2,276 lines of code)
<1% | 0% | 40% | 23% | 35%
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 30 files with 6,389 lines of code.
    • 1 file changed by more than 25 contributors (757 lines of code)
    • 5 files changed by 11-25 contributors (2,135 lines of code)
    • 1 file changed by 6-10 contributors (160 lines of code)
    • 8 files changed by 2-5 contributors (1,684 lines of code)
    • 15 files changed by 1 contributor (1,653 lines of code)
11% | 33% | 2% | 26% | 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, yaml, md, sh, gitignore, json, js, dockerignore, toml, txt
File Change Frequency per Extension
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
py<1% | 0% | 40% | 23% | 35%
js0% | 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% | 0% | 44% | 25% | 29%
scripts0% | 0% | 0% | 0% | 100%
.github0% | 0% | 0% | 0% | 100%
Most Frequently Changed Files (Top 30)

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-06-23 122 2 +167 / -164 actions@github.com actions@github.com
types.py
in src/claude_agent_sdk
757 2 2025-09-28 2026-06-12 42 27 +2228 / -130 50384638+mng-dev-ai@users.n... 35135337+maxim092001@users....
subprocess_cli.py
in src/claude_agent_sdk/_internal/transport
523 9 2025-09-28 2026-05-14 32 25 +951 / -189 50384638+mng-dev-ai@users.n... 100040464+seeincodes@users....
__init__.py
in src/claude_agent_sdk
469 7 2025-09-28 2026-06-12 26 12 +727 / -58 dickson@anthropic.com 35135337+maxim092001@users....
query.py
in src/claude_agent_sdk/_internal
597 8 2025-09-28 2026-05-07 24 13 +993 / -94 dickson@anthropic.com qing@anthropic.com
client.py
in src/claude_agent_sdk
249 2 2025-09-28 2026-05-05 21 12 +663 / -36 dickson@anthropic.com qing@anthropic.com
message_parser.py
in src/claude_agent_sdk/_internal
297 1 2025-09-28 2026-06-12 17 12 +347 / -4 dickson@anthropic.com 35135337+maxim092001@users....
client.py
in src/claude_agent_sdk/_internal
160 2 2025-09-28 2026-05-05 13 8 +251 / -21 dickson@anthropic.com qing@anthropic.com
sessions.py
in src/claude_agent_sdk/_internal
1060 44 2026-03-03 2026-05-26 8 2 +2055 / -130 qing@anthropic.com dsmilkov@gmail.com
query.py
in src/claude_agent_sdk
18 - 2025-09-28 2026-04-22 5 4 +131 / -5 dickson@anthropic.com sarahdeaton@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
_version.py
in src/claude_agent_sdk
1 - 2025-09-28 2026-03-20 3 3 +5 / -2 dickson@anthropic.com qing@anthropic.com
session_store_conformance.py
in src/claude_agent_sdk/testing
221 2 2026-04-19 2026-06-04 3 1 +336 / -9 qing@anthropic.com qing@anthropic.com
session_resume.py
in src/claude_agent_sdk/_internal
335 8 2026-04-19 2026-05-26 3 3 +546 / -10 qing@anthropic.com dsmilkov@gmail.com
download_cli.py
in scripts
106 5 2025-11-19 2026-03-24 2 2 +194 / -26 ashwin@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
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
20 1 2025-11-19 2025-11-19 1 1 +32 / -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
__init__.py
in src/claude_agent_sdk/_internal/transport
23 2 2025-09-28 2025-09-28 1 1 +68 / -0 dickson@anthropic.com dickson@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
_errors.py
in src/claude_agent_sdk
30 4 2025-09-28 2025-09-28 1 1 +56 / -0 dickson@anthropic.com dickson@anthropic.com
session_import.py
in src/claude_agent_sdk/_internal
84 1 2026-04-22 2026-04-22 1 1 +163 / -0 qing@anthropic.com qing@anthropic.com
_task_compat.py
in src/claude_agent_sdk/_internal
88 13 2026-04-24 2026-04-24 1 1 +176 / -0 qing@anthropic.com qing@anthropic.com
100 3 2026-03-20 2026-03-20 1 1 +126 / -0 qing@anthropic.com qing@anthropic.com
build_wheel.py
in scripts
268 13 2025-11-19 2025-11-19 1 1 +415 / -23 ashwin@anthropic.com ashwin@anthropic.com
Files With Most Churn (Top 30)
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
757 2 2025-09-28 2026-06-12 42 27 +2228 / -130 50384638+mng-dev-ai@users.n... 35135337+maxim092001@users....
sessions.py
in src/claude_agent_sdk/_internal
1060 44 2026-03-03 2026-05-26 8 2 +2055 / -130 qing@anthropic.com dsmilkov@gmail.com
subprocess_cli.py
in src/claude_agent_sdk/_internal/transport
523 9 2025-09-28 2026-05-14 32 25 +951 / -189 50384638+mng-dev-ai@users.n... 100040464+seeincodes@users....
query.py
in src/claude_agent_sdk/_internal
597 8 2025-09-28 2026-05-07 24 13 +993 / -94 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
__init__.py
in src/claude_agent_sdk
469 7 2025-09-28 2026-06-12 26 12 +727 / -58 dickson@anthropic.com 35135337+maxim092001@users....
client.py
in src/claude_agent_sdk
249 2 2025-09-28 2026-05-05 21 12 +663 / -36 dickson@anthropic.com qing@anthropic.com
session_resume.py
in src/claude_agent_sdk/_internal
335 8 2026-04-19 2026-05-26 3 3 +546 / -10 qing@anthropic.com dsmilkov@gmail.com
build_wheel.py
in scripts
268 13 2025-11-19 2025-11-19 1 1 +415 / -23 ashwin@anthropic.com ashwin@anthropic.com
message_parser.py
in src/claude_agent_sdk/_internal
297 1 2025-09-28 2026-06-12 17 12 +347 / -4 dickson@anthropic.com 35135337+maxim092001@users....
session_store_conformance.py
in src/claude_agent_sdk/testing
221 2 2026-04-19 2026-06-04 3 1 +336 / -9 qing@anthropic.com qing@anthropic.com
_cli_version.py
in src/claude_agent_sdk
1 - 2025-11-19 2026-06-23 122 2 +167 / -164 actions@github.com actions@github.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
client.py
in src/claude_agent_sdk/_internal
160 2 2025-09-28 2026-05-05 13 8 +251 / -21 dickson@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
download_cli.py
in scripts
106 5 2025-11-19 2026-03-24 2 2 +194 / -26 ashwin@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
_task_compat.py
in src/claude_agent_sdk/_internal
88 13 2026-04-24 2026-04-24 1 1 +176 / -0 qing@anthropic.com qing@anthropic.com
session_import.py
in src/claude_agent_sdk/_internal
84 1 2026-04-22 2026-04-22 1 1 +163 / -0 qing@anthropic.com qing@anthropic.com
query.py
in src/claude_agent_sdk
18 - 2025-09-28 2026-04-22 5 4 +131 / -5 dickson@anthropic.com sarahdeaton@anthropic.com
100 3 2026-03-20 2026-03-20 1 1 +126 / -0 qing@anthropic.com qing@anthropic.com
__init__.py
in src/claude_agent_sdk/_internal/transport
23 2 2025-09-28 2025-09-28 1 1 +68 / -0 dickson@anthropic.com dickson@anthropic.com
31 1 2025-07-21 2025-11-19 4 2 +58 / -9 dickson@anthropic.com ashwin@anthropic.com
_errors.py
in src/claude_agent_sdk
30 4 2025-09-28 2025-09-28 1 1 +56 / -0 dickson@anthropic.com dickson@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
20 1 2025-11-19 2025-11-19 1 1 +32 / -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
__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
_version.py
in src/claude_agent_sdk
1 - 2025-09-28 2026-03-20 3 3 +5 / -2 dickson@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 30)
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
757 2 2025-09-28 2026-06-12 42 27 +2228 / -130 50384638+mng-dev-ai@users.n... 35135337+maxim092001@users....
subprocess_cli.py
in src/claude_agent_sdk/_internal/transport
523 9 2025-09-28 2026-05-14 32 25 +951 / -189 50384638+mng-dev-ai@users.n... 100040464+seeincodes@users....
query.py
in src/claude_agent_sdk/_internal
597 8 2025-09-28 2026-05-07 24 13 +993 / -94 dickson@anthropic.com qing@anthropic.com
__init__.py
in src/claude_agent_sdk
469 7 2025-09-28 2026-06-12 26 12 +727 / -58 dickson@anthropic.com 35135337+maxim092001@users....
client.py
in src/claude_agent_sdk
249 2 2025-09-28 2026-05-05 21 12 +663 / -36 dickson@anthropic.com qing@anthropic.com
message_parser.py
in src/claude_agent_sdk/_internal
297 1 2025-09-28 2026-06-12 17 12 +347 / -4 dickson@anthropic.com 35135337+maxim092001@users....
client.py
in src/claude_agent_sdk/_internal
160 2 2025-09-28 2026-05-05 13 8 +251 / -21 dickson@anthropic.com qing@anthropic.com
query.py
in src/claude_agent_sdk
18 - 2025-09-28 2026-04-22 5 4 +131 / -5 dickson@anthropic.com sarahdeaton@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
_version.py
in src/claude_agent_sdk
1 - 2025-09-28 2026-03-20 3 3 +5 / -2 dickson@anthropic.com qing@anthropic.com
session_resume.py
in src/claude_agent_sdk/_internal
335 8 2026-04-19 2026-05-26 3 3 +546 / -10 qing@anthropic.com dsmilkov@gmail.com
_cli_version.py
in src/claude_agent_sdk
1 - 2025-11-19 2026-06-23 122 2 +167 / -164 actions@github.com actions@github.com
sessions.py
in src/claude_agent_sdk/_internal
1060 44 2026-03-03 2026-05-26 8 2 +2055 / -130 qing@anthropic.com dsmilkov@gmail.com
31 1 2025-07-21 2025-11-19 4 2 +58 / -9 dickson@anthropic.com ashwin@anthropic.com
download_cli.py
in scripts
106 5 2025-11-19 2026-03-24 2 2 +194 / -26 ashwin@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
session_store_conformance.py
in src/claude_agent_sdk/testing
221 2 2026-04-19 2026-06-04 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_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
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
100 3 2026-03-20 2026-03-20 1 1 +126 / -0 qing@anthropic.com qing@anthropic.com
20 1 2025-11-19 2025-11-19 1 1 +32 / -0 ashwin@anthropic.com ashwin@anthropic.com
build_wheel.py
in scripts
268 13 2025-11-19 2025-11-19 1 1 +415 / -23 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
__init__.py
in src/claude_agent_sdk/_internal/transport
23 2 2025-09-28 2025-09-28 1 1 +68 / -0 dickson@anthropic.com dickson@anthropic.com
session_import.py
in src/claude_agent_sdk/_internal
84 1 2026-04-22 2026-04-22 1 1 +163 / -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
_task_compat.py
in src/claude_agent_sdk/_internal
88 13 2026-04-24 2026-04-24 1 1 +176 / -0 qing@anthropic.com qing@anthropic.com
_errors.py
in src/claude_agent_sdk
30 4 2025-09-28 2025-09-28 1 1 +56 / -0 dickson@anthropic.com dickson@anthropic.com
Files With Least Contributors (Top 30)
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
build_wheel.py
in scripts
268 13 2025-11-19 2025-11-19 1 1 +415 / -23 ashwin@anthropic.com ashwin@anthropic.com
session_store_conformance.py
in src/claude_agent_sdk/testing
221 2 2026-04-19 2026-06-04 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_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
100 3 2026-03-20 2026-03-20 1 1 +126 / -0 qing@anthropic.com qing@anthropic.com
_task_compat.py
in src/claude_agent_sdk/_internal
88 13 2026-04-24 2026-04-24 1 1 +176 / -0 qing@anthropic.com qing@anthropic.com
session_import.py
in src/claude_agent_sdk/_internal
84 1 2026-04-22 2026-04-22 1 1 +163 / -0 qing@anthropic.com qing@anthropic.com
_errors.py
in src/claude_agent_sdk
30 4 2025-09-28 2025-09-28 1 1 +56 / -0 dickson@anthropic.com dickson@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
__init__.py
in src/claude_agent_sdk/_internal/transport
23 2 2025-09-28 2025-09-28 1 1 +68 / -0 dickson@anthropic.com dickson@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
20 1 2025-11-19 2025-11-19 1 1 +32 / -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
sessions.py
in src/claude_agent_sdk/_internal
1060 44 2026-03-03 2026-05-26 8 2 +2055 / -130 qing@anthropic.com dsmilkov@gmail.com
download_cli.py
in scripts
106 5 2025-11-19 2026-03-24 2 2 +194 / -26 ashwin@anthropic.com qing@anthropic.com
31 1 2025-07-21 2025-11-19 4 2 +58 / -9 dickson@anthropic.com ashwin@anthropic.com
_cli_version.py
in src/claude_agent_sdk
1 - 2025-11-19 2026-06-23 122 2 +167 / -164 actions@github.com actions@github.com
session_resume.py
in src/claude_agent_sdk/_internal
335 8 2026-04-19 2026-05-26 3 3 +546 / -10 qing@anthropic.com dsmilkov@gmail.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
_version.py
in src/claude_agent_sdk
1 - 2025-09-28 2026-03-20 3 3 +5 / -2 dickson@anthropic.com qing@anthropic.com
query.py
in src/claude_agent_sdk
18 - 2025-09-28 2026-04-22 5 4 +131 / -5 dickson@anthropic.com sarahdeaton@anthropic.com
client.py
in src/claude_agent_sdk/_internal
160 2 2025-09-28 2026-05-05 13 8 +251 / -21 dickson@anthropic.com qing@anthropic.com
__init__.py
in src/claude_agent_sdk
469 7 2025-09-28 2026-06-12 26 12 +727 / -58 dickson@anthropic.com 35135337+maxim092001@users....
message_parser.py
in src/claude_agent_sdk/_internal
297 1 2025-09-28 2026-06-12 17 12 +347 / -4 dickson@anthropic.com 35135337+maxim092001@users....
client.py
in src/claude_agent_sdk
249 2 2025-09-28 2026-05-05 21 12 +663 / -36 dickson@anthropic.com qing@anthropic.com
query.py
in src/claude_agent_sdk/_internal
597 8 2025-09-28 2026-05-07 24 13 +993 / -94 dickson@anthropic.com qing@anthropic.com
subprocess_cli.py
in src/claude_agent_sdk/_internal/transport
523 9 2025-09-28 2026-05-14 32 25 +951 / -189 50384638+mng-dev-ai@users.n... 100040464+seeincodes@users....
types.py
in src/claude_agent_sdk
757 2 2025-09-28 2026-06-12 42 27 +2228 / -130 50384638+mng-dev-ai@users.n... 35135337+maxim092001@users....
Correlations

File Size vs. Number of Changes: 30 points

src/claude_agent_sdk/_cli_version.py x: 1 lines of code y: 122 # changes src/claude_agent_sdk/__init__.py x: 469 lines of code y: 26 # changes src/claude_agent_sdk/_internal/message_parser.py x: 297 lines of code y: 17 # changes src/claude_agent_sdk/types.py x: 757 lines of code y: 42 # changes src/claude_agent_sdk/testing/session_store_conformance.py x: 221 lines of code y: 3 # changes .github/actions/setup-claude-auth/refresh-identity-token.js x: 20 lines of code y: 1 # changes src/claude_agent_sdk/_internal/session_resume.py x: 335 lines of code y: 3 # changes src/claude_agent_sdk/_internal/sessions.py x: 1060 lines of code y: 8 # changes src/claude_agent_sdk/_internal/transcript_mirror_batcher.py x: 132 lines of code y: 4 # changes src/claude_agent_sdk/_internal/transport/subprocess_cli.py x: 523 lines of code y: 32 # changes src/claude_agent_sdk/_internal/query.py x: 597 lines of code y: 24 # changes src/claude_agent_sdk/_internal/client.py x: 160 lines of code y: 13 # changes src/claude_agent_sdk/client.py x: 249 lines of code y: 21 # changes src/claude_agent_sdk/_internal/session_summary.py x: 142 lines of code y: 2 # changes src/claude_agent_sdk/_internal/_task_compat.py x: 88 lines of code y: 1 # changes src/claude_agent_sdk/_internal/session_import.py x: 84 lines of code y: 1 # changes src/claude_agent_sdk/query.py x: 18 lines of code y: 5 # 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/download_cli.py x: 106 lines of code y: 2 # changes scripts/check_pypi_quota.py x: 100 lines of code y: 1 # changes src/claude_agent_sdk/_version.py x: 1 lines of code y: 3 # changes scripts/build_wheel.py x: 268 lines of code y: 1 # changes scripts/update_version.py x: 31 lines of code y: 4 # changes src/claude_agent_sdk/_errors.py x: 30 lines of code y: 1 # changes src/claude_agent_sdk/_internal/__init__.py x: 1 lines of code y: 1 # changes src/claude_agent_sdk/_internal/transport/__init__.py x: 23 lines of code y: 1 # changes
122.0
# changes
  min: 1.0
  average: 11.6
  25th percentile: 1.0
  median: 3.0
  75th percentile: 14.0
  max: 122.0
0 1060.0
lines of code
min: 1.0 | average: 212.97 | 25th percentile: 22.25 | median: 112.5 | 75th percentile: 306.5 | max: 1060.0

Number of Contributors vs. Number of Changes: 30 points

src/claude_agent_sdk/_cli_version.py x: 2 # contributors y: 122 # changes src/claude_agent_sdk/__init__.py x: 12 # contributors y: 26 # changes src/claude_agent_sdk/_internal/message_parser.py x: 12 # contributors y: 17 # changes src/claude_agent_sdk/types.py x: 27 # contributors y: 42 # changes src/claude_agent_sdk/testing/session_store_conformance.py x: 1 # contributors y: 3 # changes .github/actions/setup-claude-auth/refresh-identity-token.js x: 1 # contributors y: 1 # changes src/claude_agent_sdk/_internal/session_resume.py x: 3 # contributors y: 3 # changes src/claude_agent_sdk/_internal/sessions.py x: 2 # contributors y: 8 # changes src/claude_agent_sdk/_internal/transcript_mirror_batcher.py x: 3 # contributors y: 4 # changes src/claude_agent_sdk/_internal/transport/subprocess_cli.py x: 25 # contributors y: 32 # changes src/claude_agent_sdk/_internal/query.py x: 13 # contributors y: 24 # changes src/claude_agent_sdk/_internal/client.py x: 8 # contributors y: 13 # changes src/claude_agent_sdk/client.py x: 12 # contributors y: 21 # changes src/claude_agent_sdk/_internal/session_summary.py x: 1 # contributors y: 2 # changes src/claude_agent_sdk/query.py x: 4 # contributors y: 5 # changes src/claude_agent_sdk/_internal/session_mutations.py x: 1 # contributors y: 4 # changes scripts/download_cli.py x: 2 # contributors y: 2 # changes scripts/update_version.py x: 2 # contributors y: 4 # changes
122.0
# changes
  min: 1.0
  average: 11.6
  25th percentile: 1.0
  median: 3.0
  75th percentile: 14.0
  max: 122.0
0 27.0
# contributors
min: 1.0 | average: 4.83 | 25th percentile: 1.0 | median: 1.5 | 75th percentile: 5.0 | max: 27.0

Number of Contributors vs. File Size: 30 points

src/claude_agent_sdk/_cli_version.py x: 2 # contributors y: 1 lines of code src/claude_agent_sdk/__init__.py x: 12 # contributors y: 469 lines of code src/claude_agent_sdk/_internal/message_parser.py x: 12 # contributors y: 297 lines of code src/claude_agent_sdk/types.py x: 27 # contributors y: 757 lines of code src/claude_agent_sdk/testing/session_store_conformance.py x: 1 # contributors y: 221 lines of code .github/actions/setup-claude-auth/refresh-identity-token.js x: 1 # contributors y: 20 lines of code src/claude_agent_sdk/_internal/session_resume.py x: 3 # contributors y: 335 lines of code src/claude_agent_sdk/_internal/sessions.py x: 2 # contributors y: 1060 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/transport/subprocess_cli.py x: 25 # contributors y: 523 lines of code src/claude_agent_sdk/_internal/query.py x: 13 # contributors y: 597 lines of code src/claude_agent_sdk/_internal/client.py x: 8 # contributors y: 160 lines of code src/claude_agent_sdk/client.py x: 12 # contributors y: 249 lines of code src/claude_agent_sdk/_internal/session_summary.py x: 1 # contributors y: 142 lines of code src/claude_agent_sdk/_internal/_task_compat.py x: 1 # contributors y: 88 lines of code src/claude_agent_sdk/_internal/session_import.py x: 1 # contributors y: 84 lines of code src/claude_agent_sdk/query.py x: 4 # contributors y: 18 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 scripts/download_cli.py x: 2 # contributors y: 106 lines of code scripts/check_pypi_quota.py x: 1 # contributors y: 100 lines of code src/claude_agent_sdk/_version.py x: 3 # contributors y: 1 lines of code scripts/build_wheel.py x: 1 # contributors y: 268 lines of code scripts/update_version.py x: 2 # contributors y: 31 lines of code src/claude_agent_sdk/_errors.py x: 1 # contributors y: 30 lines of code src/claude_agent_sdk/_internal/transport/__init__.py x: 1 # contributors y: 23 lines of code
1060.0
lines of code
  min: 1.0
  average: 212.97
  25th percentile: 22.25
  median: 112.5
  75th percentile: 306.5
  max: 1060.0
0 27.0
# contributors
min: 1.0 | average: 4.83 | 25th percentile: 1.0 | median: 1.5 | 75th percentile: 5.0 | max: 27.0

Number of Changes vs. Line Churn: 142 points

src/claude_agent_sdk/_cli_version.py x: 122 # changes y: 331 line churn src/claude_agent_sdk/__init__.py x: 26 # changes y: 785 line churn src/claude_agent_sdk/_internal/message_parser.py x: 17 # changes y: 351 line churn src/claude_agent_sdk/types.py x: 42 # changes y: 2358 line churn tests/test_message_parser.py x: 19 # changes y: 1370 line churn pyproject.toml x: 17 # changes y: 270 line churn e2e-tests/conftest.py x: 3 # changes y: 47 line churn e2e-tests/test_agents_and_settings.py x: 9 # changes y: 507 line churn e2e-tests/test_dynamic_control.py x: 2 # changes y: 105 line churn e2e-tests/test_hook_events.py x: 2 # changes y: 204 line churn e2e-tests/test_hooks.py x: 3 # changes y: 174 line churn e2e-tests/test_include_partial_messages.py x: 6 # changes y: 201 line churn e2e-tests/test_sdk_mcp_tools.py x: 6 # changes y: 208 line churn e2e-tests/test_stderr_callback.py x: 4 # changes y: 91 line churn e2e-tests/test_structured_output.py x: 3 # changes y: 216 line churn e2e-tests/test_tool_permissions.py x: 5 # changes y: 93 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_postgres_session_store.py x: 2 # changes y: 268 line churn tests/test_example_redis_session_store.py x: 2 # changes y: 377 line churn tests/test_example_redis_session_store_live.py x: 2 # changes y: 186 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_query.py x: 9 # changes y: 1304 line churn tests/test_sdk_mcp_integration.py x: 11 # changes y: 1145 line churn tests/test_session_helpers_store.py x: 3 # changes y: 841 line churn tests/test_session_import.py x: 2 # changes y: 343 line churn tests/test_session_resume.py x: 2 # changes y: 1449 line churn tests/test_session_store_anyio.py x: 2 # changes y: 294 line churn tests/test_session_store_conformance.py x: 2 # changes y: 286 line churn tests/test_session_summary.py x: 2 # changes y: 907 line churn tests/test_streaming_client.py x: 10 # changes y: 2864 line churn tests/test_tool_callbacks.py x: 12 # changes y: 1727 line churn tests/test_transcript_mirror.py x: 6 # changes y: 1176 line churn .github/actions/setup-claude-auth/action.yml x: 1 # changes y: 35 line churn .github/actions/setup-claude-auth/refresh-identity-token.js x: 1 # changes y: 31 line churn .github/workflows/test.yml x: 12 # changes y: 322 line churn src/claude_agent_sdk/_internal/session_resume.py x: 3 # changes y: 556 line churn src/claude_agent_sdk/_internal/sessions.py x: 8 # changes y: 2185 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 .github/workflows/build-and-publish.yml x: 7 # changes y: 348 line churn .github/workflows/claude-code-review.yml x: 5 # changes y: 186 line churn .github/workflows/claude-issue-triage.yml x: 4 # changes y: 331 line churn .github/workflows/claude.yml x: 6 # changes y: 178 line churn .github/workflows/publish.yml x: 16 # changes y: 824 line churn src/claude_agent_sdk/_internal/transport/subprocess_cli.py x: 32 # changes y: 1140 line churn tests/test_transport.py x: 38 # changes y: 2827 line churn tests/test_types.py x: 21 # changes y: 893 line churn src/claude_agent_sdk/_internal/query.py x: 24 # changes y: 1087 line churn .github/workflows/pypi-quota-check.yml x: 2 # changes y: 73 line churn .github/workflows/slack-issue-notification.yml x: 2 # changes y: 38 line churn src/claude_agent_sdk/_internal/client.py x: 13 # changes y: 272 line churn src/claude_agent_sdk/client.py x: 21 # changes y: 699 line churn tests/test_client.py x: 12 # changes y: 574 line churn src/claude_agent_sdk/_internal/session_summary.py x: 2 # changes y: 242 line churn tests/test_sessions.py x: 5 # changes y: 1876 line churn .claude/commands/label-issue.md x: 1 # changes y: 61 line churn scripts/edit-issue-labels.sh x: 1 # changes y: 83 line churn scripts/gh.sh x: 1 # changes y: 96 line churn src/claude_agent_sdk/_internal/_task_compat.py x: 1 # changes y: 176 line churn tests/test_task_compat.py x: 1 # changes y: 214 line churn src/claude_agent_sdk/_internal/session_import.py x: 1 # changes y: 163 line churn src/claude_agent_sdk/query.py x: 5 # changes y: 136 line churn examples/stderr_callback_example.py x: 2 # changes y: 57 line churn src/claude_agent_sdk/_internal/session_store.py x: 2 # changes y: 196 line churn .gitignore x: 5 # changes y: 105 line churn examples/session_stores/postgres_session_store.py x: 1 # changes y: 256 line churn src/claude_agent_sdk/_internal/session_mutations.py x: 4 # changes y: 1038 line churn src/claude_agent_sdk/testing/__init__.py x: 1 # changes y: 9 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 tests/test_mcp_large_output.py x: 1 # changes y: 335 line churn examples/streaming_mode.py x: 11 # changes y: 1245 line churn tests/test_subprocess_buffering.py x: 9 # changes y: 914 line churn scripts/check_pypi_quota.py x: 1 # changes y: 126 line churn CHANGELOG.md x: 8 # changes y: 158 line churn src/claude_agent_sdk/_version.py x: 3 # changes y: 7 line churn tests/test_rate_limit_event_repro.py x: 2 # changes y: 138 line churn README.md x: 16 # changes y: 773 line churn tests/test_integration.py x: 9 # changes y: 600 line churn .github/workflows/create-release-tag.yml x: 9 # changes y: 303 line churn .dockerignore x: 1 # changes y: 49 line churn examples/filesystem_agents.py x: 1 # changes y: 107 line churn scripts/test-docker.sh x: 1 # changes y: 77 line churn scripts/build_wheel.py x: 1 # changes y: 438 line churn .claude/commands/generate-changelog.md x: 1 # changes y: 19 line churn examples/hooks.py x: 4 # changes y: 376 line churn examples/include_partial_messages.py x: 4 # changes y: 72 line churn examples/streaming_mode_trio.py x: 4 # changes y: 88 line churn examples/agents.py x: 3 # changes y: 136 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/system_prompt.py x: 3 # changes y: 97 line churn examples/tool_permission_callback.py x: 5 # changes y: 482 line churn src/claude_code_sdk/__init__.py x: 14 # changes y: 984 line churn src/claude_code_sdk/_internal/__init__.py x: 2 # changes y: 3 line churn src/claude_code_sdk/_internal/client.py x: 12 # changes y: 679 line churn src/claude_code_sdk/_internal/message_parser.py x: 7 # 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 .github/workflows/test-e2e.yml x: 2 # changes y: 92 line churn examples/streaming_mode_example.py x: 1 # changes y: 384 line churn
2864.0
line churn
  min: 1.0
  average: 422.07
  25th percentile: 72.0
  median: 200.0
  75th percentile: 550.75
  max: 2864.0
0 122.0
# changes
min: 1.0 | average: 6.42 | 25th percentile: 1.0 | median: 2.5 | 75th percentile: 6.0 | max: 122.0

Number of Contributors vs. Line Churn: 30 points

src/claude_agent_sdk/_cli_version.py x: 2 # contributors y: 331 line churn src/claude_agent_sdk/__init__.py x: 12 # contributors y: 785 line churn src/claude_agent_sdk/_internal/message_parser.py x: 12 # contributors y: 351 line churn src/claude_agent_sdk/types.py x: 27 # contributors y: 2358 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/session_resume.py x: 3 # contributors y: 556 line churn src/claude_agent_sdk/_internal/sessions.py x: 2 # contributors y: 2185 line churn src/claude_agent_sdk/_internal/transcript_mirror_batcher.py x: 3 # contributors y: 315 line churn src/claude_agent_sdk/_internal/transport/subprocess_cli.py x: 25 # contributors y: 1140 line churn src/claude_agent_sdk/_internal/query.py x: 13 # contributors y: 1087 line churn src/claude_agent_sdk/_internal/client.py x: 8 # contributors y: 272 line churn src/claude_agent_sdk/client.py x: 12 # contributors y: 699 line churn src/claude_agent_sdk/_internal/session_summary.py x: 1 # contributors y: 242 line churn src/claude_agent_sdk/_internal/_task_compat.py x: 1 # contributors y: 176 line churn src/claude_agent_sdk/_internal/session_import.py x: 1 # contributors y: 163 line churn src/claude_agent_sdk/query.py x: 4 # contributors y: 136 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/_internal/session_store_validation.py x: 1 # contributors y: 45 line churn src/claude_agent_sdk/testing/__init__.py x: 1 # contributors y: 9 line churn scripts/download_cli.py x: 2 # contributors y: 220 line churn scripts/check_pypi_quota.py x: 1 # contributors y: 126 line churn src/claude_agent_sdk/_version.py x: 3 # contributors y: 7 line churn scripts/build_wheel.py x: 1 # contributors y: 438 line churn scripts/update_version.py x: 2 # contributors y: 67 line churn src/claude_agent_sdk/_errors.py x: 1 # contributors y: 56 line churn src/claude_agent_sdk/_internal/transport/__init__.py x: 1 # contributors y: 68 line churn
2358.0
line churn
  min: 1.0
  average: 449.17
  25th percentile: 64.25
  median: 231.0
  75th percentile: 591.75
  max: 2358.0
0 27.0
# contributors
min: 1.0 | average: 4.83 | 25th percentile: 1.0 | median: 1.5 | 75th percentile: 5.0 | max: 27.0

File Size vs. Line Churn: 30 points

src/claude_agent_sdk/_cli_version.py x: 1 lines of code y: 331 line churn src/claude_agent_sdk/__init__.py x: 469 lines of code y: 785 line churn src/claude_agent_sdk/_internal/message_parser.py x: 297 lines of code y: 351 line churn src/claude_agent_sdk/types.py x: 757 lines of code y: 2358 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/session_resume.py x: 335 lines of code y: 556 line churn src/claude_agent_sdk/_internal/sessions.py x: 1060 lines of code y: 2185 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/transport/subprocess_cli.py x: 523 lines of code y: 1140 line churn src/claude_agent_sdk/_internal/query.py x: 597 lines of code y: 1087 line churn src/claude_agent_sdk/_internal/client.py x: 160 lines of code y: 272 line churn src/claude_agent_sdk/client.py x: 249 lines of code y: 699 line churn src/claude_agent_sdk/_internal/session_summary.py x: 142 lines of code y: 242 line churn src/claude_agent_sdk/_internal/_task_compat.py x: 88 lines of code y: 176 line churn src/claude_agent_sdk/_internal/session_import.py x: 84 lines of code y: 163 line churn src/claude_agent_sdk/query.py x: 18 lines of code y: 136 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/download_cli.py x: 106 lines of code y: 220 line churn scripts/check_pypi_quota.py x: 100 lines of code y: 126 line churn src/claude_agent_sdk/_version.py x: 1 lines of code y: 7 line churn scripts/build_wheel.py x: 268 lines of code y: 438 line churn scripts/update_version.py x: 31 lines of code y: 67 line churn src/claude_agent_sdk/_errors.py x: 30 lines of code y: 56 line churn src/claude_agent_sdk/_internal/transport/__init__.py x: 23 lines of code y: 68 line churn
2358.0
line churn
  min: 1.0
  average: 449.17
  25th percentile: 64.25
  median: 231.0
  75th percentile: 591.75
  max: 2358.0
0 1060.0
lines of code
min: 1.0 | average: 212.97 | 25th percentile: 22.25 | median: 112.5 | 75th percentile: 306.5 | max: 1060.0