1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "claude-py"
version = "0.2.1"
description = "Python SDK for Claude API with streaming support - reverse engineered from Claude Code CLI"
authors = [{name = "Claude Code Analysis"}]
readme = "README.md"
requires-python = ">=3.10"
dependencies = [
"httpx[http2]>=0.27.0",
"pydantic>=2.0.0",
"httpx-sse>=0.4.0",
]
[dependency-groups]
dev = [
"pytest>=7.0.0",
"pytest-asyncio>=0.21.0",
"ruff>=0.9.0",
"mypy>=1.14.0",
]
[project.scripts]
claude-py = "claude.cli:main"
[tool.hatch.build.targets.wheel]
packages = ["src/claude"]
[tool.ruff]
src = ["src", "test"]
line-length = 100
[tool.ruff.lint]
select = ["E", "W", "F", "I", "B", "C4", "UP"]
ignore = ["E501"]
[tool.ruff.format]
quote-style = "double"
indent-style = "space"
[tool.mypy]
python_version = "3.10"
check_untyped_defs = true
no_implicit_optional = true
[[tool.mypy.overrides]]
module = ["httpx_sse.*"]
ignore_missing_imports = true
|