[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" }