Files
2026-01-11 12:05:37 +09:00

128 lines
3.0 KiB
TOML

[project]
name = "deepagents-cli"
version = "0.0.12"
description = "Deepagents CLI"
readme = "README.md"
license = { text = "MIT" }
requires-python = ">=3.11,<4.0"
dependencies = [
"deepagents==0.2.8,<1.0.0",
"langchain>=1.2.3,<2.0.0",
"langchain-openai>=1.1.7,<2.0.0",
"langgraph-checkpoint-sqlite>=2.0.0,<3.0.0",
"requests",
"rich>=13.0.0",
"prompt-toolkit>=3.0.52",
"tavily-python",
"python-dotenv",
"daytona>=0.113.0",
"modal>=0.65.0",
"markdownify>=0.13.0",
"runloop-api-client>=0.69.0",
"pillow>=10.0.0",
"pyyaml>=6.0",
"textual>=1.0.0",
"textual-autocomplete>=3.0.0",
"aiosqlite>=0.19.0",
]
[project.scripts]
deepagents = "deepagents_cli:cli_main"
deepagents-cli = "deepagents_cli:cli_main"
[dependency-groups]
test = [
"pytest>=8.3.4",
"pytest-asyncio>=0.25.3",
"pytest-cov>=6.0.0",
"pytest-mock>=3.14.0",
"pytest-socket>=0.7.0",
"pytest-timeout>=2.3.1",
"responses>=0.25.0",
"ruff>=0.9.7",
]
dev = [
"pytest",
"pytest-cov",
"build",
"twine",
"langchain-openai",
"pytest-timeout>=2.4.0",
"pytest-socket>=0.7.0",
"pytest-asyncio>=1.2.0",
]
lint = [
"ruff",
"mypy"
]
[build-system]
requires = ["setuptools>=73.0.0", "wheel"]
build-backend = "setuptools.build_meta"
[tool.setuptools.package-data]
deepagents_cli = ["default_agent_prompt.md"]
[tool.ruff]
line-length = 100
exclude = []
[tool.ruff.format]
docstring-code-format = true # Formats code blocks in docstrings
[tool.ruff.lint]
select = [
"ALL" # Enable all rules by default
]
ignore = [
"COM812", # Messes with the formatter
"ISC001", # Messes with the formatter
"PERF203", # Rarely useful
"SLF001", # Private member access
"PLC0415", # Imports should be at the top. Not always desirable
"PLR0913", # Too many arguments in function definition
"PLC0414", # Inconsistent with how type checkers expect to be notified of intentional re-exports
"C901", # Too complex
]
unfixable = ["B028"] # Rules that shouldn't be auto-fixed
[tool.ruff.lint.pyupgrade]
keep-runtime-typing = true
[tool.ruff.lint.flake8-annotations]
allow-star-arg-any = true
[tool.ruff.lint.pydocstyle]
convention = "google" # Google-style docstrings
ignore-var-parameters = true
[tool.ruff.lint.per-file-ignores]
"deepagents_cli/cli.py" = [
"T201", # Allow print statements in CLI
]
"tests/*" = [
"D1", # Skip documentation rules in tests
"S101", # Allow asserts in tests
"S311", # Allow pseudo-random generators in tests
"ANN201", # Missing return type annotation
"INP001", # Implicit namespace package
"PLR2004", # Magic value comparisons are fine in tests
]
[tool.pytest.ini_options]
timeout = 10 # Default timeout for all tests (can be overridden per-test)
[tool.mypy]
strict = true
ignore_missing_imports = true
enable_error_code = ["deprecated"]
# Optional: reduce strictness if needed
disallow_any_generics = false
warn_return_any = false
[tool.uv.sources]
deepagents = { path = "../deepagents" }