Skip to content

AutoAir 0.2.1

Choose a tag to compare

@github-actions github-actions released this 22 Oct 06:13
· 7 commits to main since this release

Fixed

  • Deploy target dialog: object storage targets can be chosen like git and local ones. Airflow's
    S3DagBundle and GCSDagBundle entries are discovered, and an object storage prefix can be
    entered by hand (fsspec URL plus optional non-secret storage options; credentials still come
    from the server environment or AUTOAIR_STORAGE__STORAGE_OPTIONS). Before, switching to
    object storage was possible only through the API. storage.allowed_targets still applies.
  • Container image: pip check passes again. The Airflow base image ships litellm (an optional
    dependency of Vertex AI evaluation), which pins openai<3, while autoair[ai-openai] needs
    openai>=3. The image now removes litellm, which AutoAir does not use, and the build and
    the CI smoke test run pip check. Vertex AI evaluation with third-party judge models needs
    litellm and is not available in this image.
  • ai.llm_conn_id finds connections stored in the Airflow metadata database again. Outside a
    task the Task SDK's BaseHook.get_connection does not read the metadata DB, so on Airflow
    3.1+ the plugin, autoair serve and autoair ai-serve reported "conn_id isn't defined" for
    connections created in the Airflow UI or CLI. All connection lookups (LLM, git, knowledge
    base, validator key) now share one helper that checks env vars, the configured secrets
    backend and the metadata DB first, then the Task SDK. The
    AIRFLOW__SECRETS__BACKEND=airflow.secrets.metastore.MetastoreBackend workaround is no
    longer needed.
  • Python DAG import (import dialog, code mode, bulk import, MCP import_python_dag) keeps the
    python_callable of classic PythonOperator, BranchPythonOperator,
    ShortCircuitOperator and PythonSensor tasks (and other callable operator arguments).
    Before, the callable was dropped and the deploy failed with "python_callable missing". A
    function defined in the DAG file becomes an inline function (its source without decorators,
    with the file's imports it uses), a function imported from another module an import
    reference; a lambda, a functools.partial or a function that uses other names of the file
    is reported in the import warnings. Source-preserving deploys of such files compare these
    functions as code, so a canvas change is patched into the file instead of being refused.

Install: pip install autoair==0.2.1 ·
Image: ghcr.io/ctolon/autoair:0.2.1