# PR Description 1. Removes `arcade config` CLI command and it's helper function. 2. Upon `arcade login`, if the user does not have an `arcade.env` file, then a templated environment file is created for the user. 3. Removed `EngineConfig` and all references to it. Since there is no longer an `EngineConfig`, this PR refactors the CLI to compute the engine URL based on the command-line flags that were provided. 4. Renamed `arcade.toml` to `credentials.yaml`. If a user is using `arcade.toml`, then we will display a deprecation message and then automatically migrate their `arcade.toml` to `credentials.yaml`. NOTE: Eventually this auto-migration support should be removed. 5. `arcade.env` is now an optional file 6. Make `arcade show` default to `https://api.arcade-ai.com/v1` instead of localhost. ------- ## Ensuring engine url is still computed correctly: I used the following matrix to ensure that the behavior has not changed after the refactor. This matrix is tested in `test_utils.py` DEFAULT_HOST = "api.arcade-ai.com" DEFAULT_PORT = None DEFAULT_FORCE_TLS = False DEFAULT_FORCE_NO_TLS = False | Command Line Arguments | Host | Port | Force TLS | Force No TLS | Main's URL | This PR's URL | |----------------------------------------|-----------------|---------------|-----------|--------------|-----------------------------------|-----------------------------------| | | DEFAULT_HOST | DEFAULT_PORT | False | False | https://api.arcade-ai.com/v1 | https://api.arcade-ai.com/v1 | | --host localhost | localhost | DEFAULT_PORT | False | False | http://localhost:9099/v1 | http://localhost:9099/v1 | | -p 9099 | DEFAULT_HOST | 9099 | False | False | https://api.arcade-ai.com:9099/v1 | https://api.arcade-ai.com:9099/v1 | | --host localhost -p 9099 | localhost | 9099 | False | False | http://localhost:9099/v1 | http://localhost:9099/v1 | | --tls | DEFAULT_HOST | DEFAULT_PORT | True | False | https://api.arcade-ai.com/v1 | https://api.arcade-ai.com/v1 | | --host localhost --tls | localhost | DEFAULT_PORT | True | False | https://localhost:9099/v1 | https://localhost:9099/v1 | | -p 9099 --tls | DEFAULT_HOST | 9099 | True | False | https://api.arcade-ai.com:9099/v1 | https://api.arcade-ai.com:9099/v1 | | --host localhost -p 9099 --tls | localhost | 9099 | True | False | https://localhost:9099/v1 | https://localhost:9099/v1 | | --no-tls | DEFAULT_HOST | DEFAULT_PORT | False | True | http://api.arcade-ai.com/v1 | http://api.arcade-ai.com/v1 | | --host localhost --no-tls | localhost | DEFAULT_PORT | False | True | http://localhost:9099/v1 | http://localhost:9099/v1 | | -p 9099 --no-tls | DEFAULT_HOST | 9099 | False | True | http://api.arcade-ai.com:9099/v1 | http://api.arcade-ai.com:9099/v1 | | --host localhost -p 9099 --no-tls | localhost | 9099 | False | True | http://localhost:9099/v1 | http://localhost:9099/v1 | | --tls --no-tls | DEFAULT_HOST | DEFAULT_PORT | True | True | http://api.arcade-ai.com/v1 | http://api.arcade-ai.com/v1 | | --host localhost --tls --no-tls | localhost | DEFAULT_PORT | True | True | http://localhost:9099/v1 | http://localhost:9099/v1 | | -p 9099 --tls --no-tls | DEFAULT_HOST | 9099 | True | True | http://api.arcade-ai.com:9099/v1 | http://api.arcade-ai.com:9099/v1 | | --host localhost -p 9099 --tls --no-tls| localhost | 9099 | True | True | http://localhost:9099/v1 | http://localhost:9099/v1 | | --host arandomhost.com | arandomhost.com | DEFAULT_PORT | False | False | https://arandomhost.com/v1 | https://arandomhost.com/v1 |
81 lines
2.2 KiB
TOML
81 lines
2.2 KiB
TOML
[tool.poetry]
|
|
name = "arcade-ai"
|
|
version = "0.1.0"
|
|
description = ""
|
|
packages = [
|
|
{include="arcade", from="."}
|
|
]
|
|
authors = ["Arcade AI <dev@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
|
|
arcadepy = "~0.1.1"
|
|
pyjwt = "^2.8.0"
|
|
loguru = "^0.7.0"
|
|
types-python-dateutil = "2.9.0.20241003"
|
|
types-pytz = "2024.2.0.20241003"
|
|
opentelemetry-instrumentation-fastapi = {version = "0.48b0", optional = true}
|
|
opentelemetry-exporter-otlp-proto-http = {version = "1.27.0", optional = true}
|
|
opentelemetry-exporter-otlp-proto-common = {version = "1.27.0", optional = true}
|
|
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}
|
|
pytz = {version = "^2024.1", optional = true}
|
|
python-dateutil = {version = "^2.8.2", optional = true}
|
|
|
|
[tool.poetry.extras]
|
|
fastapi = ["fastapi", "uvicorn", "opentelemetry-instrumentation-fastapi", "opentelemetry-exporter-otlp-proto-http", "opentelemetry-exporter-otlp-proto-common"]
|
|
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-toml = "^0.10.8"
|
|
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"]
|
|
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
|