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.3.tar.gz (117.9 kB view details)

Uploaded Source

Built Distribution

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

apache_airflow_dragdrop_plugin-1.1.3-py3-none-any.whl (117.1 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for apache_airflow_dragdrop_plugin-1.1.3.tar.gz
Algorithm Hash digest
SHA256 1ffd14f8ca4ed5dc9ce411f182d567a4c0e411a8c48b717ab9d3db5c536391c6
MD5 09bdcd391b6f4671bbdb677439b031f6
BLAKE2b-256 30c778072160d5aa22a248d9480061dbf5da85ca79f94ca1c26baa6d7d68724e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for apache_airflow_dragdrop_plugin-1.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 b679c56fec12e6ec9528eaff6614b6f21ac59253350dd684e809b29166f5833e
MD5 71b4194c2d47fdf02f4eaf80a7ab1a83
BLAKE2b-256 024c42307e76c48305d345ef81075d369999d036e93b804ab0291dc92620628f

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