Skip to content

Upgrading to 0.3

Versions 0.2.0 and 0.3.0 renamed the command, the import package, the configuration directory and every environment variable. If you used skyportalai 0.1.x or 0.2.x, or the older skyportal command, go through this page before you upgrade.

python -m pip install --upgrade skyportalai
skyportalai --version

What breaks

Before Now Since
skyportal, skyportal start, skyportal login, skyportal ask ... skyportalai, skyportalai start, skyportalai login, skyportalai ask ... 0.2.0
skyportal-agent skyportalai-agent 0.2.0
import skyportal import skyportalai 0.3.0
SKYPORTAL_API_KEY, SKYPORTAL_BASE_URL, SKYPORTAL_URL, SKYPORTAL_ACCESS_TOKEN, SKYPORTAL_ALLOW_INSECURE, SKYPORTAL_CONFIG_PATH, SKYPORTAL_CREDENTIALS_PATH The same names with SKYPORTALAI_ 0.3.0
Agent variables such as SKYPORTAL_AGENT_TOKEN SKYPORTALAI_AGENT_TOKEN and the other SKYPORTALAI_AGENT_* names 0.3.0
~/.skyportal/ ~/.skyportalai/ (moved for you, see below) 0.2.0

Old environment variables

Since 0.3.0 the SKYPORTAL_* names are ignored.

  • Base URL variables are an error. If SKYPORTAL_BASE_URL is still set and SKYPORTALAI_BASE_URL is not, the CLI stops with:

    SKYPORTAL_BASE_URL was removed in 0.3.0 and is ignored; set SKYPORTALAI_BASE_URL instead. Refusing to fall back to the default host, which would then receive your credentials.
    

    The SDK raises SkyportalError with the same message. A leftover SKYPORTAL_URL stops the CLI the same way when neither SKYPORTALAI_BASE_URL nor SKYPORTALAI_URL is set.

  • Other variables print a warning and are ignored, for example:

    SKYPORTAL_API_KEY was removed in 0.3.0 and is ignored; set SKYPORTALAI_API_KEY instead.
    

    The warning matters: with the key ignored, the SDK has no credential and the CLI is not authenticated.

To find what's left in your shell, CI secrets and container images:

env | grep '^SKYPORTAL_'

Configuration directory

The CLI keeps its files in ~/.skyportalai/: config.yaml, credentials.json, the input history and the last chat ID. If ~/.skyportalai doesn't exist and ~/.skyportal does, the CLI renames the old directory the first time it runs. If the rename fails, it keeps using ~/.skyportal and prints a warning so you can move it by hand.

Other changes to know about

  • Sign-in happens in the browser (0.2.2). skyportalai login shows a code and waits for you to confirm it. skyportalai login --token still lets you paste a key.
  • The access token wins. When both SKYPORTALAI_ACCESS_TOKEN and SKYPORTALAI_API_KEY are set, the CLI uses the access token (0.2.0).
  • Waiting has no default limit. chat send --wait, chat wait and the SDK's wait() wait until the chat settles unless you pass a timeout.
  • Auto-approve. If your account's approval mode is Auto-approve, those same calls approve commands and plans for you. See Approvals and safety.
  • The agent identifies itself as skyportalai-agent/<version> (0.3.0).
  • Higher minimum dependency versions (0.3.1): click 8.5.0, prompt-toolkit 3.0.53, pydantic 2.13.5 and, with the agent extra, wandb 0.30.0.

The full list of changes is in the release notes.