A plugin for Apache Airflow that allows you to edit DAGs in browser. It provides a file managing interface within specified directories and it can be used to edit, upload, and download your files. If git support is enabled, the DAGs are stored in a Git repository. You may use it to view Git history, review local changes and commit.
Install the plugin
pip install airflow-code-editor
(Optional) Install Black Python code formatter.
pip install black
Restart the Airflow Web Server
Open Admin - DAGs Code Editor
You can set options editing the Airflow's configuration file or setting environment variables. You can edit your airflow.cfg adding any of the following settings in the [code_editor] section. All the settings are optional.
[code_editor] git_enabled = True git_cmd = /usr/bin/git git_default_args = -c color.ui=true git_init_repo = False root_directory = /home/airflow/dags line_length = 88 string_normalization = False mount_name = data mount_path = /home/airflow/data mount1_name = logs mount1_path = /home/airflow/logs
You can also set options with the following environment variables:
export AIRFLOW__CODE_EDITOR__STRING_NORMALIZATION=True export AIRFLOW__CODE_EDITOR__MOUNT_NAME='data' export AIRFLOW__CODE_EDITOR__MOUNT_PATH=/home/airflow/data export AIRFLOW__CODE_EDITOR__MOUNT1_NAME='logs' export AIRFLOW__CODE_EDITOR__MOUNT1_PATH=/home/airflow/logs export AIRFLOW__CODE_EDITOR__MOUNT2_NAME='tmp' export AIRFLOW__CODE_EDITOR__MOUNT2_PATH='/tmp
Fork the repo
Clone it on the local machine
git clone https://github.com/andreax79/airflow-code-editor.git cd airflow-code-editor
Create and activate virtualenv
Make changes you need. Build npm package with:
You can start Airflow webserver or scheduler with these commands:
make webserver make scheduler
Commit and push changes
git add . git commit git push
Create pull request to the original repo