128 lines
3.0 KiB
TOML
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" }
|