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.2.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.2.tar.gz.

File metadata

File hashes

Hashes for apache_airflow_dragdrop_plugin-1.1.2.tar.gz
Algorithm Hash digest
SHA256 b75a2ca610457185927a0ea1bb9f0a9957d0b7bf36c2c14d3093ca28100817dc
MD5 d8e483d2b509f3d3b61abc99027a230e
BLAKE2b-256 28f457e26edbfd834aae9807ea068245e4649b65a85dafa219b3a7f04c7ad7ec

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for apache_airflow_dragdrop_plugin-1.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 93c48171526f6d2514d44f8282e1b733917ad7388573d672b91eeafe215bdc72
MD5 0d7bd9a9009c408bb3e13a4419239d49
BLAKE2b-256 7b6b7af03a374e12c7d3172295170ab11f09c0234a90519e42f5dae37769f68e

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