Documentation Index
Fetch the complete documentation index at: https://agno-v2-shaloo-ai-support-link.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Example
The following agent will use Airflow to save and read a DAG file.
cookbook/14_tools/airflow_tools.py
from agno.agent import Agent
from agno.tools.airflow import AirflowTools
agent = Agent(
tools=[AirflowTools(dags_dir="dags", save_dag=True, read_dag=True)], markdown=True
)
dag_content = """
from airflow import DAG
from airflow.operators.python import PythonOperator
from datetime import datetime, timedelta
default_args = {
'owner': 'airflow',
'depends_on_past': False,
'start_date': datetime(2024, 1, 1),
'email_on_failure': False,
'email_on_retry': False,
'retries': 1,
'retry_delay': timedelta(minutes=5),
}
# Using 'schedule' instead of deprecated 'schedule_interval'
with DAG(
'example_dag',
default_args=default_args,
description='A simple example DAG',
schedule='@daily', # Changed from schedule_interval
catchup=False
) as dag:
def print_hello():
print("Hello from Airflow!")
return "Hello task completed"
task = PythonOperator(
task_id='hello_task',
python_callable=print_hello,
dag=dag,
)
"""
agent.run(f"Save this DAG file as 'example_dag.py': {dag_content}")
agent.print_response("Read the contents of 'example_dag.py'")
| Parameter | Type | Default | Description |
|---|
dags_dir | Path or str | None | Directory for DAG files |
enable_save_dag_file | bool | True | Enables functionality to save Airflow DAG files |
enable_read_dag_file | bool | True | Enables functionality to read Airflow DAG files |
all | bool | False | Enables all functionality when set to True |
| Function | Description |
|---|
save_dag_file | Saves python code for an Airflow DAG to a file |
read_dag_file | Reads an Airflow DAG file and returns the contents |
Developer Resources