Repository navigation
AutoAir 0.2.1
Fixed
- Deploy target dialog: object storage targets can be chosen like git and local ones. Airflow's
S3DagBundleandGCSDagBundleentries 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 orAUTOAIR_STORAGE__STORAGE_OPTIONS). Before, switching to
object storage was possible only through the API.storage.allowed_targetsstill applies. - Container image:
pip checkpasses again. The Airflow base image shipslitellm(an optional
dependency of Vertex AI evaluation), which pinsopenai<3, whileautoair[ai-openai]needs
openai>=3. The image now removeslitellm, which AutoAir does not use, and the build and
the CI smoke test runpip check. Vertex AI evaluation with third-party judge models needs
litellmand is not available in this image. ai.llm_conn_idfinds connections stored in the Airflow metadata database again. Outside a
task the Task SDK'sBaseHook.get_connectiondoes not read the metadata DB, so on Airflow
3.1+ the plugin,autoair serveandautoair ai-servereported "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.MetastoreBackendworkaround is no
longer needed.- Python DAG import (import dialog, code mode, bulk import, MCP
import_python_dag) keeps the
python_callableof classicPythonOperator,BranchPythonOperator,
ShortCircuitOperatorandPythonSensortasks (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, afunctools.partialor 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