Rename claude_code to claude_agent (#188)

This commit is contained in:
Dickson Tsai
2025-09-28 14:52:53 -07:00
committed by GitHub
parent 180d64887a
commit b3656b1765
49 changed files with 109 additions and 109 deletions

View File

@@ -51,9 +51,9 @@ jobs:
--title "Release v${{ steps.extract_version.outputs.version }}" \
--generate-notes \
--notes-start-tag "${{ steps.previous_tag.outputs.previous_tag }}" \
--notes "Published to PyPI: https://pypi.org/project/claude-code-sdk/${{ steps.extract_version.outputs.version }}/
--notes "Published to PyPI: https://pypi.org/project/claude-agent-sdk/${{ steps.extract_version.outputs.version }}/
### Installation
\`\`\`bash
pip install claude-code-sdk==${{ steps.extract_version.outputs.version }}
pip install claude-agent-sdk==${{ steps.extract_version.outputs.version }}
\`\`\`"

View File

@@ -102,7 +102,7 @@ jobs:
run: |
twine upload dist/*
echo "Package published to PyPI"
echo "Install with: pip install claude-code-sdk==${{ env.VERSION }}"
echo "Install with: pip install claude-agent-sdk==${{ env.VERSION }}"
- name: Create version update PR
env:
@@ -124,7 +124,7 @@ jobs:
echo "Getting SHA for pyproject.toml"
PYPROJECT_SHA=$(gh api /repos/$GITHUB_REPOSITORY/contents/pyproject.toml --jq '.sha')
echo "Getting SHA for _version.py"
VERSION_SHA=$(gh api /repos/$GITHUB_REPOSITORY/contents/src/claude_code_sdk/_version.py --jq '.sha')
VERSION_SHA=$(gh api /repos/$GITHUB_REPOSITORY/contents/src/claude_agent_sdk/_version.py --jq '.sha')
# Commit pyproject.toml via GitHub API (this creates signed commits)
message="chore: bump version to ${{ env.VERSION }}"
@@ -138,10 +138,10 @@ jobs:
-f branch="$BRANCH_NAME"
# Commit _version.py via GitHub API
base64 -i src/claude_code_sdk/_version.py > version.py.b64
base64 -i src/claude_agent_sdk/_version.py > version.py.b64
gh api \
--method PUT \
/repos/$GITHUB_REPOSITORY/contents/src/claude_code_sdk/_version.py \
/repos/$GITHUB_REPOSITORY/contents/src/claude_agent_sdk/_version.py \
-f message="$message" \
-F content=@version.py.b64 \
-f sha="$VERSION_SHA" \
@@ -152,11 +152,11 @@ jobs:
## Changes
- Updated version in \`pyproject.toml\`
- Updated version in \`src/claude_code_sdk/_version.py\`
- Updated version in \`src/claude_agent_sdk/_version.py\`
## Release Information
- Published to PyPI: https://pypi.org/project/claude-code-sdk/${{ env.VERSION }}/
- Install with: \`pip install claude-code-sdk==${{ env.VERSION }}\`
- Published to PyPI: https://pypi.org/project/claude-agent-sdk/${{ env.VERSION }}/
- Install with: \`pip install claude-agent-sdk==${{ env.VERSION }}\`
🤖 Generated by GitHub Actions"

View File

@@ -28,7 +28,7 @@ jobs:
- name: Run tests
run: |
python -m pytest tests/ -v --cov=claude_code_sdk --cov-report=xml
python -m pytest tests/ -v --cov=claude_agent_sdk --cov-report=xml
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4

View File

@@ -18,7 +18,7 @@ python -m pytest tests/test_client.py
# Codebase Structure
- `src/claude_code_sdk/` - Main package
- `src/claude_agent_sdk/` - Main package
- `client.py` - ClaudeSDKClient for interactive sessions
- `query.py` - One-shot query function
- `types.py` - Type definitions

View File

@@ -1,11 +1,11 @@
# Claude Code SDK for Python
# Claude Agent SDK for Python
Python SDK for Claude Code. See the [Claude Code SDK documentation](https://docs.anthropic.com/en/docs/claude-code/sdk/sdk-python) for more information.
Python SDK for Claude Agent. See the [Claude Agent SDK documentation](https://docs.anthropic.com/en/docs/claude-code/sdk/sdk-python) for more information.
## Installation
```bash
pip install claude-code-sdk
pip install claude-agent-sdk
```
**Prerequisites:**
@@ -17,7 +17,7 @@ pip install claude-code-sdk
```python
import anyio
from claude_code_sdk import query
from claude_agent_sdk import query
async def main():
async for message in query(prompt="What is 2 + 2?"):
@@ -28,10 +28,10 @@ anyio.run(main)
## Basic Usage: query()
`query()` is an async function for querying Claude Code. It returns an `AsyncIterator` of response messages. See [src/claude_code_sdk/query.py](src/claude_code_sdk/query.py).
`query()` is an async function for querying Claude Code. It returns an `AsyncIterator` of response messages. See [src/claude_agent_sdk/query.py](src/claude_agent_sdk/query.py).
```python
from claude_code_sdk import query, ClaudeAgentOptions, AssistantMessage, TextBlock
from claude_agent_sdk import query, ClaudeAgentOptions, AssistantMessage, TextBlock
# Simple query
async for message in query(prompt="Hello Claude"):
@@ -79,7 +79,7 @@ options = ClaudeAgentOptions(
## ClaudeSDKClient
`ClaudeSDKClient` supports bidirectional, interactive conversations with Claude
Code. See [src/claude_code_sdk/client.py](src/claude_code_sdk/client.py).
Code. See [src/claude_agent_sdk/client.py](src/claude_agent_sdk/client.py).
Unlike `query()`, `ClaudeSDKClient` additionally enables **custom tools** and **hooks**, both of which can be defined as Python functions.
@@ -94,7 +94,7 @@ For an end-to-end example, see [MCP Calculator](examples/mcp_calculator.py).
#### Creating a Simple Tool
```python
from claude_code_sdk import tool, create_sdk_mcp_server, ClaudeAgentOptions, ClaudeSDKClient
from claude_agent_sdk import tool, create_sdk_mcp_server, ClaudeAgentOptions, ClaudeSDKClient
# Define a tool using the @tool decorator
@tool("greet", "Greet a user", {"name": str})
@@ -186,7 +186,7 @@ For more examples, see examples/hooks.py.
#### Example
```python
from claude_code_sdk import ClaudeAgentOptions, ClaudeSDKClient, HookMatcher
from claude_agent_sdk import ClaudeAgentOptions, ClaudeSDKClient, HookMatcher
async def check_bash_command(input_data, tool_use_id, context):
tool_name = input_data["tool_name"]
@@ -232,7 +232,7 @@ async with ClaudeSDKClient(options=options) as client:
## Types
See [src/claude_code_sdk/types.py](src/claude_code_sdk/types.py) for complete type definitions:
See [src/claude_agent_sdk/types.py](src/claude_agent_sdk/types.py) for complete type definitions:
- `ClaudeAgentOptions` - Configuration options
- `AssistantMessage`, `UserMessage`, `SystemMessage`, `ResultMessage` - Message types
- `TextBlock`, `ToolUseBlock`, `ToolResultBlock` - Content blocks
@@ -240,7 +240,7 @@ See [src/claude_code_sdk/types.py](src/claude_code_sdk/types.py) for complete ty
## Error Handling
```python
from claude_code_sdk import (
from claude_agent_sdk import (
ClaudeSDKError, # Base error
CLINotFoundError, # Claude Code not installed
CLIConnectionError, # Connection issues
@@ -259,7 +259,7 @@ except CLIJSONDecodeError as e:
print(f"Failed to parse response: {e}")
```
See [src/claude_code_sdk/_errors.py](src/claude_code_sdk/_errors.py) for all error types.
See [src/claude_agent_sdk/_errors.py](src/claude_agent_sdk/_errors.py) for all error types.
## Available Tools

View File

@@ -5,7 +5,7 @@ from pathlib import Path
import pytest
from claude_code_sdk import (
from claude_agent_sdk import (
AgentDefinition,
ClaudeAgentOptions,
ClaudeSDKClient,

View File

@@ -2,7 +2,7 @@
import pytest
from claude_code_sdk import (
from claude_agent_sdk import (
ClaudeAgentOptions,
ClaudeSDKClient,
)

View File

@@ -9,8 +9,8 @@ from typing import List, Any
import pytest
from claude_code_sdk import ClaudeSDKClient
from claude_code_sdk.types import (
from claude_agent_sdk import ClaudeSDKClient
from claude_agent_sdk.types import (
ClaudeAgentOptions,
StreamEvent,
AssistantMessage,

View File

@@ -8,7 +8,7 @@ from typing import Any
import pytest
from claude_code_sdk import (
from claude_agent_sdk import (
ClaudeAgentOptions,
ClaudeSDKClient,
create_sdk_mcp_server,

View File

@@ -2,7 +2,7 @@
import pytest
from claude_code_sdk import ClaudeCodeOptions, query
from claude_agent_sdk import ClaudeAgentOptions, query
@pytest.mark.e2e
@@ -15,7 +15,7 @@ async def test_stderr_callback_captures_debug_output():
stderr_lines.append(line)
# Enable debug mode to generate stderr output
options = ClaudeCodeOptions(
options = ClaudeAgentOptions(
stderr=capture_stderr,
extra_args={"debug-to-stderr": None}
)
@@ -39,7 +39,7 @@ async def test_stderr_callback_without_debug():
stderr_lines.append(line)
# No debug mode enabled
options = ClaudeCodeOptions(stderr=capture_stderr)
options = ClaudeAgentOptions(stderr=capture_stderr)
# Run a simple query
async for _ in query(prompt="What is 1+1?", options=options):

View File

@@ -2,7 +2,7 @@
import pytest
from claude_code_sdk import (
from claude_agent_sdk import (
ClaudeAgentOptions,
ClaudeSDKClient,
PermissionResultAllow,

View File

@@ -10,7 +10,7 @@ Usage:
import anyio
from claude_code_sdk import (
from claude_agent_sdk import (
AgentDefinition,
AssistantMessage,
ClaudeAgentOptions,
@@ -38,7 +38,7 @@ async def code_reviewer_example():
)
async for message in query(
prompt="Use the code-reviewer agent to review the code in src/claude_code_sdk/types.py",
prompt="Use the code-reviewer agent to review the code in src/claude_agent_sdk/types.py",
options=options,
):
if isinstance(message, AssistantMessage):

View File

@@ -15,8 +15,8 @@ import logging
import sys
from typing import Any
from claude_code_sdk import ClaudeAgentOptions, ClaudeSDKClient
from claude_code_sdk.types import (
from claude_agent_sdk import ClaudeAgentOptions, ClaudeSDKClient
from claude_agent_sdk.types import (
AssistantMessage,
HookContext,
HookJSONOutput,

View File

@@ -14,8 +14,8 @@ messages will include StreamEvent messages interspersed with regular messages.
"""
import asyncio
from claude_code_sdk import ClaudeSDKClient
from claude_code_sdk.types import (
from claude_agent_sdk import ClaudeSDKClient
from claude_agent_sdk.types import (
ClaudeAgentOptions,
StreamEvent,
AssistantMessage,

View File

@@ -12,7 +12,7 @@ and simpler deployment.
import asyncio
from typing import Any
from claude_code_sdk import (
from claude_agent_sdk import (
ClaudeAgentOptions,
create_sdk_mcp_server,
tool,
@@ -99,7 +99,7 @@ async def power(args: dict[str, Any]) -> dict[str, Any]:
def display_message(msg):
"""Display message content in a clean format."""
from claude_code_sdk import (
from claude_agent_sdk import (
AssistantMessage,
ResultMessage,
SystemMessage,
@@ -137,7 +137,7 @@ def display_message(msg):
async def main():
"""Run example calculations using the SDK MCP server with streaming client."""
from claude_code_sdk import ClaudeSDKClient
from claude_agent_sdk import ClaudeSDKClient
# Create the calculator server with all tools
calculator = create_sdk_mcp_server(

View File

@@ -3,7 +3,7 @@
import anyio
from claude_code_sdk import (
from claude_agent_sdk import (
AssistantMessage,
ClaudeAgentOptions,
ResultMessage,

View File

@@ -29,7 +29,7 @@ import asyncio
import sys
from pathlib import Path
from claude_code_sdk import (
from claude_agent_sdk import (
ClaudeAgentOptions,
ClaudeSDKClient,
SystemMessage,

View File

@@ -2,7 +2,7 @@
import asyncio
from claude_code_sdk import ClaudeCodeOptions, query
from claude_agent_sdk import ClaudeAgentOptions, query
async def main():
@@ -19,7 +19,7 @@ async def main():
print(f"Error detected: {message}")
# Create options with stderr callback and enable debug mode
options = ClaudeCodeOptions(
options = ClaudeAgentOptions(
stderr=stderr_callback,
extra_args={"debug-to-stderr": None} # Enable debug output
)

View File

@@ -19,7 +19,7 @@ import asyncio
import contextlib
import sys
from claude_code_sdk import (
from claude_agent_sdk import (
AssistantMessage,
ClaudeAgentOptions,
ClaudeSDKClient,

View File

@@ -14,7 +14,7 @@ bash commands, edit files, search the web, fetch web content) to accomplish.
# BASIC STREAMING
# ============================================================================
from claude_code_sdk import AssistantMessage, ClaudeSDKClient, ResultMessage, TextBlock
from claude_agent_sdk import AssistantMessage, ClaudeSDKClient, ResultMessage, TextBlock
async with ClaudeSDKClient() as client:
print("User: What is 2+2?")
@@ -33,7 +33,7 @@ async with ClaudeSDKClient() as client:
import asyncio
from claude_code_sdk import AssistantMessage, ClaudeSDKClient, TextBlock
from claude_agent_sdk import AssistantMessage, ClaudeSDKClient, TextBlock
async with ClaudeSDKClient() as client:
async def send_and_receive(prompt):
@@ -54,7 +54,7 @@ async with ClaudeSDKClient() as client:
# PERSISTENT CLIENT FOR MULTIPLE QUESTIONS
# ============================================================================
from claude_code_sdk import AssistantMessage, ClaudeSDKClient, TextBlock
from claude_agent_sdk import AssistantMessage, ClaudeSDKClient, TextBlock
# Create client
client = ClaudeSDKClient()
@@ -89,7 +89,7 @@ await client.disconnect()
# IMPORTANT: Interrupts require active message consumption. You must be
# consuming messages from the client for the interrupt to be processed.
from claude_code_sdk import AssistantMessage, ClaudeSDKClient, TextBlock
from claude_agent_sdk import AssistantMessage, ClaudeSDKClient, TextBlock
async with ClaudeSDKClient() as client:
print("\n--- Sending initial message ---\n")
@@ -141,7 +141,7 @@ async with ClaudeSDKClient() as client:
# ERROR HANDLING PATTERN
# ============================================================================
from claude_code_sdk import AssistantMessage, ClaudeSDKClient, TextBlock
from claude_agent_sdk import AssistantMessage, ClaudeSDKClient, TextBlock
try:
async with ClaudeSDKClient() as client:
@@ -168,7 +168,7 @@ except Exception as e:
# SENDING ASYNC ITERABLE OF MESSAGES
# ============================================================================
from claude_code_sdk import AssistantMessage, ClaudeSDKClient, TextBlock
from claude_agent_sdk import AssistantMessage, ClaudeSDKClient, TextBlock
async def message_generator():
@@ -210,7 +210,7 @@ async with ClaudeSDKClient() as client:
# COLLECTING ALL MESSAGES INTO A LIST
# ============================================================================
from claude_code_sdk import AssistantMessage, ClaudeSDKClient, TextBlock
from claude_agent_sdk import AssistantMessage, ClaudeSDKClient, TextBlock
async with ClaudeSDKClient() as client:
print("User: What are the primary colors?")

View File

@@ -9,7 +9,7 @@ Claude's responses.
import trio
from claude_code_sdk import (
from claude_agent_sdk import (
AssistantMessage,
ClaudeAgentOptions,
ClaudeSDKClient,

View File

@@ -3,7 +3,7 @@
import anyio
from claude_code_sdk import (
from claude_agent_sdk import (
AssistantMessage,
ClaudeAgentOptions,
TextBlock,

View File

@@ -8,7 +8,7 @@ which tools Claude can use and modify their inputs.
import asyncio
import json
from claude_code_sdk import (
from claude_agent_sdk import (
AssistantMessage,
ClaudeAgentOptions,
ClaudeSDKClient,

View File

@@ -3,7 +3,7 @@ requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "claude-code-sdk"
name = "claude-agent-sdk"
version = "0.0.23"
description = "Python SDK for Claude Code"
readme = "README.md"
@@ -41,12 +41,12 @@ dev = [
]
[project.urls]
Homepage = "https://github.com/anthropics/claude-code-sdk-python"
Homepage = "https://github.com/anthropics/claude-agent-sdk-python"
Documentation = "https://docs.anthropic.com/en/docs/claude-code/sdk"
Issues = "https://github.com/anthropics/claude-code-sdk-python/issues"
Issues = "https://github.com/anthropics/claude-agent-sdk-python/issues"
[tool.hatch.build.targets.wheel]
packages = ["src/claude_code_sdk"]
packages = ["src/claude_agent_sdk"]
[tool.hatch.build.targets.sdist]
include = [
@@ -105,4 +105,4 @@ ignore = [
]
[tool.ruff.lint.isort]
known-first-party = ["claude_code_sdk"]
known-first-party = ["claude_agent_sdk"]

View File

@@ -25,7 +25,7 @@ def update_version(new_version: str) -> None:
print(f"Updated pyproject.toml to version {new_version}")
# Update _version.py
version_path = Path("src/claude_code_sdk/_version.py")
version_path = Path("src/claude_agent_sdk/_version.py")
content = version_path.read_text()
# Only update __version__ assignment

View File

@@ -0,0 +1,3 @@
"""Version information for claude-agent-sdk."""
__version__ = "0.0.23"

View File

@@ -98,7 +98,7 @@ async def query(
Example - With custom transport:
```python
from claude_code_sdk import query, Transport
from claude_agent_sdk import query, Transport
class MyCustomTransport(Transport):
# Implement custom transport logic

View File

@@ -1,3 +0,0 @@
"""Version information for claude-code-sdk."""
__version__ = "0.0.23"

View File

@@ -4,8 +4,8 @@ from unittest.mock import AsyncMock, Mock, patch
import anyio
from claude_code_sdk import AssistantMessage, ClaudeAgentOptions, query
from claude_code_sdk.types import TextBlock
from claude_agent_sdk import AssistantMessage, ClaudeAgentOptions, query
from claude_agent_sdk.types import TextBlock
class TestQueryFunction:
@@ -16,7 +16,7 @@ class TestQueryFunction:
async def _test():
with patch(
"claude_code_sdk._internal.client.InternalClient.process_query"
"claude_agent_sdk._internal.client.InternalClient.process_query"
) as mock_process:
# Mock the async generator
async def mock_generator():
@@ -41,7 +41,7 @@ class TestQueryFunction:
async def _test():
with patch(
"claude_code_sdk._internal.client.InternalClient.process_query"
"claude_agent_sdk._internal.client.InternalClient.process_query"
) as mock_process:
async def mock_generator():
@@ -76,7 +76,7 @@ class TestQueryFunction:
async def _test():
with patch(
"claude_code_sdk._internal.client.SubprocessCLITransport"
"claude_agent_sdk._internal.client.SubprocessCLITransport"
) as mock_transport_class:
mock_transport = AsyncMock()
mock_transport_class.return_value = mock_transport

View File

@@ -1,6 +1,6 @@
"""Tests for Claude SDK error handling."""
from claude_code_sdk import (
from claude_agent_sdk import (
ClaudeSDKError,
CLIConnectionError,
CLIJSONDecodeError,

View File

@@ -8,14 +8,14 @@ from unittest.mock import AsyncMock, Mock, patch
import anyio
import pytest
from claude_code_sdk import (
from claude_agent_sdk import (
AssistantMessage,
ClaudeAgentOptions,
CLINotFoundError,
ResultMessage,
query,
)
from claude_code_sdk.types import ToolUseBlock
from claude_agent_sdk.types import ToolUseBlock
class TestIntegration:
@@ -26,7 +26,7 @@ class TestIntegration:
async def _test():
with patch(
"claude_code_sdk._internal.client.SubprocessCLITransport"
"claude_agent_sdk._internal.client.SubprocessCLITransport"
) as mock_transport_class:
mock_transport = AsyncMock()
mock_transport_class.return_value = mock_transport
@@ -84,7 +84,7 @@ class TestIntegration:
async def _test():
with patch(
"claude_code_sdk._internal.client.SubprocessCLITransport"
"claude_agent_sdk._internal.client.SubprocessCLITransport"
) as mock_transport_class:
mock_transport = AsyncMock()
mock_transport_class.return_value = mock_transport
@@ -170,7 +170,7 @@ class TestIntegration:
async def _test():
with patch(
"claude_code_sdk._internal.client.SubprocessCLITransport"
"claude_agent_sdk._internal.client.SubprocessCLITransport"
) as mock_transport_class:
mock_transport = AsyncMock()
mock_transport_class.return_value = mock_transport

View File

@@ -2,9 +2,9 @@
import pytest
from claude_code_sdk._errors import MessageParseError
from claude_code_sdk._internal.message_parser import parse_message
from claude_code_sdk.types import (
from claude_agent_sdk._errors import MessageParseError
from claude_agent_sdk._internal.message_parser import parse_message
from claude_agent_sdk.types import (
AssistantMessage,
ResultMessage,
SystemMessage,

View File

@@ -8,7 +8,7 @@ from typing import Any
import pytest
from claude_code_sdk import (
from claude_agent_sdk import (
ClaudeAgentOptions,
create_sdk_mcp_server,
tool,

View File

@@ -10,7 +10,7 @@ from unittest.mock import AsyncMock, Mock, patch
import anyio
import pytest
from claude_code_sdk import (
from claude_agent_sdk import (
AssistantMessage,
ClaudeAgentOptions,
ClaudeSDKClient,
@@ -20,7 +20,7 @@ from claude_code_sdk import (
UserMessage,
query,
)
from claude_code_sdk._internal.transport.subprocess_cli import SubprocessCLITransport
from claude_agent_sdk._internal.transport.subprocess_cli import SubprocessCLITransport
def create_mock_transport(with_init_response=True):
@@ -115,7 +115,7 @@ class TestClaudeSDKClientStreaming:
async def _test():
with patch(
"claude_code_sdk._internal.transport.subprocess_cli.SubprocessCLITransport"
"claude_agent_sdk._internal.transport.subprocess_cli.SubprocessCLITransport"
) as mock_transport_class:
mock_transport = create_mock_transport()
mock_transport_class.return_value = mock_transport
@@ -135,7 +135,7 @@ class TestClaudeSDKClientStreaming:
async def _test():
with patch(
"claude_code_sdk._internal.transport.subprocess_cli.SubprocessCLITransport"
"claude_agent_sdk._internal.transport.subprocess_cli.SubprocessCLITransport"
) as mock_transport_class:
mock_transport = create_mock_transport()
mock_transport_class.return_value = mock_transport
@@ -159,7 +159,7 @@ class TestClaudeSDKClientStreaming:
async def _test():
with patch(
"claude_code_sdk._internal.transport.subprocess_cli.SubprocessCLITransport"
"claude_agent_sdk._internal.transport.subprocess_cli.SubprocessCLITransport"
) as mock_transport_class:
mock_transport = create_mock_transport()
mock_transport_class.return_value = mock_transport
@@ -178,7 +178,7 @@ class TestClaudeSDKClientStreaming:
async def _test():
with patch(
"claude_code_sdk._internal.transport.subprocess_cli.SubprocessCLITransport"
"claude_agent_sdk._internal.transport.subprocess_cli.SubprocessCLITransport"
) as mock_transport_class:
mock_transport = create_mock_transport()
mock_transport_class.return_value = mock_transport
@@ -206,7 +206,7 @@ class TestClaudeSDKClientStreaming:
async def _test():
with patch(
"claude_code_sdk._internal.transport.subprocess_cli.SubprocessCLITransport"
"claude_agent_sdk._internal.transport.subprocess_cli.SubprocessCLITransport"
) as mock_transport_class:
mock_transport = create_mock_transport()
mock_transport_class.return_value = mock_transport
@@ -240,7 +240,7 @@ class TestClaudeSDKClientStreaming:
async def _test():
with patch(
"claude_code_sdk._internal.transport.subprocess_cli.SubprocessCLITransport"
"claude_agent_sdk._internal.transport.subprocess_cli.SubprocessCLITransport"
) as mock_transport_class:
mock_transport = create_mock_transport()
mock_transport_class.return_value = mock_transport
@@ -279,7 +279,7 @@ class TestClaudeSDKClientStreaming:
async def _test():
with patch(
"claude_code_sdk._internal.transport.subprocess_cli.SubprocessCLITransport"
"claude_agent_sdk._internal.transport.subprocess_cli.SubprocessCLITransport"
) as mock_transport_class:
mock_transport = create_mock_transport()
mock_transport_class.return_value = mock_transport
@@ -348,7 +348,7 @@ class TestClaudeSDKClientStreaming:
async def _test():
with patch(
"claude_code_sdk._internal.transport.subprocess_cli.SubprocessCLITransport"
"claude_agent_sdk._internal.transport.subprocess_cli.SubprocessCLITransport"
) as mock_transport_class:
mock_transport = create_mock_transport()
mock_transport_class.return_value = mock_transport
@@ -430,7 +430,7 @@ class TestClaudeSDKClientStreaming:
async def _test():
with patch(
"claude_code_sdk._internal.transport.subprocess_cli.SubprocessCLITransport"
"claude_agent_sdk._internal.transport.subprocess_cli.SubprocessCLITransport"
) as mock_transport_class:
mock_transport = create_mock_transport()
mock_transport_class.return_value = mock_transport
@@ -478,7 +478,7 @@ class TestClaudeSDKClientStreaming:
)
with patch(
"claude_code_sdk._internal.transport.subprocess_cli.SubprocessCLITransport"
"claude_agent_sdk._internal.transport.subprocess_cli.SubprocessCLITransport"
) as mock_transport_class:
mock_transport = create_mock_transport()
mock_transport_class.return_value = mock_transport
@@ -497,7 +497,7 @@ class TestClaudeSDKClientStreaming:
async def _test():
with patch(
"claude_code_sdk._internal.transport.subprocess_cli.SubprocessCLITransport"
"claude_agent_sdk._internal.transport.subprocess_cli.SubprocessCLITransport"
) as mock_transport_class:
mock_transport = create_mock_transport()
mock_transport_class.return_value = mock_transport
@@ -699,7 +699,7 @@ class TestClaudeSDKClientEdgeCases:
async def _test():
with patch(
"claude_code_sdk._internal.transport.subprocess_cli.SubprocessCLITransport"
"claude_agent_sdk._internal.transport.subprocess_cli.SubprocessCLITransport"
) as mock_transport_class:
# Create a new mock transport for each call
mock_transport_class.side_effect = [
@@ -732,7 +732,7 @@ class TestClaudeSDKClientEdgeCases:
async def _test():
with patch(
"claude_code_sdk._internal.transport.subprocess_cli.SubprocessCLITransport"
"claude_agent_sdk._internal.transport.subprocess_cli.SubprocessCLITransport"
) as mock_transport_class:
mock_transport = create_mock_transport()
mock_transport_class.return_value = mock_transport
@@ -751,7 +751,7 @@ class TestClaudeSDKClientEdgeCases:
async def _test():
with patch(
"claude_code_sdk._internal.transport.subprocess_cli.SubprocessCLITransport"
"claude_agent_sdk._internal.transport.subprocess_cli.SubprocessCLITransport"
) as mock_transport_class:
mock_transport = create_mock_transport()
mock_transport_class.return_value = mock_transport

View File

@@ -8,12 +8,12 @@ from unittest.mock import AsyncMock, MagicMock
import anyio
import pytest
from claude_code_sdk._errors import CLIJSONDecodeError
from claude_code_sdk._internal.transport.subprocess_cli import (
from claude_agent_sdk._errors import CLIJSONDecodeError
from claude_agent_sdk._internal.transport.subprocess_cli import (
_MAX_BUFFER_SIZE,
SubprocessCLITransport,
)
from claude_code_sdk.types import ClaudeAgentOptions
from claude_agent_sdk.types import ClaudeAgentOptions
class MockTextReceiveStream:

View File

@@ -2,7 +2,7 @@
import pytest
from claude_code_sdk import (
from claude_agent_sdk import (
ClaudeAgentOptions,
HookContext,
HookMatcher,
@@ -10,8 +10,8 @@ from claude_code_sdk import (
PermissionResultDeny,
ToolPermissionContext,
)
from claude_code_sdk._internal.query import Query
from claude_code_sdk._internal.transport import Transport
from claude_agent_sdk._internal.query import Query
from claude_agent_sdk._internal.transport import Transport
class MockTransport(Transport):

View File

@@ -7,8 +7,8 @@ from unittest.mock import AsyncMock, MagicMock, patch
import anyio
import pytest
from claude_code_sdk._internal.transport.subprocess_cli import SubprocessCLITransport
from claude_code_sdk.types import ClaudeAgentOptions
from claude_agent_sdk._internal.transport.subprocess_cli import SubprocessCLITransport
from claude_agent_sdk.types import ClaudeAgentOptions
class TestSubprocessCLITransport:
@@ -16,7 +16,7 @@ class TestSubprocessCLITransport:
def test_find_cli_not_found(self):
"""Test CLI not found error."""
from claude_code_sdk._errors import CLINotFoundError
from claude_agent_sdk._errors import CLINotFoundError
with (
patch("shutil.which", return_value=None),
@@ -207,7 +207,7 @@ class TestSubprocessCLITransport:
def test_connect_with_nonexistent_cwd(self):
"""Test that connect raises CLIConnectionError when cwd doesn't exist."""
from claude_code_sdk._errors import CLIConnectionError
from claude_agent_sdk._errors import CLIConnectionError
async def _test():
transport = SubprocessCLITransport(

View File

@@ -1,11 +1,11 @@
"""Tests for Claude SDK type definitions."""
from claude_code_sdk import (
from claude_agent_sdk import (
AssistantMessage,
ClaudeAgentOptions,
ResultMessage,
)
from claude_code_sdk.types import (
from claude_agent_sdk.types import (
TextBlock,
ThinkingBlock,
ToolResultBlock,