Skip to main content

A custom Apache Airflow plugin to integrate a React UI

Project description

Apache Airflow Drag-and-Drop Plugin 🚀

The Apache Airflow Drag-and-Drop Plugin enhances the Apache Airflow UI by allowing users to create and manage workflows using a drag-and-drop interface. This plugin simplifies the process of creating DAGs (Directed Acyclic Graphs) by providing an intuitive visual interface. 🎉

Features ✨

Drag-and-Drop Interface – Easily create and modify DAGs visually. ✅ Predefined Templates – Use templates for common workflows. ✅ Custom Operators – Extend the palette with custom operators. ✅ Real-Time Validation – Validate workflows before deployment. ✅ Export DAG Code – Save workflows as .py file.


Installation 🛠️

🔹 For Non-Dockerized Airflow Setup

1️⃣ Install the Plugin via pip:

pip install apache-airflow-dragdrop-plugin

2️⃣ Restart Airflow Services:

airflow webserver --reload
airflow scheduler --daemon

3️⃣ Access the Plugin:

Open the Airflow UI and navigate to the "Drag-and-Drop" tab.


🐳 For Dockerized Airflow Setup

Option 1️⃣: Add the Plugin to requirements.txt

  1. Add the following line to your requirements.txt file:
    apache-airflow-dragdrop-plugin
    
  2. Rebuild your Docker image:
    docker-compose build -t your-image-name
    
  3. Restart your Docker containers:
    docker-compose up -d
    

Option 2️⃣: Install the Plugin Directly Inside the Running Container

  1. Install the plugin inside the running Airflow container:
    docker exec -it <container_id> pip install apache-airflow-dragdrop-plugin
    
  2. Restart the Airflow webserver and scheduler inside the container:
    docker exec -it <container_id> airflow webserver --reload
    docker exec -it <container_id> airflow scheduler --daemon
    
  3. If needed, restart the container:
    docker restart <container_id>
    

Usage 🖥️

🚀 Creating a New Workflow

1️⃣ Open the Drag-and-Drop Interface : Navigate to the "Drag-and-Drop" tab in the Airflow UI. 

2️⃣ Add Nodes : Drag operators onto the canvas and connect them. 

3️⃣ Configure Nodes : Click on each node to set its properties. 

4️⃣ Validate and Save : Ensure your workflow is error-free and save it as a DAG.

🔄 Exporting and Importing Workflows

  • Export: Click "Export" to save your DAG as a Python file.

Contributing 🤝

We welcome contributions! Follow these steps: 1️⃣ Fork the repository 2️⃣ Create a new branch for your feature or bugfix. 3️⃣ Submit a pull request with a detailed description.


License 📜

This project is licensed under the Apache License 2.0. See the LICENSE file for details.

Support 🆘

If you encounter any issues or have questions, please open an issue on our GitHub repository.

Acknowledgments 🙏

Special thanks to the Apache Airflow community for their support and inspiration.


🌎 Connect with Us

akshay.thakare031@gmail.com https://www.linkedin.com/in/akshaythakare3


🚀 Happy Workflow Building! 🚀

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

apache_airflow_dragdrop_plugin-1.1.1.tar.gz (7.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file apache_airflow_dragdrop_plugin-1.1.1.tar.gz.

File metadata

File hashes

Hashes for apache_airflow_dragdrop_plugin-1.1.1.tar.gz
Algorithm Hash digest
SHA256 a0447cc62527f208699d06a3cccfdd8b79268b3573c8c26906bb0a806ca93ae3
MD5 284a45758b423f75c20d0a39ce28aa0b
BLAKE2b-256 4e0099a0ebb48ab56410f73e7889311fbe7cd6e866aa5048e69def583a901fb4

See more details on using hashes here.

File details

Details for the file apache_airflow_dragdrop_plugin-1.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for apache_airflow_dragdrop_plugin-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d27a778a040fdfc190b4bf577f6bba21222443356888c29c56e5ad4c7f5df21a
MD5 8492de7de32f932c22eaf9fcaf780cb5
BLAKE2b-256 d1f0a84393028858ebd9a05e52715a8c3370fc8f585778593766e54b04e47fb3

See more details on using hashes here.

Supported by

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