[tool.poetry] name = "arcade-ai" version = "1.1.0" description = "Arcade Python SDK and CLI" readme = "README.md" packages = [ {include="arcade", from="."} ] authors = ["Arcade "] [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" typer = ">=0.10.0" rich = "^13.7.1" Jinja2 = ">=3.1.5,<4.0.0" pyyaml = "^6.0" openai = "^1.36.0" # TODO: relax to an earlier version that still has what we need arcadepy = "^1.3.1" pyjwt = "^2.8.0" loguru = "^0.7.0" tqdm = "^4.1.0" toml = "^0.10.2" packaging = "^24.1" types-python-dateutil = "2.9.0.20241003" types-pytz = "2024.2.0.20241003" types-toml = "0.10.8.20240310" opentelemetry-instrumentation-fastapi = "0.48b0" opentelemetry-exporter-otlp-proto-http = "1.27.0" opentelemetry-exporter-otlp-proto-common = "1.27.0" fastapi = "^0.115.3" uvicorn = "^0.30.0" scipy = {version = "^1.14.0", optional = true} numpy = {version = "^2.0.0", optional = true} scikit-learn = {version = "^1.5.0", optional = true} pytz = {version = "^2024.1", optional = true} python-dateutil = {version = "^2.8.2", optional = true} watchfiles = "^1.0.5" pyreadline3 = {version = "^3.5.4", platform = "win32"} [tool.poetry.extras] evals = ["scipy", "numpy", "scikit-learn", "pytz", "python-dateutil"] [tool.poetry.group.dev.dependencies] pytest = "^8.1.2" pytest-cov = "^4.0.0" mypy = "^1.5.1" pre-commit = "^3.4.0" tox = "^4.11.1" pytest-asyncio = "^0.23.7" types-pytz = "^2024.1" types-python-dateutil = "^2.8.2" types-PyYAML = "^6.0.0" poetry-plugin-export = "^1.7.0" [tool.poetry.scripts] arcade = "arcade.cli.main:cli" [tool.mypy] files = ["arcade"] exclude = "arcade/templates" python_version = "3.10" 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" ignore_missing_imports = "True" [tool.pytest.ini_options] testpaths = ["tests"] [tool.coverage.run] branch = true source = ["arcade"] omit = ["arcade/cli/*"] [tool.coverage.report] skip_empty = true