All Projects → andreax79 → airflow-code-editor

andreax79 / airflow-code-editor

Licence: Apache-2.0 License
A plugin for Apache Airflow that allows you to edit DAGs in browser

Programming Languages

javascript
184084 projects - #8 most used programming language
HTML
75241 projects
CSS
56736 projects
python
139335 projects - #7 most used programming language
Vue
7211 projects
shell
77523 projects
Makefile
30231 projects

Projects that are alternatives of or similar to airflow-code-editor

airflow-user-management-plugin
A plugin for Apache Airflow that allows you to manage the users that can login
Stars: ✭ 13 (-93.33%)
Mutual labels:  airflow, airflow-plugin, apache-airflow
Awesome Apache Airflow
Curated list of resources about Apache Airflow
Stars: ✭ 2,755 (+1312.82%)
Mutual labels:  airflow, apache-airflow
Airflow
Apache Airflow - A platform to programmatically author, schedule, and monitor workflows
Stars: ✭ 24,101 (+12259.49%)
Mutual labels:  airflow, apache-airflow
airflow multi dagrun
triggering a DAG run multiple times
Stars: ✭ 74 (-62.05%)
Mutual labels:  airflow, airflow-plugin
dbt-cloud-plugin
DBT Cloud Plugin for Airflow
Stars: ✭ 35 (-82.05%)
Mutual labels:  airflow, airflow-plugin
airflow-prometheus-exporter
Export Airflow metrics (from mysql) in prometheus format
Stars: ✭ 25 (-87.18%)
Mutual labels:  airflow, apache-airflow
kedro-airflow
Kedro-Airflow makes it easy to deploy Kedro projects to Airflow.
Stars: ✭ 121 (-37.95%)
Mutual labels:  airflow, airflow-plugin
pandora-plugin
Plugin offering views, operators, sensors, and more developed at Pandora Media.
Stars: ✭ 25 (-87.18%)
Mutual labels:  airflow-plugin, apache-airflow
viewflow
Viewflow is an Airflow-based framework that allows data scientists to create data models without writing Airflow code.
Stars: ✭ 110 (-43.59%)
Mutual labels:  airflow, apache-airflow
fairflow
Functional Airflow DAG definitions.
Stars: ✭ 38 (-80.51%)
Mutual labels:  airflow, apache-airflow
airflow-boilerplate
A complete development environment setup for working with Airflow
Stars: ✭ 94 (-51.79%)
Mutual labels:  airflow, apache-airflow
airflow-client-python
Apache Airflow - OpenApi Client for Python
Stars: ✭ 172 (-11.79%)
Mutual labels:  airflow, apache-airflow
openverse-catalog
Identifies and collects data on cc-licensed content across web crawl data and public apis.
Stars: ✭ 27 (-86.15%)
Mutual labels:  airflow, apache-airflow
aircal
Visualize Airflow's schedule by exporting future DAG runs as events to Google Calendar.
Stars: ✭ 66 (-66.15%)
Mutual labels:  airflow
incubator-liminal
Apache Liminals goal is to operationalise the machine learning process, allowing data scientists to quickly transition from a successful experiment to an automated pipeline of model training, validation, deployment and inference in production. Liminal provides a Domain Specific Language to build ML workflows on top of Apache Airflow.
Stars: ✭ 117 (-40%)
Mutual labels:  airflow
airflow-dbt
Apache Airflow integration for dbt
Stars: ✭ 233 (+19.49%)
Mutual labels:  airflow
ml-in-production
The practical use-cases of how to make your Machine Learning Pipelines robust and reliable using Apache Airflow.
Stars: ✭ 29 (-85.13%)
Mutual labels:  apache-airflow
airflow-ci
Apache Airflow CI pipeline
Stars: ✭ 18 (-90.77%)
Mutual labels:  airflow
opentrials-airflow
Configuration and definitions of Airflow for OpenTrials
Stars: ✭ 18 (-90.77%)
Mutual labels:  airflow
torchx
TorchX is a universal job launcher for PyTorch applications. TorchX is designed to have fast iteration time for training/research and support for E2E production ML pipelines when you're ready.
Stars: ✭ 165 (-15.38%)
Mutual labels:  airflow

Airflow Code Editor Plugin

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.

Build Status PyPI version PyPI Downloads Code style: black

System Requirements

  • Airflow Versions
    • 1.10.3 or newer
  • git Versions (git is not required if git support is disabled)
    • 2.0 or newer

Screenshots

File manager

Code editor

Git tags

Git workspace

Install Instructions

  1. Install the plugin
  pip install airflow-code-editor
  1. (Optional) Install Black Python code formatter.
  pip install black
  1. Restart the Airflow Web Server

  2. Open Admin - DAGs Code Editor

Config Options

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.

  • enabled enable this plugin (default: True).
  • git_enabled enable git support (default: True). If git is not installed, disable this option.
  • git_cmd git command (path)
  • git_default_args git arguments added to each call (default: -c color.ui=true)
  • git_author_name human-readable name in the author/committer (default logged user first and last names)
  • git_author_email email for the author/committer (default: logged user email)
  • git_init_repo initialize a git repo in DAGs folder (default: True)
  • root_directory root folder (default: Airflow DAGs folder)
  • mount_name, mount1_name, ... configure additional file folder name (mount point)
  • mount_path, mount1_path, ... configure additional file path
  • line_length Python code formatter - max line length (default: 88)
  • string_normalization Python code formatter - if true normalize string quotes and prefixes (default: False)

Example:

   [code_editor]
   enabled = True
   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:

  • AIRFLOW__CODE_EDITOR__ENABLED
  • AIRFLOW__CODE_EDITOR__GIT_ENABLED
  • AIRFLOW__CODE_EDITOR__GIT_CMD
  • AIRFLOW__CODE_EDITOR__GIT_DEFAULT_ARGS
  • AIRFLOW__CODE_EDITOR__GIT_AUTHOR_NAME
  • AIRFLOW__CODE_EDITOR__GIT_AUTHOR_EMAIL
  • AIRFLOW__CODE_EDITOR__GIT_INIT_REPO
  • AIRFLOW__CODE_EDITOR__ROOT_DIRECTORY
  • AIRFLOW__CODE_EDITOR__LINE_LENGTH
  • AIRFLOW__CODE_EDITOR__STRING_NORMALIZATION
  • AIRFLOW__CODE_EDITOR__MOUNT_NAME
  • AIRFLOW__CODE_EDITOR__MOUNT_PATH
  • AIRFLOW__CODE_EDITOR__MOUNT1_NAME, AIRFLOW__CODE_EDITOR__MOUNT2_NAME, ...
  • AIRFLOW__CODE_EDITOR__MOUNT1_PATH, AIRFLOW__CODE_EDITOR__MOUNT2_PATH, ...

Example:

   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'

Development Instructions

  1. Fork the repo

  2. Clone it on the local machine

  git clone https://github.com/andreax79/airflow-code-editor.git
  cd airflow-code-editor
  1. Create and activate virtualenv
  source ./scripts/activate.sh
  1. Make changes you need. Build npm package with:
  make npm-build
  1. You can start Airflow webserver or scheduler with these commands:
  make webserver
  make scheduler
  1. Run tests
  make test
  1. Commit and push changes
  git add .
  git commit
  git push
  1. Create pull request to the original repo

Links

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].