| [tool.pytest.ini_options] |
| minversion = "6.0" |
| addopts = "-ra -q --strict-markers -p no:cacheprovider" |
| testpaths = [ |
| "tests", |
| ] |
| pythonpath = ["src"] |
| markers = [ |
| "slow: marks tests as slow (deselect with '-m \"not slow\"')", |
| "integration: marks tests as integration tests", |
| ] |
| |
| [build-system] |
| requires = ["setuptools>=61.0", "wheel"] |
| build-backend = "setuptools.build_meta" |
| |
| [project] |
| name = "claude-agent" |
| version = "1.0.0" |
| description = "基于ClaudeCodeSDK的智能命令行Agent工具" |
| readme = "README.md" |
| license = {file = "LICENSE"} |
| authors = [ |
| {name = "Claude Agent Team", email = "team@claude-agent.com"}, |
| ] |
| maintainers = [ |
| {name = "Claude Agent Team", email = "team@claude-agent.com"}, |
| ] |
| classifiers = [ |
| "Development Status :: 4 - Beta", |
| "Intended Audience :: Developers", |
| "License :: OSI Approved :: MIT License", |
| "Operating System :: OS Independent", |
| "Programming Language :: Python :: 3", |
| "Programming Language :: Python :: 3.9", |
| "Programming Language :: Python :: 3.10", |
| "Programming Language :: Python :: 3.11", |
| "Programming Language :: Python :: 3.12", |
| ] |
| requires-python = ">=3.9" |
| dependencies = [ |
| "claude-code-sdk>=0.0.20", |
| "rich>=14.0.0", |
| "click>=8.0.0", |
| "pydantic>=2.0.0", |
| "httpx>=0.25.0", |
| "mcp>=0.1.0", |
| ] |
| |
| [project.optional-dependencies] |
| dev = [ |
| "pytest>=7.0.0", |
| "pytest-asyncio>=0.21.0", |
| "pytest-mock>=3.10.0", |
| "black>=23.0.0", |
| "isort>=5.12.0", |
| "flake8>=6.0.0", |
| "mypy>=1.0.0", |
| ] |
| |
| [project.urls] |
| "Homepage" = "https://github.com/claude-agent/claude-agent" |
| "Repository" = "https://github.com/claude-agent/claude-agent.git" |
| "Bug Tracker" = "https://github.com/claude-agent/claude-agent/issues" |
| |
| [project.scripts] |
| claude-agent = "claude_agent.cli.interface:main" |
| |
| [tool.setuptools.packages.find] |
| where = ["."] |
| include = ["claude_agent*"] |
| exclude = ["tests*"] |
| |
| [tool.black] |
| line-length = 100 |
| target-version = ['py39', 'py310', 'py311', 'py312'] |
| include = '\.pyi?$' |
| extend-exclude = ''' |
| /( |
| # directories |
| \.eggs |
| | \.git |
| | \.hg |
| | \.mypy_cache |
| | \.tox |
| | \.venv |
| | build |
| | dist |
| )/ |
| ''' |
| |
| [tool.isort] |
| profile = "black" |
| multi_line_output = 3 |
| line_length = 100 |
| known_first_party = ["claude_agent"] |
| |
| [tool.mypy] |
| python_version = "3.9" |
| warn_return_any = true |
| warn_unused_configs = true |
| disallow_untyped_defs = true |
| disallow_incomplete_defs = true |
| check_untyped_defs = true |
| disallow_untyped_decorators = true |
| warn_redundant_casts = true |
| warn_unused_ignores = true |
| warn_no_return = true |
| warn_unreachable = true |
| strict_equality = true |
| |
| [[tool.mypy.overrides]] |
| module = "tests.*" |
| disallow_untyped_defs = false |