# Address Alpha Release Tweaks and Bugs This PR addresses several issues and tweaks identified during the alpha release: - **Ensure `~/.arcade` directory exists before writing the config file** In `arcade/cli/authn.py`, added code to create the `~/.arcade` directory if it doesn't exist. This prevents errors when writing the configuration file during the login process. - **Fix retry logic in process management** In `arcade/cli/launcher.py`, corrected an off-by-one error in the retry logic within the `_manage_processes` function. This ensures that the process management behaves as expected when retries are exhausted. - **Allow passing environment variables to the engine process** (technically this option isn't exposed yet) Updated the `start_servers`, `_manage_processes`, and `_start_process` functions in `arcade/cli/launcher.py` to accept an `engine_env` parameter. This allows custom environment variables to be set for the engine process. Also, set `GIN_MODE` to `"release"` by default. - **Handle cases with no critics in evaluations** Modified the `EvalCase` class in `arcade/sdk/eval/eval.py` to handle scenarios where no critics are provided. This avoids potential errors during the evaluation process when critics are absent. Should add a test for this. - **Adjust dependencies in `pyproject.toml`** - Moved `uvicorn` to be an optional dependency and included it in the `fastapi` extra. - Removed unnecessary development dependencies (`mkdocs`, `mkdocs-material`, `mkdocstrings`). - Ensured that `uvicorn` is updated to version `^0.30.0`. --------- Co-authored-by: Nate Barbettini <nate@arcade-ai.com>
128 lines
2.4 KiB
TOML
128 lines
2.4 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"
|
|
typer = "^0.9.0"
|
|
rich = "^13.7.1"
|
|
toml = "^0.10.2"
|
|
tomlkit = "^0.12.4"
|
|
openai = "^1.36.0" # TODO: relax to an earlier version that still has what we need
|
|
pyjwt = "^2.8.0"
|
|
loguru = "^0.7.0"
|
|
fastapi = {version = "^0.110.0", optional = true}
|
|
uvicorn = {version = "^0.30.0", optional = true}
|
|
scipy = {version = "^1.14.0", optional = true}
|
|
numpy = {version = "^2.0.0", optional = true}
|
|
scikit-learn = {version = "^1.5.0", optional = true}
|
|
|
|
[tool.poetry.extras]
|
|
fastapi = ["fastapi", "uvicorn"]
|
|
evals = ["scipy", "numpy", "scikit-learn"]
|
|
|
|
[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-toml = "^0.10.8"
|
|
|
|
|
|
[tool.poetry.scripts]
|
|
arcade = "arcade.cli.main:cli"
|
|
|
|
[tool.mypy]
|
|
files = ["arcade"]
|
|
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.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",
|
|
# subprocess.Popen
|
|
"S603",
|
|
]
|
|
|
|
[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"]
|