Two new commands to the Arcade CLI: `arcade run` and `arcade chat`. These commands enhance the usability of the Arcade CLI by integrating language model capabilities for running tools and engaging in chat sessions. Users can now leverage LLMs directly from the command line
128 lines
2.3 KiB
TOML
128 lines
2.3 KiB
TOML
[tool.poetry]
|
|
name = "arcade-ai"
|
|
version = "0.1.0"
|
|
description = ""
|
|
packages = [
|
|
{include="arcade", from="."}
|
|
]
|
|
authors = ["Arcade AI <sam@arcade-ai.com>"]
|
|
|
|
[build-system]
|
|
requires = ["poetry-core>=1.0.0"]
|
|
build-backend = "poetry.core.masonry.api"
|
|
|
|
|
|
[tool.poetry.dependencies]
|
|
python = ">=3.10,<4.0"
|
|
pydantic = "^2.7.0"
|
|
pydantic-settings = "^2.2.1"
|
|
typer = "^0.9.0"
|
|
rich = "^13.7.1"
|
|
toml = "^0.10.2"
|
|
tomlkit = "^0.12.4"
|
|
requests = "^2.26.0" # TODO: is this really needed?
|
|
openai = "^1.36.0" # TODO: relax to an earlier version that still has what we need
|
|
pyjwt = "^2.8.0"
|
|
|
|
fastapi = { version = "^0.110.0", optional = true }
|
|
flask = { version = "^3.0.3", optional = true }
|
|
|
|
|
|
[tool.poetry.group.dev.dependencies]
|
|
pytest = "^8.1.1"
|
|
pytest-cov = "^4.0.0"
|
|
mypy = "^1.5.1"
|
|
pre-commit = "^3.4.0"
|
|
tox = "^4.11.1"
|
|
pytest-asyncio = "^0.23.7"
|
|
types-toml = "^0.10.8"
|
|
uvicorn = "^0.22.0"
|
|
mkdocs = ">=1.5.2"
|
|
mkdocs-material = ">=9.3.0"
|
|
mkdocstrings = {extras = ["python"], version = ">=0.23.1"}
|
|
|
|
[tool.poetry.extras]
|
|
fastapi = ["fastapi"]
|
|
flask = ["flask"]
|
|
|
|
|
|
[tool.poetry.scripts]
|
|
arcade = "arcade.cli.main:cli"
|
|
|
|
[tool.mypy]
|
|
files = ["arcade"]
|
|
disallow_untyped_defs = "True"
|
|
disallow_any_unimported = "True"
|
|
no_implicit_optional = "True"
|
|
check_untyped_defs = "True"
|
|
warn_return_any = "True"
|
|
warn_unused_ignores = "True"
|
|
show_error_codes = "True"
|
|
|
|
[tool.pytest.ini_options]
|
|
testpaths = ["tests"]
|
|
|
|
[tool.ruff]
|
|
target-version = "py39"
|
|
line-length = 100
|
|
fix = true
|
|
select = [
|
|
# flake8-2020
|
|
"YTT",
|
|
# flake8-bandit
|
|
"S",
|
|
# flake8-bugbear
|
|
"B",
|
|
# flake8-builtins
|
|
"A",
|
|
# flake8-comprehensions
|
|
"C4",
|
|
# flake8-debugger
|
|
"T10",
|
|
# flake8-simplify
|
|
"SIM",
|
|
# isort
|
|
"I",
|
|
# mccabe
|
|
"C90",
|
|
# pycodestyle
|
|
"E", "W",
|
|
# pyflakes
|
|
"F",
|
|
# pygrep-hooks
|
|
"PGH",
|
|
# pyupgrade
|
|
"UP",
|
|
# ruff
|
|
"RUF",
|
|
# tryceratops
|
|
"TRY",
|
|
]
|
|
ignore = [ # TODO work to remove these
|
|
# LineTooLong
|
|
"E501",
|
|
# DoNotAssignLambda
|
|
"E731",
|
|
# raise from (cli specific)
|
|
"TRY200",
|
|
# Depends function in arg string
|
|
"B008",
|
|
# raise from (cli specific)
|
|
"B904",
|
|
# long message exceptions
|
|
"TRY003"
|
|
]
|
|
|
|
[tool.ruff.format]
|
|
preview = true
|
|
|
|
[tool.coverage.report]
|
|
skip_empty = true
|
|
|
|
[tool.coverage.run]
|
|
branch = true
|
|
source = ["arcade"]
|
|
|
|
|
|
[tool.ruff.per-file-ignores]
|
|
"tests/*" = ["S101"]
|