Skip to main content

Apache Airflow code editor and file manager

Project description

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 edit your airflow.cfg adding any of the following settings in the [code_editor] section. All the settings are optional.

  • 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 configure additional file folder name (mount point)
  • mount_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]
   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

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. You can start Airflow with this command:
  ./scripts/airflow.sh
  1. Run tests
  ./scripts/tests.sh
  1. Commit and push changes
  git add .
  git commit
  git push
  1. Create pull request to the original repo

Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

airflow_code_editor-5.0.0.tar.gz (1.5 MB view details)

Uploaded Source

Built Distribution

airflow_code_editor-5.0.0-py3-none-any.whl (1.8 MB view details)

Uploaded Python 3

File details

Details for the file airflow_code_editor-5.0.0.tar.gz.

File metadata

  • Download URL: airflow_code_editor-5.0.0.tar.gz
  • Upload date:
  • Size: 1.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.1 requests/2.25.1 setuptools/57.4.0 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.6.14

File hashes

Hashes for airflow_code_editor-5.0.0.tar.gz
Algorithm Hash digest
SHA256 ca6eb11677cad6743be99857c41abfdab4495d544d0370003025b85494a7e33c
MD5 aec7fb15d4d53671dd17fd6c7ce973f8
BLAKE2b-256 4f3a8d2a395fdc00181f2f2d6786357322a381d90de66d460b8671c8501f51cd

See more details on using hashes here.

File details

Details for the file airflow_code_editor-5.0.0-py3-none-any.whl.

File metadata

  • Download URL: airflow_code_editor-5.0.0-py3-none-any.whl
  • Upload date:
  • Size: 1.8 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.1 requests/2.25.1 setuptools/57.4.0 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.6.14

File hashes

Hashes for airflow_code_editor-5.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 01c8d1b07e89434d2a0ad61dc83a4217229c847f0092226264fb919c5b396dc3
MD5 d0ab5af3bcc49798fd329a33ade7b191
BLAKE2b-256 dc825d188e6d56abcb7a2a938c1be22de253d99ce5be2e316c7e69083157d9d2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page